Skip to content

Commit

Permalink
Bump apollo-server-lambda from 2.21.0 to 3.1.2 in /services/app-api (#…
Browse files Browse the repository at this point in the history
…310)

* Bump apollo-server-lambda from 2.21.0 to 3.1.2 in /services/app-api

Bumps [apollo-server-lambda](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-lambda) from 2.21.0 to 3.1.2.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-lambda@3.1.2/packages/apollo-server-lambda)

---
updated-dependencies:
- dependency-name: apollo-server-lambda
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* remove apollo-server-testing

* Fixup breaking changes for apollo-server

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: MacRae Linton <macrael@truss.works>
  • Loading branch information
dependabot[bot] and macrael committed Aug 23, 2021
1 parent c2b1c61 commit c65bc8b
Show file tree
Hide file tree
Showing 11 changed files with 642 additions and 669 deletions.
14 changes: 7 additions & 7 deletions services/app-api/handlers/apollo_gql.ts
Expand Up @@ -84,9 +84,6 @@ const context = async ({
const server = new ApolloServer({
typeDefs,
resolvers,
playground: {
endpoint: '/local/graphql',
},
context,
})

Expand All @@ -101,7 +98,8 @@ function localAuthMiddleware(
console.log('NO_USER info set, returning 403')
return Promise.resolve({
statusCode: 403,
body: '{ "error": "No User Sent in cognitoAuthenticationProvider header"}\n',
body:
'{ "error": "No User Sent in cognitoAuthenticationProvider header"}\n',
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true,
Expand All @@ -114,9 +112,11 @@ function localAuthMiddleware(
}

const gqlHandler = server.createHandler({
cors: {
origin: true,
credentials: true,
expressGetMiddlewareOptions: {
cors: {
origin: true,
credentials: true,
},
},
})

Expand Down
3 changes: 1 addition & 2 deletions services/app-api/package.json
Expand Up @@ -14,8 +14,7 @@
"@types/aws-lambda": "^8.10.71",
"@types/request": "^2.48.7",
"@types/uuid": "^8.3.1",
"apollo-server-lambda": "^2.21.0",
"apollo-server-testing": "^2.25.2",
"apollo-server-lambda": "^3.1.2",
"aws-sdk": "^2.966.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-jest": "^24.4.0",
Expand Down
15 changes: 5 additions & 10 deletions services/app-api/resolvers/createDraftSubmission.test.ts
@@ -1,5 +1,3 @@
import { createTestClient } from 'apollo-server-testing'

import { CreateDraftSubmissionInput } from '../gen/gqlServer'
import CREATE_DRAFT_SUBMISSION from '../../app-graphql/src/mutations/createDraftSubmission.graphql'
import { constructTestServer } from '../testHelpers/gqlHelpers'
Expand All @@ -8,21 +6,19 @@ describe('createDraftSubmission', () => {
it('returns draft submission payload with a draft submission', async () => {
const server = constructTestServer()

const { mutate } = createTestClient(server)

const input: CreateDraftSubmissionInput = {
programID: 'managed-medical-assistance',
submissionType: 'CONTRACT_ONLY',
submissionDescription: 'A real submission',
}
const res = await mutate({
mutation: CREATE_DRAFT_SUBMISSION,
const res = await server.executeOperation({
query: CREATE_DRAFT_SUBMISSION,
variables: { input },
})

expect(res.errors).toBeUndefined()

const draft = res.data.createDraftSubmission.draftSubmission
const draft = res.data?.createDraftSubmission.draftSubmission

expect(draft.submissionDescription).toBe('A real submission')
expect(draft.submissionType).toBe('CONTRACT_ONLY')
Expand All @@ -38,14 +34,13 @@ describe('createDraftSubmission', () => {

it('returns an error if the program id is not in valid', async () => {
const server = constructTestServer()
const { mutate } = createTestClient(server)
const input: CreateDraftSubmissionInput = {
programID: 'xyz123',
submissionType: 'CONTRACT_ONLY',
submissionDescription: 'A real submission',
}
const res = await mutate({
mutation: CREATE_DRAFT_SUBMISSION,
const res = await server.executeOperation({
query: CREATE_DRAFT_SUBMISSION,
variables: { input },
})

Expand Down
19 changes: 8 additions & 11 deletions services/app-api/resolvers/fetchCurrentUser.test.ts
@@ -1,4 +1,3 @@
import { createTestClient } from 'apollo-server-testing'
import { Context } from '../handlers/apollo_gql'

import { constructTestServer } from '../testHelpers/gqlHelpers'
Expand All @@ -7,17 +6,16 @@ import FETCH_CURRENT_USER from '../../app-graphql/src/queries/fetchCurrentUser.g
describe('currentUser', () => {
it('returns the currentUser', async () => {
const server = constructTestServer()
const { query } = createTestClient(server)

// make a mock request
const res = await query({ query: FETCH_CURRENT_USER })
const res = await server.executeOperation({ query: FETCH_CURRENT_USER })

// confirm that we get what we got
expect(res.errors).toBeUndefined()

expect(res.data.fetchCurrentUser.email).toBe('james@example.com')
expect(res.data.fetchCurrentUser.state.code).toBe('FL')
expect(res.data.fetchCurrentUser.state.programs).toHaveLength(4)
expect(res.data?.fetchCurrentUser.email).toBe('james@example.com')
expect(res.data?.fetchCurrentUser.state.code).toBe('FL')
expect(res.data?.fetchCurrentUser.state.programs).toHaveLength(4)
})

it('returns a state with no programs if the state is not in valid state list', async () => {
Expand All @@ -31,17 +29,16 @@ describe('currentUser', () => {
}

const server = constructTestServer({ context: customContext })
const { query } = createTestClient(server)

// make a mock request
const res = await query({ query: FETCH_CURRENT_USER })
const res = await server.executeOperation({ query: FETCH_CURRENT_USER })

// confirm that we get what we got
expect(res.errors).toBeUndefined()

expect(res.data.fetchCurrentUser.email).toBe('james@example.com')
expect(res.data.fetchCurrentUser.state.code).toBe('MI')
expect(res.data.fetchCurrentUser.state.name).toBe(
expect(res.data?.fetchCurrentUser.email).toBe('james@example.com')
expect(res.data?.fetchCurrentUser.state.code).toBe('MI')
expect(res.data?.fetchCurrentUser.state.name).toBe(
'This state is not part of the pilot'
)
})
Expand Down
44 changes: 15 additions & 29 deletions services/app-api/resolvers/fetchDraftSubmission.test.ts
@@ -1,5 +1,3 @@
import { createTestClient } from 'apollo-server-testing'

import { CreateDraftSubmissionInput } from '../gen/gqlServer'
import CREATE_DRAFT_SUBMISSION from '../../app-graphql/src/mutations/createDraftSubmission.graphql'
import FETCH_DRAFT_SUBMISSION from '../../app-graphql/src/queries/fetchDraftSubmission.graphql'
Expand All @@ -9,35 +7,33 @@ describe('fetchDraftSubmission', () => {
it('returns draft submission payload with a draft submission', async () => {
const server = constructTestServer()

const { query, mutate } = createTestClient(server)

// First, create a new submission
const createInput: CreateDraftSubmissionInput = {
programID: 'managed-medical-assistance',
submissionType: 'CONTRACT_ONLY',
submissionDescription: 'A real submission',
}
const createResult = await mutate({
mutation: CREATE_DRAFT_SUBMISSION,
const createResult = await server.executeOperation({
query: CREATE_DRAFT_SUBMISSION,
variables: { input: createInput },
})

const createdID =
createResult.data.createDraftSubmission.draftSubmission.id
createResult.data?.createDraftSubmission.draftSubmission.id

// then see if we can fetch that same submission
const input = {
submissionID: createdID,
}

const result = await query({
const result = await server.executeOperation({
query: FETCH_DRAFT_SUBMISSION,
variables: { input },
})

expect(result.errors).toBeUndefined()

const resultDraft = result.data.fetchDraftSubmission.draftSubmission
const resultDraft = result.data?.fetchDraftSubmission.draftSubmission
expect(resultDraft.id).toEqual(createdID)
expect(resultDraft.program.id).toEqual('managed-medical-assistance')
expect(resultDraft.program.name).toBe('Managed Medical Assistance')
Expand All @@ -49,40 +45,36 @@ describe('fetchDraftSubmission', () => {
it('returns null if the ID does not exist', async () => {
const server = constructTestServer()

const { query } = createTestClient(server)

// then see if we can fetch that same submission
const input = {
submissionID: 'deadbeef-3292323-foo-bar',
}

const result = await query({
const result = await server.executeOperation({
query: FETCH_DRAFT_SUBMISSION,
variables: { input },
})

expect(result.errors).toBeUndefined()
expect(result.data.fetchDraftSubmission.draftSubmission).toBeNull()
expect(result.data?.fetchDraftSubmission.draftSubmission).toBeNull()
})

it('a different user from the same state can fetch the draft', async () => {
const server = constructTestServer()

const { mutate } = createTestClient(server)

// First, create a new submission
const createInput: CreateDraftSubmissionInput = {
programID: 'smmc',
submissionType: 'CONTRACT_ONLY',
submissionDescription: 'A real submission',
}
const createResult = await mutate({
mutation: CREATE_DRAFT_SUBMISSION,
const createResult = await server.executeOperation({
query: CREATE_DRAFT_SUBMISSION,
variables: { input: createInput },
})

const createdID =
createResult.data.createDraftSubmission.draftSubmission.id
createResult.data?.createDraftSubmission.draftSubmission.id

// then see if we can fetch that same submission
const input = {
Expand All @@ -101,9 +93,7 @@ describe('fetchDraftSubmission', () => {
},
})

const { query } = createTestClient(otherUserServer)

const result = await query({
const result = await otherUserServer.executeOperation({
query: FETCH_DRAFT_SUBMISSION,
variables: { input },
})
Expand All @@ -116,21 +106,19 @@ describe('fetchDraftSubmission', () => {
it('returns an error if you are requesting for a different state (403)', async () => {
const server = constructTestServer()

const { mutate } = createTestClient(server)

// First, create a new submission
const createInput: CreateDraftSubmissionInput = {
programID: 'smmc',
submissionType: 'CONTRACT_ONLY',
submissionDescription: 'A real submission',
}
const createResult = await mutate({
mutation: CREATE_DRAFT_SUBMISSION,
const createResult = await server.executeOperation({
query: CREATE_DRAFT_SUBMISSION,
variables: { input: createInput },
})

const createdID =
createResult.data.createDraftSubmission.draftSubmission.id
createResult.data?.createDraftSubmission.draftSubmission.id

// then see if we can fetch that same submission
const input = {
Expand All @@ -149,9 +137,7 @@ describe('fetchDraftSubmission', () => {
},
})

const { query } = createTestClient(otherUserServer)

const result = await query({
const result = await otherUserServer.executeOperation({
query: FETCH_DRAFT_SUBMISSION,
variables: { input },
})
Expand Down

0 comments on commit c65bc8b

Please sign in to comment.