diff --git a/federation-integration-testsuite-js/src/index.ts b/federation-integration-testsuite-js/src/index.ts index 995b5bc6e1..2521c24d30 100644 --- a/federation-integration-testsuite-js/src/index.ts +++ b/federation-integration-testsuite-js/src/index.ts @@ -1 +1,5 @@ +export * from './matchers'; +export * from './snapshotSerializers'; export * from './fixtures'; + +export { prettyFormatQueryPlan } from './prettyFormatQueryPlan'; diff --git a/federation-integration-testsuite-js/src/matchers/index.ts b/federation-integration-testsuite-js/src/matchers/index.ts new file mode 100644 index 0000000000..4442028ed3 --- /dev/null +++ b/federation-integration-testsuite-js/src/matchers/index.ts @@ -0,0 +1,4 @@ +import './toCallService'; +import './toHaveBeenCalledBefore'; +import './toHaveFetched'; +import './toMatchAST'; diff --git a/gateway-js/src/__tests__/matchers/toCallService.ts b/federation-integration-testsuite-js/src/matchers/toCallService.ts similarity index 91% rename from gateway-js/src/__tests__/matchers/toCallService.ts rename to federation-integration-testsuite-js/src/matchers/toCallService.ts index 1640861fa6..aba0a3927c 100644 --- a/gateway-js/src/__tests__/matchers/toCallService.ts +++ b/federation-integration-testsuite-js/src/matchers/toCallService.ts @@ -1,7 +1,6 @@ -import { QueryPlan } from '@apollo/gateway'; -import { PlanNode } from '../../QueryPlan'; -import astSerializer from '../../snapshotSerializers/astSerializer'; -import queryPlanSerializer from '../../snapshotSerializers/queryPlanSerializer'; +import { QueryPlan, PlanNode } from '@apollo/gateway'; +import astSerializer from '../snapshotSerializers/astSerializer'; +import queryPlanSerializer from '../snapshotSerializers/queryPlanSerializer'; const prettyFormat = require('pretty-format'); declare global { diff --git a/gateway-js/src/__tests__/matchers/toHaveBeenCalledBefore.ts b/federation-integration-testsuite-js/src/matchers/toHaveBeenCalledBefore.ts similarity index 100% rename from gateway-js/src/__tests__/matchers/toHaveBeenCalledBefore.ts rename to federation-integration-testsuite-js/src/matchers/toHaveBeenCalledBefore.ts diff --git a/gateway-js/src/__tests__/matchers/toHaveFetched.ts b/federation-integration-testsuite-js/src/matchers/toHaveFetched.ts similarity index 94% rename from gateway-js/src/__tests__/matchers/toHaveFetched.ts rename to federation-integration-testsuite-js/src/matchers/toHaveFetched.ts index 3bbed40d6d..bb2fb269c7 100644 --- a/gateway-js/src/__tests__/matchers/toHaveFetched.ts +++ b/federation-integration-testsuite-js/src/matchers/toHaveFetched.ts @@ -15,8 +15,8 @@ function prepareHttpOptions(requestUrl: string, requestOpts: RequestInit): Reque const headers = new Headers(); headers.set('Content-Type', 'application/json'); if (requestOpts.headers) { - for (let name in requestOpts.headers) { - headers.set(name, requestOpts.headers[name]); + for (const [name, value] of new Headers(requestOpts.headers)) { + headers.set(name, value); } } diff --git a/gateway-js/src/__tests__/matchers/toMatchAST.ts b/federation-integration-testsuite-js/src/matchers/toMatchAST.ts similarity index 100% rename from gateway-js/src/__tests__/matchers/toMatchAST.ts rename to federation-integration-testsuite-js/src/matchers/toMatchAST.ts diff --git a/federation-integration-testsuite-js/src/prettyFormatQueryPlan.ts b/federation-integration-testsuite-js/src/prettyFormatQueryPlan.ts new file mode 100644 index 0000000000..22f3ebff92 --- /dev/null +++ b/federation-integration-testsuite-js/src/prettyFormatQueryPlan.ts @@ -0,0 +1,9 @@ +import { QueryPlan } from '@apollo/gateway'; +import prettyFormat from 'pretty-format'; +import { astSerializer, queryPlanSerializer } from './snapshotSerializers'; + +export function prettyFormatQueryPlan(queryPlan: QueryPlan) { + return prettyFormat(queryPlan, { + plugins: [queryPlanSerializer, astSerializer], + }); +} diff --git a/gateway-js/src/snapshotSerializers/astSerializer.ts b/federation-integration-testsuite-js/src/snapshotSerializers/astSerializer.ts similarity index 98% rename from gateway-js/src/snapshotSerializers/astSerializer.ts rename to federation-integration-testsuite-js/src/snapshotSerializers/astSerializer.ts index f3cee95e79..cc8a70bddf 100644 --- a/gateway-js/src/snapshotSerializers/astSerializer.ts +++ b/federation-integration-testsuite-js/src/snapshotSerializers/astSerializer.ts @@ -1,6 +1,6 @@ import { ASTNode, print, Kind, visit } from 'graphql'; import { Plugin, Config, Refs } from 'pretty-format'; -import { QueryPlanSelectionNode, QueryPlanInlineFragmentNode } from '../QueryPlan'; +import { QueryPlanSelectionNode, QueryPlanInlineFragmentNode } from '@apollo/gateway'; import { SelectionNode as GraphQLJSSelectionNode } from 'graphql'; export default { @@ -18,7 +18,6 @@ export default { ): string { return print(remapInlineFragmentNodes(value)) .trim() - .replace(/\n\n/g, '\n') .replace(/\n/g, '\n' + indentation); }, } as Plugin; diff --git a/federation-js/src/snapshotSerializers/graphqlErrorSerializer.ts b/federation-integration-testsuite-js/src/snapshotSerializers/graphqlErrorSerializer.ts similarity index 100% rename from federation-js/src/snapshotSerializers/graphqlErrorSerializer.ts rename to federation-integration-testsuite-js/src/snapshotSerializers/graphqlErrorSerializer.ts diff --git a/federation-js/src/snapshotSerializers/index.ts b/federation-integration-testsuite-js/src/snapshotSerializers/index.ts similarity index 88% rename from federation-js/src/snapshotSerializers/index.ts rename to federation-integration-testsuite-js/src/snapshotSerializers/index.ts index df46968bab..bebfe285ba 100644 --- a/federation-js/src/snapshotSerializers/index.ts +++ b/federation-integration-testsuite-js/src/snapshotSerializers/index.ts @@ -2,6 +2,7 @@ export { default as astSerializer } from './astSerializer'; export { default as selectionSetSerializer } from './selectionSetSerializer'; export { default as typeSerializer } from './typeSerializer'; export { default as graphqlErrorSerializer } from './graphqlErrorSerializer'; +export { default as queryPlanSerializer } from './queryPlanSerializer'; declare global { namespace jest { diff --git a/gateway-js/src/snapshotSerializers/queryPlanSerializer.ts b/federation-integration-testsuite-js/src/snapshotSerializers/queryPlanSerializer.ts similarity index 98% rename from gateway-js/src/snapshotSerializers/queryPlanSerializer.ts rename to federation-integration-testsuite-js/src/snapshotSerializers/queryPlanSerializer.ts index 08023fe2e4..5a4c1b2804 100644 --- a/gateway-js/src/snapshotSerializers/queryPlanSerializer.ts +++ b/federation-integration-testsuite-js/src/snapshotSerializers/queryPlanSerializer.ts @@ -1,5 +1,5 @@ import { Config, Plugin, Refs } from 'pretty-format'; -import { PlanNode, QueryPlan } from '../QueryPlan'; +import { PlanNode, QueryPlan } from '@apollo/gateway'; import { parse, Kind, visit, DocumentNode } from 'graphql'; export default { diff --git a/federation-js/src/snapshotSerializers/selectionSetSerializer.ts b/federation-integration-testsuite-js/src/snapshotSerializers/selectionSetSerializer.ts similarity index 100% rename from federation-js/src/snapshotSerializers/selectionSetSerializer.ts rename to federation-integration-testsuite-js/src/snapshotSerializers/selectionSetSerializer.ts diff --git a/federation-js/src/snapshotSerializers/typeSerializer.ts b/federation-integration-testsuite-js/src/snapshotSerializers/typeSerializer.ts similarity index 100% rename from federation-js/src/snapshotSerializers/typeSerializer.ts rename to federation-integration-testsuite-js/src/snapshotSerializers/typeSerializer.ts diff --git a/federation-integration-testsuite-js/tsconfig.json b/federation-integration-testsuite-js/tsconfig.json index 264aa3844d..fe56ee43c9 100644 --- a/federation-integration-testsuite-js/tsconfig.json +++ b/federation-integration-testsuite-js/tsconfig.json @@ -3,11 +3,11 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "noImplicitAny": false, - "strictNullChecks": false, "types": ["node", "jest"] }, "include": ["src/**/*"], "exclude": ["**/__tests__"], - "references": [] + "references": [ + { "path": "../gateway-js" } + ] } diff --git a/federation-js/src/composition/__tests__/compose.test.ts b/federation-js/src/composition/__tests__/compose.test.ts index 00c101f363..4ce7f95957 100644 --- a/federation-js/src/composition/__tests__/compose.test.ts +++ b/federation-js/src/composition/__tests__/compose.test.ts @@ -9,7 +9,7 @@ import { astSerializer, typeSerializer, selectionSetSerializer, -} from '../../snapshotSerializers'; +} from 'apollo-federation-integration-testsuite'; import { normalizeTypeDefs } from '../normalize'; import { assertCompositionFailure, diff --git a/federation-js/src/composition/__tests__/composeAndValidate.test.ts b/federation-js/src/composition/__tests__/composeAndValidate.test.ts index 1b73569705..3ccfb98bd3 100644 --- a/federation-js/src/composition/__tests__/composeAndValidate.test.ts +++ b/federation-js/src/composition/__tests__/composeAndValidate.test.ts @@ -11,7 +11,7 @@ import { astSerializer, typeSerializer, graphqlErrorSerializer, -} from '../../snapshotSerializers'; +} from 'apollo-federation-integration-testsuite'; import { assertCompositionFailure, assertCompositionSuccess, diff --git a/federation-js/src/composition/__tests__/normalize.test.ts b/federation-js/src/composition/__tests__/normalize.test.ts index 6ce8b5367d..9f68e50f19 100644 --- a/federation-js/src/composition/__tests__/normalize.test.ts +++ b/federation-js/src/composition/__tests__/normalize.test.ts @@ -5,7 +5,7 @@ import { normalizeTypeDefs, stripCommonPrimitives, } from '../normalize'; -import { astSerializer } from '../../snapshotSerializers'; +import { astSerializer } from 'apollo-federation-integration-testsuite'; import { specifiedDirectives } from 'graphql'; expect.addSnapshotSerializer(astSerializer); diff --git a/federation-js/src/composition/__tests__/utils.test.ts b/federation-js/src/composition/__tests__/utils.test.ts index 90164b06a1..690dca767c 100644 --- a/federation-js/src/composition/__tests__/utils.test.ts +++ b/federation-js/src/composition/__tests__/utils.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import deepFreeze from 'deep-freeze'; import { stripExternalFieldsFromTypeDefs } from '../utils'; -import { astSerializer } from '../../snapshotSerializers'; +import { astSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesIdentical.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesIdentical.test.ts index 695e24efbb..1c1ebf7f2d 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesIdentical.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesIdentical.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { executableDirectivesIdentical } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesInAllServices.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesInAllServices.test.ts index 3e090dcab9..7cffdc5887 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesInAllServices.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/executableDirectivesInAllServices.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { executableDirectivesInAllServices } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/externalMissingOnBase.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/externalMissingOnBase.test.ts index 5f9f086bbc..1cd0c13864 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/externalMissingOnBase.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/externalMissingOnBase.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { externalMissingOnBase as validateExternalMissingOnBase } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/externalTypeMismatch.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/externalTypeMismatch.test.ts index 4669beb091..8d3d4d29df 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/externalTypeMismatch.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/externalTypeMismatch.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { externalTypeMismatch as validateExternalTypeMismatch } from '../'; import { composeServices } from '../../../compose'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/externalUnused.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/externalUnused.test.ts index e3156c0177..16b9a399e0 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/externalUnused.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/externalUnused.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { externalUnused as validateExternalUnused } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsMissingOnBase.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsMissingOnBase.test.ts index fb3c578935..2901c3bc44 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsMissingOnBase.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsMissingOnBase.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { keyFieldsMissingOnBase as validateKeyFieldsMissingOnBase } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; import { assertCompositionSuccess } from '../../../utils'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsSelectInvalidType.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsSelectInvalidType.test.ts index e6f80778ab..f37d66aec9 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsSelectInvalidType.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/keyFieldsSelectInvalidType.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { keyFieldsSelectInvalidType as validateKeyFieldsSelectInvalidType } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; import { assertCompositionSuccess } from '../../../utils'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/keysMatchBaseService.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/keysMatchBaseService.test.ts index a740180417..0d76733aa7 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/keysMatchBaseService.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/keysMatchBaseService.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { keysMatchBaseService as validateKeysMatchBaseService } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; import { assertCompositionSuccess } from '../../../utils'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsMissingExternals.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsMissingExternals.test.ts index 34966c3639..7e544e4bf5 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsMissingExternals.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsMissingExternals.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { providesFieldsMissingExternal as validateProdivesFieldsMissingExternal } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; import { assertCompositionSuccess } from '../../../utils'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsSelectInvalidType.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsSelectInvalidType.test.ts index 263165bdc5..70275b957f 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsSelectInvalidType.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/providesFieldsSelectInvalidType.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { providesFieldsSelectInvalidType as validateprovidesFieldsSelectInvalidType } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; import { assertCompositionSuccess } from '../../../utils'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/providesNotOnEntity.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/providesNotOnEntity.test.ts index 1a87fc985f..34a41c5adb 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/providesNotOnEntity.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/providesNotOnEntity.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { providesNotOnEntity as validateProvidesNotOnEntity } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingExternals.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingExternals.test.ts index c1e824f816..64587378ba 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingExternals.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingExternals.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { requiresFieldsMissingExternal as validateRequiresFieldsMissingExternal } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingOnBase.test.ts b/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingOnBase.test.ts index 945a505807..5a9aa4e58b 100644 --- a/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingOnBase.test.ts +++ b/federation-js/src/composition/validate/postComposition/__tests__/requiresFieldsMissingOnBase.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { composeServices } from '../../../compose'; import { requiresFieldsMissingOnBase as validateRequiresFieldsMissingOnBase } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumOrScalar.test.ts b/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumOrScalar.test.ts index cde9552c3b..ebadfe6a65 100644 --- a/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumOrScalar.test.ts +++ b/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumOrScalar.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { duplicateEnumOrScalar as validateDuplicateEnumOrScalar } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumValue.test.ts b/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumValue.test.ts index 6bc91a5662..8700bcb66e 100644 --- a/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumValue.test.ts +++ b/federation-js/src/composition/validate/preComposition/__tests__/duplicateEnumValue.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { duplicateEnumValue as validateDuplicateEnumValue } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preComposition/__tests__/externalUsedOnBase.test.ts b/federation-js/src/composition/validate/preComposition/__tests__/externalUsedOnBase.test.ts index 2b1cad013c..c8506f303c 100644 --- a/federation-js/src/composition/validate/preComposition/__tests__/externalUsedOnBase.test.ts +++ b/federation-js/src/composition/validate/preComposition/__tests__/externalUsedOnBase.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { externalUsedOnBase as validateExternalUsedOnBase } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preComposition/__tests__/keyFieldsMissingExternal.test.ts b/federation-js/src/composition/validate/preComposition/__tests__/keyFieldsMissingExternal.test.ts index 3811694310..d024db3a9a 100644 --- a/federation-js/src/composition/validate/preComposition/__tests__/keyFieldsMissingExternal.test.ts +++ b/federation-js/src/composition/validate/preComposition/__tests__/keyFieldsMissingExternal.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { keyFieldsMissingExternal as validateKeyFieldsMissingExternal } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preComposition/__tests__/requiresUsedOnBase.test.ts b/federation-js/src/composition/validate/preComposition/__tests__/requiresUsedOnBase.test.ts index fc5d42c66f..8af1564b04 100644 --- a/federation-js/src/composition/validate/preComposition/__tests__/requiresUsedOnBase.test.ts +++ b/federation-js/src/composition/validate/preComposition/__tests__/requiresUsedOnBase.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { requiresUsedOnBase as validateRequiresUsedOnBase } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preComposition/__tests__/reservedFieldUsed.test.ts b/federation-js/src/composition/validate/preComposition/__tests__/reservedFieldUsed.test.ts index 8d03a00e73..4b380b54c0 100644 --- a/federation-js/src/composition/validate/preComposition/__tests__/reservedFieldUsed.test.ts +++ b/federation-js/src/composition/validate/preComposition/__tests__/reservedFieldUsed.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { reservedFieldUsed as validateReservedFieldUsed } from '..'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/preNormalization/__tests__/rootFieldUsed.test.ts b/federation-js/src/composition/validate/preNormalization/__tests__/rootFieldUsed.test.ts index 69f46733eb..33daea7390 100644 --- a/federation-js/src/composition/validate/preNormalization/__tests__/rootFieldUsed.test.ts +++ b/federation-js/src/composition/validate/preNormalization/__tests__/rootFieldUsed.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { rootFieldUsed as validateRootFieldUsed } from '../'; -import { graphqlErrorSerializer } from '../../../../snapshotSerializers'; +import { graphqlErrorSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(graphqlErrorSerializer); diff --git a/federation-js/src/composition/validate/sdl/__tests__/matchingEnums.test.ts b/federation-js/src/composition/validate/sdl/__tests__/matchingEnums.test.ts index 77b86452c0..27366d4537 100644 --- a/federation-js/src/composition/validate/sdl/__tests__/matchingEnums.test.ts +++ b/federation-js/src/composition/validate/sdl/__tests__/matchingEnums.test.ts @@ -13,7 +13,7 @@ import { astSerializer, typeSerializer, selectionSetSerializer, -} from '../../../../snapshotSerializers'; +} from 'apollo-federation-integration-testsuite'; import { normalizeTypeDefs } from '../../../normalize'; import federationDirectives from '../../../../directives'; import { ServiceDefinition } from '../../../types'; diff --git a/federation-js/src/composition/validate/sdl/__tests__/matchingUnions.test.ts b/federation-js/src/composition/validate/sdl/__tests__/matchingUnions.test.ts index 7a3ec2b7ed..a0d41bbe0c 100644 --- a/federation-js/src/composition/validate/sdl/__tests__/matchingUnions.test.ts +++ b/federation-js/src/composition/validate/sdl/__tests__/matchingUnions.test.ts @@ -9,7 +9,7 @@ import gql from 'graphql-tag'; import { typeSerializer, graphqlErrorSerializer, -} from '../../../../snapshotSerializers'; +} from 'apollo-federation-integration-testsuite'; import { UniqueUnionTypes } from '..'; import { ServiceDefinition } from '../../../types'; import { buildMapsFromServiceList } from '../../../compose'; diff --git a/federation-js/src/composition/validate/sdl/__tests__/possibleTypeExtensions.test.ts b/federation-js/src/composition/validate/sdl/__tests__/possibleTypeExtensions.test.ts index 7be01981c1..4c925f8b7e 100644 --- a/federation-js/src/composition/validate/sdl/__tests__/possibleTypeExtensions.test.ts +++ b/federation-js/src/composition/validate/sdl/__tests__/possibleTypeExtensions.test.ts @@ -11,7 +11,7 @@ import { buildMapsFromServiceList } from '../../../compose'; import { typeSerializer, graphqlErrorSerializer, -} from '../../../../snapshotSerializers'; +} from 'apollo-federation-integration-testsuite'; import federationDirectives from '../../../../directives'; import { ServiceDefinition } from '../../../types'; import { PossibleTypeExtensions } from '../possibleTypeExtensions'; diff --git a/federation-js/src/composition/validate/sdl/__tests__/uniqueFieldDefinitionNames.test.ts b/federation-js/src/composition/validate/sdl/__tests__/uniqueFieldDefinitionNames.test.ts index 94cb8da6cf..af8670dcec 100644 --- a/federation-js/src/composition/validate/sdl/__tests__/uniqueFieldDefinitionNames.test.ts +++ b/federation-js/src/composition/validate/sdl/__tests__/uniqueFieldDefinitionNames.test.ts @@ -7,7 +7,7 @@ import { } from 'graphql'; import { validateSDL } from 'graphql/validation/validate'; import gql from 'graphql-tag'; -import { typeSerializer } from '../../../../snapshotSerializers'; +import { typeSerializer } from 'apollo-federation-integration-testsuite'; import { buildMapsFromServiceList } from '../../../compose'; import federationDirectives from '../../../../directives'; import { UniqueFieldDefinitionNames } from '..'; diff --git a/federation-js/src/composition/validate/sdl/__tests__/uniqueTypeNamesWithFields.test.ts b/federation-js/src/composition/validate/sdl/__tests__/uniqueTypeNamesWithFields.test.ts index fef8201dd7..7d7ce6d829 100644 --- a/federation-js/src/composition/validate/sdl/__tests__/uniqueTypeNamesWithFields.test.ts +++ b/federation-js/src/composition/validate/sdl/__tests__/uniqueTypeNamesWithFields.test.ts @@ -9,7 +9,7 @@ import gql from 'graphql-tag'; import { typeSerializer, graphqlErrorSerializer, -} from '../../../../snapshotSerializers'; +} from 'apollo-federation-integration-testsuite'; import federationDirectives from '../../../../directives'; import { UniqueTypeNamesWithFields } from '..'; import { ServiceDefinition } from '../../../types'; diff --git a/federation-js/src/service/__tests__/buildFederatedSchema.test.ts b/federation-js/src/service/__tests__/buildFederatedSchema.test.ts index 3693b1b5aa..32ab4208d6 100644 --- a/federation-js/src/service/__tests__/buildFederatedSchema.test.ts +++ b/federation-js/src/service/__tests__/buildFederatedSchema.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { Kind, graphql, DocumentNode, execute } from 'graphql'; import { buildFederatedSchema } from '../buildFederatedSchema'; -import { typeSerializer } from '../../snapshotSerializers'; +import { typeSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(typeSerializer); diff --git a/federation-js/src/snapshotSerializers/astSerializer.ts b/federation-js/src/snapshotSerializers/astSerializer.ts deleted file mode 100644 index b3dc7eb543..0000000000 --- a/federation-js/src/snapshotSerializers/astSerializer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ASTNode, print } from 'graphql'; -import { Plugin, Config, Refs } from 'pretty-format'; - -export default { - test(value: any) { - return value && typeof value.kind === 'string'; - }, - - serialize( - value: ASTNode, - _config: Config, - indentation: string, - _depth: number, - _refs: Refs, - _printer: any, - ): string { - return print(value) - .trim() - .replace(/\n/g, '\n' + indentation); - }, -} as Plugin; diff --git a/federation-js/tsconfig.json b/federation-js/tsconfig.json index 7f3725d43f..1a1000c4d7 100644 --- a/federation-js/tsconfig.json +++ b/federation-js/tsconfig.json @@ -6,7 +6,5 @@ }, "include": ["src/**/*"], "exclude": ["**/__tests__"], - "references": [ - { "path": "../federation-integration-testsuite-js" } - ] + "references": [] } diff --git a/federation-js/tsconfig.test.json b/federation-js/tsconfig.test.json index 189bd93707..3c215436c9 100644 --- a/federation-js/tsconfig.test.json +++ b/federation-js/tsconfig.test.json @@ -3,5 +3,6 @@ "include": ["**/__tests__/**/*"], "references": [ { "path": "./" }, + { "path": "../federation-integration-testsuite-js" }, ] } diff --git a/gateway-js/src/QueryPlan.ts b/gateway-js/src/QueryPlan.ts index 664806ebe9..158591b880 100644 --- a/gateway-js/src/QueryPlan.ts +++ b/gateway-js/src/QueryPlan.ts @@ -5,8 +5,6 @@ import { SelectionNode as GraphQLJSSelectionNode, GraphQLSchema, } from 'graphql'; -import prettyFormat from 'pretty-format'; -import { queryPlanSerializer, astSerializer } from './snapshotSerializers'; export type ResponsePath = (string | number)[]; @@ -74,12 +72,6 @@ export interface QueryPlanInlineFragmentNode { readonly selections: QueryPlanSelectionNode[]; } -export function serializeQueryPlan(queryPlan: QueryPlan) { - return prettyFormat(queryPlan, { - plugins: [queryPlanSerializer, astSerializer], - }); -} - export function getResponseName(node: QueryPlanFieldNode): string { return node.alias ? node.alias : node.name; } diff --git a/gateway-js/src/__tests__/buildQueryPlan.test.ts b/gateway-js/src/__tests__/buildQueryPlan.test.ts index 27627490ea..68928ea9d4 100644 --- a/gateway-js/src/__tests__/buildQueryPlan.test.ts +++ b/gateway-js/src/__tests__/buildQueryPlan.test.ts @@ -1,7 +1,7 @@ import { GraphQLSchema } from 'graphql'; import gql from 'graphql-tag'; import { buildQueryPlan, buildOperationContext } from '../buildQueryPlan'; -import { astSerializer, queryPlanSerializer } from '../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; import { getFederatedTestingSchema } from './execution-utils'; import { WasmPointer } from '../QueryPlan'; diff --git a/gateway-js/src/__tests__/executeQueryPlan.test.ts b/gateway-js/src/__tests__/executeQueryPlan.test.ts index 62439012df..8227d585f8 100644 --- a/gateway-js/src/__tests__/executeQueryPlan.test.ts +++ b/gateway-js/src/__tests__/executeQueryPlan.test.ts @@ -6,7 +6,7 @@ import { AuthenticationError } from 'apollo-server-core'; import { buildQueryPlan, buildOperationContext } from '../buildQueryPlan'; import { executeQueryPlan } from '../executeQueryPlan'; import { LocalGraphQLDataSource } from '../datasources/LocalGraphQLDataSource'; -import { astSerializer, queryPlanSerializer } from '../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; import { getFederatedTestingSchema } from './execution-utils'; import { WasmPointer } from '../QueryPlan'; diff --git a/gateway-js/src/__tests__/execution-utils.ts b/gateway-js/src/__tests__/execution-utils.ts index e3a189743f..e387b07122 100644 --- a/gateway-js/src/__tests__/execution-utils.ts +++ b/gateway-js/src/__tests__/execution-utils.ts @@ -20,8 +20,7 @@ import { import { LocalGraphQLDataSource } from '../datasources/LocalGraphQLDataSource'; import { mergeDeep } from 'apollo-utilities'; -import queryPlanSerializer from '../snapshotSerializers/queryPlanSerializer'; -import astSerializer from '../snapshotSerializers/astSerializer'; +import { queryPlanSerializer, astSerializer } from 'apollo-federation-integration-testsuite'; import gql from 'graphql-tag'; import { fixtures } from 'apollo-federation-integration-testsuite'; import { getQueryPlanner } from '@apollo/query-planner-wasm'; diff --git a/gateway-js/src/__tests__/integration/abstract-types.test.ts b/gateway-js/src/__tests__/integration/abstract-types.test.ts index 2bad0c2710..5ff10e8937 100644 --- a/gateway-js/src/__tests__/integration/abstract-types.test.ts +++ b/gateway-js/src/__tests__/integration/abstract-types.test.ts @@ -1,7 +1,7 @@ import gql from 'graphql-tag'; import { execute } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/integration/boolean.test.ts b/gateway-js/src/__tests__/integration/boolean.test.ts index 2e50eb8375..c6c9dda27a 100644 --- a/gateway-js/src/__tests__/integration/boolean.test.ts +++ b/gateway-js/src/__tests__/integration/boolean.test.ts @@ -1,5 +1,5 @@ import { execute } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/integration/complex-key.test.ts b/gateway-js/src/__tests__/integration/complex-key.test.ts index a413c3a7ad..74c9e15f09 100644 --- a/gateway-js/src/__tests__/integration/complex-key.test.ts +++ b/gateway-js/src/__tests__/integration/complex-key.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { execute, ServiceDefinitionModule } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/integration/custom-directives.test.ts b/gateway-js/src/__tests__/integration/custom-directives.test.ts index 5b490fbb72..abf7f1f3c6 100644 --- a/gateway-js/src/__tests__/integration/custom-directives.test.ts +++ b/gateway-js/src/__tests__/integration/custom-directives.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { execute } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; import { fixtures } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); diff --git a/gateway-js/src/__tests__/integration/list-key.test.ts b/gateway-js/src/__tests__/integration/list-key.test.ts index 1573ecd99f..1e759663bb 100644 --- a/gateway-js/src/__tests__/integration/list-key.test.ts +++ b/gateway-js/src/__tests__/integration/list-key.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { execute, ServiceDefinitionModule } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/integration/multiple-key.test.ts b/gateway-js/src/__tests__/integration/multiple-key.test.ts index 60450252d4..dcb9554e77 100644 --- a/gateway-js/src/__tests__/integration/multiple-key.test.ts +++ b/gateway-js/src/__tests__/integration/multiple-key.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { execute, ServiceDefinitionModule } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/integration/mutations.test.ts b/gateway-js/src/__tests__/integration/mutations.test.ts index fef0a5089b..069a549d1b 100644 --- a/gateway-js/src/__tests__/integration/mutations.test.ts +++ b/gateway-js/src/__tests__/integration/mutations.test.ts @@ -1,5 +1,5 @@ import { execute } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; import { accounts, reviews } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); diff --git a/gateway-js/src/__tests__/integration/requires.test.ts b/gateway-js/src/__tests__/integration/requires.test.ts index 02b5bdf615..a2a571fb6b 100644 --- a/gateway-js/src/__tests__/integration/requires.test.ts +++ b/gateway-js/src/__tests__/integration/requires.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { execute } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/integration/unions.test.ts b/gateway-js/src/__tests__/integration/unions.test.ts index 42827bb355..bc8bd7fdae 100644 --- a/gateway-js/src/__tests__/integration/unions.test.ts +++ b/gateway-js/src/__tests__/integration/unions.test.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; import { execute } from '../execution-utils'; expect.addSnapshotSerializer(astSerializer); diff --git a/gateway-js/src/__tests__/integration/value-types.test.ts b/gateway-js/src/__tests__/integration/value-types.test.ts index 58064ce173..8372bf1c47 100644 --- a/gateway-js/src/__tests__/integration/value-types.test.ts +++ b/gateway-js/src/__tests__/integration/value-types.test.ts @@ -1,6 +1,6 @@ import gql from 'graphql-tag'; import { execute } from '../execution-utils'; -import { astSerializer, queryPlanSerializer } from '../../snapshotSerializers'; +import { astSerializer, queryPlanSerializer } from 'apollo-federation-integration-testsuite'; expect.addSnapshotSerializer(astSerializer); expect.addSnapshotSerializer(queryPlanSerializer); diff --git a/gateway-js/src/__tests__/testSetup.ts b/gateway-js/src/__tests__/testSetup.ts index eab33782f0..afb18fd762 100644 --- a/gateway-js/src/__tests__/testSetup.ts +++ b/gateway-js/src/__tests__/testSetup.ts @@ -1,4 +1 @@ -import './matchers/toMatchAST'; -import './matchers/toCallService'; -import './matchers/toHaveBeenCalledBefore'; -import './matchers/toHaveFetched'; +import 'apollo-federation-integration-testsuite'; diff --git a/gateway-js/src/index.ts b/gateway-js/src/index.ts index 95ea033885..3b9c5e5870 100644 --- a/gateway-js/src/index.ts +++ b/gateway-js/src/index.ts @@ -41,8 +41,7 @@ import { getServiceDefinitionsFromStorage, CompositionMetadata, } from './loadServicesFromStorage'; - -import { serializeQueryPlan, QueryPlan, OperationContext, WasmPointer } from './QueryPlan'; +import { QueryPlan, OperationContext, WasmPointer } from './QueryPlan'; import { GraphQLDataSource } from './datasources/types'; import { RemoteGraphQLDataSource } from './datasources/RemoteGraphQLDataSource'; import { getVariableValues } from 'graphql/execution/values'; @@ -772,7 +771,12 @@ export class ApolloGateway implements GraphQLService { // 2) non-empty query plan and shouldShowQueryPlan === true const serializedQueryPlan = queryPlan.node && (this.config.debug || shouldShowQueryPlan) - ? serializeQueryPlan(queryPlan) + // FIXME: I disabled printing the query plan because this lead to a + // circular dependency between the `@apollo/gateway` and + // `apollo-federation-integration-testsuite` packages. + // We should either solve that or switch Playground to + // the JSON serialization format. + ? {} // prettyPrintQueryPlan(queryPlan) : null; if (this.config.debug && serializedQueryPlan) { @@ -850,9 +854,7 @@ function wrapSchemaWithAliasResolver( export { buildQueryPlan, executeQueryPlan, - serializeQueryPlan, buildOperationContext, - QueryPlan, ServiceMap, Experimental_DidFailCompositionCallback, Experimental_DidResolveQueryPlanCallback, @@ -863,4 +865,5 @@ export { Experimental_CompositionInfo, }; +export * from './QueryPlan'; export * from './datasources'; diff --git a/gateway-js/src/snapshotSerializers/index.ts b/gateway-js/src/snapshotSerializers/index.ts deleted file mode 100644 index 3a768cfc19..0000000000 --- a/gateway-js/src/snapshotSerializers/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import astSerializer from './astSerializer'; -import selectionSetSerializer from './selectionSetSerializer'; -import typeSerializer from './typeSerializer'; -import queryPlanSerializer from './queryPlanSerializer'; -export { - astSerializer, - selectionSetSerializer, - typeSerializer, - queryPlanSerializer, -}; - -declare global { - namespace jest { - interface Expect { - /** - * Adds a module to format application-specific data structures for serialization. - */ - addSnapshotSerializer(serializer: import('pretty-format').Plugin): void; - } - } -} diff --git a/gateway-js/src/snapshotSerializers/selectionSetSerializer.ts b/gateway-js/src/snapshotSerializers/selectionSetSerializer.ts deleted file mode 100644 index 33dfba417a..0000000000 --- a/gateway-js/src/snapshotSerializers/selectionSetSerializer.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { print, SelectionNode, isSelectionNode } from 'graphql'; -import { Plugin } from 'pretty-format'; - -export default { - test(value: any) { - return ( - Array.isArray(value) && value.length > 0 && value.every(isSelectionNode) - ); - }, - print(selectionNodes: SelectionNode[]): string { - return selectionNodes.map(node => print(node)).join('\n'); - }, -} as Plugin; diff --git a/gateway-js/src/snapshotSerializers/typeSerializer.ts b/gateway-js/src/snapshotSerializers/typeSerializer.ts deleted file mode 100644 index 7b78e18cac..0000000000 --- a/gateway-js/src/snapshotSerializers/typeSerializer.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { isNamedType, GraphQLNamedType, printType } from 'graphql'; -import { Plugin } from 'pretty-format'; - -export default { - test(value: any) { - return value && isNamedType(value); - }, - print(value: GraphQLNamedType) { - return printType(value); - }, -} as Plugin; diff --git a/gateway-js/tsconfig.json b/gateway-js/tsconfig.json index 250392ca7f..304a6af6fb 100644 --- a/gateway-js/tsconfig.json +++ b/gateway-js/tsconfig.json @@ -8,6 +8,5 @@ "exclude": ["**/__tests__", "**/__mocks__"], "references": [ { "path": "../federation-js" }, - { "path": "../federation-integration-testsuite-js" }, ] } diff --git a/gateway-js/tsconfig.test.json b/gateway-js/tsconfig.test.json index 189bd93707..0294d0cd8b 100644 --- a/gateway-js/tsconfig.test.json +++ b/gateway-js/tsconfig.test.json @@ -3,5 +3,6 @@ "include": ["**/__tests__/**/*"], "references": [ { "path": "./" }, + { "path": "../federation-integration-testsuite-js" } ] } diff --git a/tsconfig.build.json b/tsconfig.build.json index d75c8d1eed..c2b21ed43a 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -7,5 +7,6 @@ "references": [ { "path": "./federation-js" }, { "path": "./gateway-js" }, + { "path": "./federation-integration-testsuite-js" }, ] }