@aws-amplify/graphql-model-transformer 1.5.0-rds.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. package/API.md +15 -15
  2. package/CHANGELOG.md +4 -5
  3. package/lib/graphql-types/mutation.d.ts.map +1 -1
  4. package/lib/graphql-types/mutation.js +2 -9
  5. package/lib/graphql-types/mutation.js.map +1 -1
  6. package/lib/rds-lambda.zip +0 -0
  7. package/lib/rds-notification-lambda.zip +0 -0
  8. package/lib/rds-patching-lambda.zip +0 -0
  9. package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
  10. package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  11. package/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  12. package/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  13. package/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
  14. package/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  15. package/lib/resolvers/generators/rds-vtl-generator.js +10 -10
  16. package/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  17. package/lib/resolvers/generators/vtl-generator.d.ts +5 -6
  18. package/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  19. package/lib/resolvers/rds/mutation.d.ts +3 -4
  20. package/lib/resolvers/rds/mutation.d.ts.map +1 -1
  21. package/lib/resolvers/rds/mutation.js +3 -7
  22. package/lib/resolvers/rds/mutation.js.map +1 -1
  23. package/lib/resolvers/rds/query.d.ts +1 -2
  24. package/lib/resolvers/rds/query.d.ts.map +1 -1
  25. package/lib/resolvers/rds/query.js +1 -3
  26. package/lib/resolvers/rds/query.js.map +1 -1
  27. package/lib/resolvers/rds/resolver.d.ts +7 -11
  28. package/lib/resolvers/rds/resolver.d.ts.map +1 -1
  29. package/lib/resolvers/rds/resolver.js +39 -50
  30. package/lib/resolvers/rds/resolver.js.map +1 -1
  31. package/lib/resources/dynamo-model-resource-generator.d.ts +2 -2
  32. package/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
  33. package/lib/resources/dynamo-model-resource-generator.js +48 -43
  34. package/lib/resources/dynamo-model-resource-generator.js.map +1 -1
  35. package/lib/resources/model-resource-generator.js +8 -8
  36. package/lib/resources/model-resource-generator.js.map +1 -1
  37. package/lib/resources/rds-model-resource-generator.js +13 -13
  38. package/package.json +6 -5
  39. package/publish-notification-lambda/node_modules/.package-lock.json +11 -11
  40. package/publish-notification-lambda/node_modules/@types/node/README.md +1 -1
  41. package/publish-notification-lambda/node_modules/@types/node/package.json +2 -2
  42. package/publish-notification-lambda/node_modules/archiver/CHANGELOG.md +18 -0
  43. package/publish-notification-lambda/node_modules/archiver/package.json +7 -7
  44. package/publish-notification-lambda/node_modules/tslib/package.json +2 -2
  45. package/publish-notification-lambda/package-lock.json +11 -11
  46. package/rds-lambda/handler.ts +1 -2
  47. package/rds-lambda/node_modules/.package-lock.json +407 -362
  48. package/rds-lambda/node_modules/@babel/code-frame/package.json +3 -2
  49. package/rds-lambda/node_modules/@babel/core/package.json +9 -9
  50. package/rds-lambda/node_modules/@babel/helpers/package.json +5 -5
  51. package/rds-lambda/node_modules/@babel/highlight/package.json +1 -1
  52. package/rds-lambda/node_modules/@babel/parser/package.json +3 -3
  53. package/rds-lambda/node_modules/@babel/traverse/package.json +4 -4
  54. package/rds-lambda/node_modules/@babel/types/lib/index.js.flow +10 -10
  55. package/rds-lambda/node_modules/@babel/types/package.json +2 -2
  56. package/rds-lambda/node_modules/@jest/console/package.json +7 -7
  57. package/rds-lambda/node_modules/@jest/core/package.json +25 -25
  58. package/rds-lambda/node_modules/@jest/environment/package.json +6 -6
  59. package/rds-lambda/node_modules/@jest/expect/package.json +5 -5
  60. package/rds-lambda/node_modules/@jest/expect-utils/package.json +5 -5
  61. package/rds-lambda/node_modules/@jest/fake-timers/package.json +8 -8
  62. package/rds-lambda/node_modules/@jest/globals/package.json +7 -7
  63. package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/CHANGELOG.md +642 -0
  64. package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/LICENSE +24 -0
  65. package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/README.md +22 -0
  66. package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/package.json +50 -0
  67. package/rds-lambda/node_modules/@jest/reporters/node_modules/lru-cache/LICENSE +15 -0
  68. package/rds-lambda/node_modules/@jest/reporters/node_modules/lru-cache/README.md +166 -0
  69. package/rds-lambda/node_modules/@jest/reporters/node_modules/lru-cache/package.json +34 -0
  70. package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/LICENSE +15 -0
  71. package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/README.md +637 -0
  72. package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/package.json +87 -0
  73. package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/range.bnf +16 -0
  74. package/rds-lambda/node_modules/@jest/reporters/node_modules/yallist/LICENSE +15 -0
  75. package/rds-lambda/node_modules/@jest/reporters/node_modules/yallist/README.md +204 -0
  76. package/rds-lambda/node_modules/@jest/reporters/node_modules/yallist/package.json +29 -0
  77. package/rds-lambda/node_modules/@jest/reporters/package.json +14 -14
  78. package/rds-lambda/node_modules/@jest/schemas/package.json +3 -3
  79. package/rds-lambda/node_modules/@jest/source-map/package.json +3 -3
  80. package/rds-lambda/node_modules/@jest/test-result/package.json +7 -7
  81. package/rds-lambda/node_modules/@jest/test-sequencer/package.json +6 -6
  82. package/rds-lambda/node_modules/@jest/transform/package.json +8 -8
  83. package/rds-lambda/node_modules/@jest/types/package.json +4 -4
  84. package/rds-lambda/node_modules/@types/jest/README.md +1 -1
  85. package/rds-lambda/node_modules/@types/jest/package.json +2 -2
  86. package/rds-lambda/node_modules/@types/node/README.md +1 -1
  87. package/rds-lambda/node_modules/@types/node/package.json +2 -2
  88. package/rds-lambda/node_modules/archiver/CHANGELOG.md +18 -0
  89. package/rds-lambda/node_modules/archiver/package.json +7 -7
  90. package/rds-lambda/node_modules/babel-jest/README.md +1 -1
  91. package/rds-lambda/node_modules/babel-jest/package.json +6 -6
  92. package/rds-lambda/node_modules/babel-plugin-jest-hoist/README.md +1 -1
  93. package/rds-lambda/node_modules/babel-plugin-jest-hoist/package.json +3 -3
  94. package/rds-lambda/node_modules/babel-preset-jest/README.md +1 -1
  95. package/rds-lambda/node_modules/babel-preset-jest/package.json +4 -4
  96. package/rds-lambda/node_modules/caniuse-lite/package.json +1 -1
  97. package/rds-lambda/node_modules/diff-sequences/package.json +3 -3
  98. package/rds-lambda/node_modules/electron-to-chromium/chromium-versions.json +1 -1
  99. package/rds-lambda/node_modules/electron-to-chromium/full-chromium-versions.json +1 -1
  100. package/rds-lambda/node_modules/electron-to-chromium/full-versions.json +1 -1
  101. package/rds-lambda/node_modules/electron-to-chromium/package.json +1 -1
  102. package/rds-lambda/node_modules/electron-to-chromium/versions.json +1 -1
  103. package/rds-lambda/node_modules/expect/package.json +9 -10
  104. package/rds-lambda/node_modules/jest/package.json +6 -6
  105. package/rds-lambda/node_modules/jest-changed-files/package.json +4 -3
  106. package/rds-lambda/node_modules/jest-circus/README.md +1 -1
  107. package/rds-lambda/node_modules/jest-circus/package.json +14 -14
  108. package/rds-lambda/node_modules/jest-cli/package.json +10 -10
  109. package/rds-lambda/node_modules/jest-config/package.json +15 -15
  110. package/rds-lambda/node_modules/jest-diff/package.json +7 -7
  111. package/rds-lambda/node_modules/jest-docblock/package.json +3 -3
  112. package/rds-lambda/node_modules/jest-each/README.md +1 -1
  113. package/rds-lambda/node_modules/jest-each/package.json +7 -7
  114. package/rds-lambda/node_modules/jest-environment-node/package.json +9 -9
  115. package/rds-lambda/node_modules/jest-get-type/package.json +3 -3
  116. package/rds-lambda/node_modules/jest-haste-map/package.json +7 -7
  117. package/rds-lambda/node_modules/jest-leak-detector/package.json +5 -5
  118. package/rds-lambda/node_modules/jest-matcher-utils/README.md +1 -1
  119. package/rds-lambda/node_modules/jest-matcher-utils/package.json +7 -7
  120. package/rds-lambda/node_modules/jest-message-util/package.json +5 -5
  121. package/rds-lambda/node_modules/jest-mock/package.json +5 -5
  122. package/rds-lambda/node_modules/jest-regex-util/package.json +3 -3
  123. package/rds-lambda/node_modules/jest-resolve/package.json +6 -6
  124. package/rds-lambda/node_modules/jest-resolve-dependencies/package.json +10 -10
  125. package/rds-lambda/node_modules/jest-runner/package.json +20 -20
  126. package/rds-lambda/node_modules/jest-runtime/package.json +19 -19
  127. package/rds-lambda/node_modules/jest-snapshot/package.json +14 -14
  128. package/rds-lambda/node_modules/jest-util/package.json +4 -4
  129. package/rds-lambda/node_modules/jest-validate/package.json +6 -6
  130. package/rds-lambda/node_modules/jest-watcher/package.json +7 -7
  131. package/rds-lambda/node_modules/jest-worker/README.md +1 -1
  132. package/rds-lambda/node_modules/jest-worker/package.json +5 -5
  133. package/rds-lambda/node_modules/pretty-format/package.json +5 -5
  134. package/rds-lambda/node_modules/tslib/package.json +2 -2
  135. package/rds-lambda/package-lock.json +410 -365
  136. package/rds-patching-lambda/node_modules/.package-lock.json +11 -11
  137. package/rds-patching-lambda/node_modules/@types/node/README.md +1 -1
  138. package/rds-patching-lambda/node_modules/@types/node/package.json +2 -2
  139. package/rds-patching-lambda/node_modules/archiver/CHANGELOG.md +18 -0
  140. package/rds-patching-lambda/node_modules/archiver/package.json +7 -7
  141. package/rds-patching-lambda/node_modules/tslib/package.json +2 -2
  142. package/rds-patching-lambda/package-lock.json +11 -11
  143. package/src/__tests__/__snapshots__/model-transformer.test.ts.snap +0 -688
  144. package/src/__tests__/model-directive-arguments.test.ts +23 -28
  145. package/src/__tests__/model-transformer.test.ts +137 -216
  146. package/src/graphql-types/mutation.ts +3 -11
  147. package/src/resolvers/generators/dynamodb-vtl-generator.ts +5 -7
  148. package/src/resolvers/generators/rds-vtl-generator.ts +10 -12
  149. package/src/resolvers/generators/vtl-generator.ts +5 -6
  150. package/src/resolvers/rds/mutation.ts +3 -18
  151. package/src/resolvers/rds/query.ts +1 -9
  152. package/src/resolvers/rds/resolver.ts +45 -62
  153. package/src/resources/dynamo-model-resource-generator.ts +50 -47
  154. package/src/resources/model-resource-generator.ts +8 -8
  155. package/src/resources/rds-model-resource-generator.ts +13 -13
  156. package/tsconfig.tsbuildinfo +1 -1
@@ -1,14 +1,9 @@
1
- import { ModelTransformer } from '@aws-amplify/graphql-model-transformer';
2
- import {
3
- ConflictHandlerType,
4
- DatasourceType,
5
- GraphQLTransform,
6
- SyncConfig,
7
- validateModelSchema,
8
- } from '@aws-amplify/graphql-transformer-core';
1
+ import { ConflictHandlerType, DatasourceType, GraphQLTransform, validateModelSchema } from '@aws-amplify/graphql-transformer-core';
9
2
  import { InputObjectTypeDefinitionNode, InputValueDefinitionNode, NamedTypeNode, parse } from 'graphql';
10
3
  import { getBaseType } from 'graphql-transformer-common';
11
4
  import { Template } from 'aws-cdk-lib/assertions';
5
+ import { testTransform } from '@aws-amplify/graphql-transformer-test-utils';
6
+ import { ModelTransformer } from '../graphql-model-transformer';
12
7
  import {
13
8
  doNotExpectFields,
14
9
  expectFields,
@@ -30,10 +25,10 @@ describe('ModelTransformer: ', () => {
30
25
  }
31
26
  `;
32
27
 
33
- const transformer = new GraphQLTransform({
28
+ const out = testTransform({
29
+ schema: validSchema,
34
30
  transformers: [new ModelTransformer()],
35
31
  });
36
- const out = transformer.transform(validSchema);
37
32
  expect(out).toBeDefined();
38
33
 
39
34
  validateModelSchema(parse(out.schema));
@@ -48,10 +43,10 @@ describe('ModelTransformer: ', () => {
48
43
  title: String!
49
44
  }
50
45
  `;
51
- const transformer = new GraphQLTransform({
46
+ const out = testTransform({
47
+ schema: validSchema,
52
48
  transformers: [new ModelTransformer()],
53
49
  });
54
- const out = transformer.transform(validSchema);
55
50
  expect(out).toBeDefined();
56
51
 
57
52
  validateModelSchema(parse(out.schema));
@@ -71,7 +66,8 @@ describe('ModelTransformer: ', () => {
71
66
  title: String!
72
67
  }
73
68
  `;
74
- const transformer = new GraphQLTransform({
69
+ const out = testTransform({
70
+ schema: alsoValidSchema,
75
71
  transformers: [new ModelTransformer()],
76
72
  resolverConfig: {
77
73
  project: {
@@ -80,7 +76,6 @@ describe('ModelTransformer: ', () => {
80
76
  },
81
77
  },
82
78
  });
83
- const out = transformer.transform(alsoValidSchema);
84
79
  expect(out).toBeDefined();
85
80
 
86
81
  validateModelSchema(parse(out.schema));
@@ -89,29 +84,6 @@ describe('ModelTransformer: ', () => {
89
84
  expect(out.schema).toContain('input NonModelTypeInput');
90
85
  });
91
86
 
92
- it('id with non string type should require the field on create mutation', async () => {
93
- const validSchema = `
94
- type Task @model {
95
- id: Int!
96
- title: String!
97
- }
98
- `;
99
- const transformer = new GraphQLTransform({
100
- transformers: [new ModelTransformer()],
101
- });
102
- const out = transformer.transform(validSchema);
103
- expect(out).toBeDefined();
104
-
105
- validateModelSchema(parse(out.schema));
106
- const schema = parse(out.schema);
107
- expect(out.schema).toMatchSnapshot();
108
- const createTaskInput = getInputType(schema, 'CreateTaskInput');
109
- expectFieldsOnInputType(createTaskInput!, ['id', 'title']);
110
- const idField = createTaskInput!.fields!.find((f) => f.name.value === 'id');
111
- expect(idField).toBeDefined();
112
- expect(idField?.type.kind).toEqual('NonNullType');
113
- });
114
-
115
87
  it('should support custom query overrides', () => {
116
88
  const validSchema = `type Post @model(queries: { get: "customGetPost", list: "customListPost" }) {
117
89
  id: ID!
@@ -121,11 +93,10 @@ describe('ModelTransformer: ', () => {
121
93
  }
122
94
  `;
123
95
 
124
- const transformer = new GraphQLTransform({
96
+ const out = testTransform({
97
+ schema: validSchema,
125
98
  transformers: [new ModelTransformer()],
126
99
  });
127
-
128
- const out = transformer.transform(validSchema);
129
100
  expect(out).toBeDefined();
130
101
 
131
102
  const definition = out.schema;
@@ -164,11 +135,10 @@ describe('ModelTransformer: ', () => {
164
135
  }
165
136
  `;
166
137
 
167
- const transformer = new GraphQLTransform({
138
+ const out = testTransform({
139
+ schema: validSchema,
168
140
  transformers: [new ModelTransformer()],
169
141
  });
170
-
171
- const out = transformer.transform(validSchema);
172
142
  expect(out).toBeDefined();
173
143
  const definition = out.schema;
174
144
  expect(definition).toBeDefined();
@@ -187,10 +157,10 @@ describe('ModelTransformer: ', () => {
187
157
  updatedAt: String
188
158
  }
189
159
  `;
190
- const transformer = new GraphQLTransform({
160
+ const out = testTransform({
161
+ schema: validSchema,
191
162
  transformers: [new ModelTransformer()],
192
163
  });
193
- const out = transformer.transform(validSchema);
194
164
  expect(out).toBeDefined();
195
165
  const definition = out.schema;
196
166
  expect(definition).toBeDefined();
@@ -208,11 +178,10 @@ describe('ModelTransformer: ', () => {
208
178
  updatedAt: String
209
179
  }
210
180
  `;
211
- const transformer = new GraphQLTransform({
181
+ const out = testTransform({
182
+ schema: validSchema,
212
183
  transformers: [new ModelTransformer()],
213
184
  });
214
-
215
- const out = transformer.transform(validSchema);
216
185
  expect(out).toBeDefined();
217
186
  const definition = out.schema;
218
187
  expect(definition).toBeDefined();
@@ -232,10 +201,10 @@ describe('ModelTransformer: ', () => {
232
201
  updatedAt: String
233
202
  }
234
203
  `;
235
- const transformer = new GraphQLTransform({
204
+ const out = testTransform({
205
+ schema: validSchema,
236
206
  transformers: [new ModelTransformer()],
237
207
  });
238
- const out = transformer.transform(validSchema);
239
208
  expect(out).toBeDefined();
240
209
  const definition = out.schema;
241
210
  expect(definition).toBeDefined();
@@ -257,10 +226,10 @@ describe('ModelTransformer: ', () => {
257
226
  updatedAt: String
258
227
  }
259
228
  `;
260
- const transformer = new GraphQLTransform({
229
+ const out = testTransform({
230
+ schema: validSchema,
261
231
  transformers: [new ModelTransformer()],
262
232
  });
263
- const out = transformer.transform(validSchema);
264
233
  expect(out).toBeDefined();
265
234
  const definition = out.schema;
266
235
  expect(definition).toBeDefined();
@@ -291,10 +260,10 @@ describe('ModelTransformer: ', () => {
291
260
  different3: String
292
261
  }
293
262
  `;
294
- const transformer = new GraphQLTransform({
263
+ const out = testTransform({
264
+ schema: validSchema,
295
265
  transformers: [new ModelTransformer()],
296
266
  });
297
- const out = transformer.transform(validSchema);
298
267
  expect(out).toBeDefined();
299
268
  const definition = out.schema;
300
269
  expect(definition).toBeDefined();
@@ -326,10 +295,10 @@ describe('ModelTransformer: ', () => {
326
295
  different3: String
327
296
  }
328
297
  `;
329
- const transformer = new GraphQLTransform({
298
+ const out = testTransform({
299
+ schema: validSchema,
330
300
  transformers: [new ModelTransformer()],
331
301
  });
332
- const out = transformer.transform(validSchema);
333
302
  expect(out).toBeDefined();
334
303
  const definition = out.schema;
335
304
  expect(definition).toBeDefined();
@@ -350,10 +319,10 @@ describe('ModelTransformer: ', () => {
350
319
  str: String
351
320
  }
352
321
  `;
353
- const transformer = new GraphQLTransform({
322
+ const result = testTransform({
323
+ schema: validSchema,
354
324
  transformers: [new ModelTransformer()],
355
325
  });
356
- const result = transformer.transform(validSchema);
357
326
  expect(result).toBeDefined();
358
327
  expect(result.schema).toBeDefined();
359
328
  const schema = parse(result.schema);
@@ -383,10 +352,10 @@ describe('ModelTransformer: ', () => {
383
352
  query: Query
384
353
  }
385
354
  `;
386
- const transformer = new GraphQLTransform({
355
+ const out = testTransform({
356
+ schema: validSchema,
387
357
  transformers: [new ModelTransformer()],
388
358
  });
389
- const out = transformer.transform(validSchema);
390
359
  expect(out).toBeDefined();
391
360
  const parsed = parse(out.schema);
392
361
  validateModelSchema(parsed);
@@ -410,10 +379,10 @@ describe('ModelTransformer: ', () => {
410
379
  text: String!
411
380
  }
412
381
  `;
413
- const transformer = new GraphQLTransform({
382
+ const out = testTransform({
383
+ schema: validSchema,
414
384
  transformers: [new ModelTransformer()],
415
385
  });
416
- const out = transformer.transform(validSchema);
417
386
  expect(out).toBeDefined();
418
387
  const definition = out.schema;
419
388
  expect(definition).toBeDefined();
@@ -437,12 +406,12 @@ describe('ModelTransformer: ', () => {
437
406
  str: String
438
407
  }
439
408
  `;
440
- const transformer = new GraphQLTransform({
441
- transformers: [new ModelTransformer()],
442
- });
443
- expect(() => transformer.transform(invalidSchema)).toThrowError(
444
- "'Subscription' is a reserved type name and currently in use within the default schema element.",
445
- );
409
+ expect(() =>
410
+ testTransform({
411
+ schema: invalidSchema,
412
+ transformers: [new ModelTransformer()],
413
+ }),
414
+ ).toThrowError("'Subscription' is a reserved type name and currently in use within the default schema element.");
446
415
  });
447
416
 
448
417
  it('should not add default primary key when ID is defined', () => {
@@ -452,10 +421,10 @@ describe('ModelTransformer: ', () => {
452
421
  str: String
453
422
  }
454
423
  `;
455
- const transformer = new GraphQLTransform({
424
+ const result = testTransform({
425
+ schema: validSchema,
456
426
  transformers: [new ModelTransformer()],
457
427
  });
458
- const result = transformer.transform(validSchema);
459
428
  expect(result).toBeDefined();
460
429
  expect(result.schema).toBeDefined();
461
430
  const schema = parse(result.schema);
@@ -480,14 +449,14 @@ describe('ModelTransformer: ', () => {
480
449
  updatedAt: String
481
450
  }
482
451
  `;
483
- const transformer = new GraphQLTransform({
452
+
453
+ const out = testTransform({
454
+ schema: validSchema,
484
455
  transformers: [new ModelTransformer()],
485
456
  transformParameters: {
486
457
  shouldDeepMergeDirectiveConfigDefaults: false,
487
458
  },
488
459
  });
489
-
490
- const out = transformer.transform(validSchema);
491
460
  expect(out).toBeDefined();
492
461
  const definition = out.schema;
493
462
  expect(definition).toBeDefined();
@@ -514,11 +483,10 @@ describe('ModelTransformer: ', () => {
514
483
  name: String!
515
484
  }
516
485
  `;
517
- const transformer = new GraphQLTransform({
486
+ const out = testTransform({
487
+ schema: validSchema,
518
488
  transformers: [new ModelTransformer()],
519
489
  });
520
-
521
- const out = transformer.transform(validSchema);
522
490
  expect(out).toBeDefined();
523
491
 
524
492
  const definition = out.schema;
@@ -563,11 +531,10 @@ describe('ModelTransformer: ', () => {
563
531
  lastStatus: Status!
564
532
  }
565
533
  `;
566
- const transformer = new GraphQLTransform({
534
+ const out = testTransform({
535
+ schema: validSchema,
567
536
  transformers: [new ModelTransformer()],
568
537
  });
569
-
570
- const out = transformer.transform(validSchema);
571
538
  expect(out).toBeDefined();
572
539
  const definition = out.schema;
573
540
  expect(definition).toBeDefined();
@@ -604,10 +571,10 @@ describe('ModelTransformer: ', () => {
604
571
  JEDI
605
572
  }
606
573
  `;
607
- const transformer = new GraphQLTransform({
574
+ const out = testTransform({
575
+ schema: validSchema,
608
576
  transformers: [new ModelTransformer()],
609
577
  });
610
- const out = transformer.transform(validSchema);
611
578
  expect(out).toBeDefined();
612
579
 
613
580
  const definition = out.schema;
@@ -644,10 +611,10 @@ describe('ModelTransformer: ', () => {
644
611
  createdAt: String
645
612
  updatedAt: String
646
613
  }`;
647
- const transformer = new GraphQLTransform({
614
+ const out = testTransform({
615
+ schema: validSchema,
648
616
  transformers: [new ModelTransformer()],
649
617
  });
650
- const out = transformer.transform(validSchema);
651
618
  expect(out).toBeDefined();
652
619
 
653
620
  const definition = out.schema;
@@ -677,10 +644,10 @@ describe('ModelTransformer: ', () => {
677
644
  title: String!
678
645
  }
679
646
  `;
680
- const transformer = new GraphQLTransform({
647
+ const out = testTransform({
648
+ schema: validSchema,
681
649
  transformers: [new ModelTransformer()],
682
650
  });
683
- const out = transformer.transform(validSchema);
684
651
  expect(out).toBeDefined();
685
652
  const definition = out.schema;
686
653
  expect(definition).toBeDefined();
@@ -704,10 +671,10 @@ describe('ModelTransformer: ', () => {
704
671
  updatedAt: String
705
672
  }
706
673
  `;
707
- const transformer = new GraphQLTransform({
674
+ const out = testTransform({
675
+ schema: validSchema,
708
676
  transformers: [new ModelTransformer()],
709
677
  });
710
- const out = transformer.transform(validSchema);
711
678
  expect(out).toBeDefined();
712
679
  const definition = out.schema;
713
680
  expect(definition).toBeDefined();
@@ -726,13 +693,13 @@ describe('ModelTransformer: ', () => {
726
693
  str: String
727
694
  }
728
695
  `;
729
- const transformer = new GraphQLTransform({
696
+ const result = testTransform({
697
+ schema: validSchema,
730
698
  transformers: [new ModelTransformer()],
731
699
  transformParameters: {
732
700
  shouldDeepMergeDirectiveConfigDefaults: false,
733
701
  },
734
702
  });
735
- const result = transformer.transform(validSchema);
736
703
  expect(result).toBeDefined();
737
704
  expect(result.schema).toBeDefined();
738
705
  expect(result.schema).toMatchSnapshot();
@@ -747,7 +714,8 @@ describe('ModelTransformer: ', () => {
747
714
  str: String
748
715
  }
749
716
  `;
750
- const transformer = new GraphQLTransform({
717
+ const result = testTransform({
718
+ schema: validSchema,
751
719
  transformers: [new ModelTransformer()],
752
720
  resolverConfig: {
753
721
  project: {
@@ -756,7 +724,6 @@ describe('ModelTransformer: ', () => {
756
724
  },
757
725
  },
758
726
  });
759
- const result = transformer.transform(validSchema);
760
727
  expect(result).toBeDefined();
761
728
  expect(result.schema).toBeDefined();
762
729
  expect(result.schema).toMatchSnapshot();
@@ -776,7 +743,8 @@ describe('ModelTransformer: ', () => {
776
743
  updatedAt: AWSTimestamp
777
744
  }
778
745
  `;
779
- const transformer = new GraphQLTransform({
746
+ const result = testTransform({
747
+ schema: validSchema,
780
748
  transformers: [new ModelTransformer()],
781
749
  resolverConfig: {
782
750
  project: {
@@ -785,7 +753,6 @@ describe('ModelTransformer: ', () => {
785
753
  },
786
754
  },
787
755
  });
788
- const result = transformer.transform(validSchema);
789
756
  expect(result).toBeDefined();
790
757
  expect(result.schema).toBeDefined();
791
758
  expect(result.schema).toMatchSnapshot();
@@ -805,7 +772,8 @@ describe('ModelTransformer: ', () => {
805
772
  updatedAt: AWSDateTime!
806
773
  }
807
774
  `;
808
- const transformer = new GraphQLTransform({
775
+ const result = testTransform({
776
+ schema: validSchema,
809
777
  transformers: [new ModelTransformer()],
810
778
  resolverConfig: {
811
779
  project: {
@@ -814,8 +782,6 @@ describe('ModelTransformer: ', () => {
814
782
  },
815
783
  },
816
784
  });
817
-
818
- const result = transformer.transform(validSchema);
819
785
  expect(result).toBeDefined();
820
786
  expect(result.schema).toBeDefined();
821
787
  expect(result.schema).toMatchSnapshot();
@@ -833,7 +799,8 @@ describe('ModelTransformer: ', () => {
833
799
  str: String
834
800
  }
835
801
  `;
836
- const transformer = new GraphQLTransform({
802
+ const result = testTransform({
803
+ schema: validSchema,
837
804
  transformers: [new ModelTransformer()],
838
805
  resolverConfig: {
839
806
  project: {
@@ -842,7 +809,6 @@ describe('ModelTransformer: ', () => {
842
809
  },
843
810
  },
844
811
  });
845
- const result = transformer.transform(validSchema);
846
812
  expect(result).toBeDefined();
847
813
  expect(result.schema).toBeDefined();
848
814
  expect(result.schema).toMatchSnapshot();
@@ -864,7 +830,8 @@ describe('ModelTransformer: ', () => {
864
830
  id: ID!
865
831
  }
866
832
  `;
867
- const transformer = new GraphQLTransform({
833
+ const result = testTransform({
834
+ schema: validSchema,
868
835
  transformers: [new ModelTransformer()],
869
836
  resolverConfig: {
870
837
  project: {
@@ -873,8 +840,6 @@ describe('ModelTransformer: ', () => {
873
840
  },
874
841
  },
875
842
  });
876
-
877
- const result = transformer.transform(validSchema);
878
843
  expect(result).toBeDefined();
879
844
  expect(result.schema).toBeDefined();
880
845
  expect(result.schema).toMatchSnapshot();
@@ -934,7 +899,8 @@ describe('ModelTransformer: ', () => {
934
899
  }
935
900
  `;
936
901
 
937
- const transformer = new GraphQLTransform({
902
+ const result = testTransform({
903
+ schema: validSchema,
938
904
  transformers: [new ModelTransformer()],
939
905
  resolverConfig: {
940
906
  project: {
@@ -943,7 +909,6 @@ describe('ModelTransformer: ', () => {
943
909
  },
944
910
  },
945
911
  });
946
- const result = transformer.transform(validSchema);
947
912
  expect(result).toBeDefined();
948
913
  expect(result.schema).toBeDefined();
949
914
  const schema = parse(result.schema);
@@ -972,10 +937,10 @@ describe('ModelTransformer: ', () => {
972
937
  jsonField: AWSJSON
973
938
  }
974
939
  `;
975
- const transformer = new GraphQLTransform({
940
+ const out = testTransform({
941
+ schema: validSchema,
976
942
  transformers: [new ModelTransformer()],
977
943
  });
978
- const out = transformer.transform(validSchema);
979
944
  expect(out).toBeDefined();
980
945
  validateModelSchema(parse(out.schema));
981
946
  });
@@ -988,18 +953,16 @@ describe('ModelTransformer: ', () => {
988
953
  }
989
954
  `;
990
955
 
991
- const config: SyncConfig = {
992
- ConflictDetection: 'VERSION',
993
- ConflictHandler: ConflictHandlerType.AUTOMERGE,
994
- };
995
-
996
- const transformer = new GraphQLTransform({
956
+ const out = testTransform({
957
+ schema: validSchema,
997
958
  transformers: [new ModelTransformer()],
998
959
  resolverConfig: {
999
- project: config,
960
+ project: {
961
+ ConflictDetection: 'VERSION',
962
+ ConflictHandler: ConflictHandlerType.AUTOMERGE,
963
+ },
1000
964
  },
1001
965
  });
1002
- const out = transformer.transform(validSchema);
1003
966
  expect(out).toBeDefined();
1004
967
 
1005
968
  const definition = out.schema;
@@ -1019,21 +982,19 @@ describe('ModelTransformer: ', () => {
1019
982
  }
1020
983
  `;
1021
984
 
1022
- const config: SyncConfig = {
1023
- ConflictDetection: 'VERSION',
1024
- ConflictHandler: ConflictHandlerType.LAMBDA,
1025
- LambdaConflictHandler: {
1026
- name: 'myLambdaConflictHandler',
1027
- },
1028
- };
1029
-
1030
- const transformer = new GraphQLTransform({
985
+ const out = testTransform({
986
+ schema: validSchema,
1031
987
  transformers: [new ModelTransformer()],
1032
988
  resolverConfig: {
1033
- project: config,
989
+ project: {
990
+ ConflictDetection: 'VERSION',
991
+ ConflictHandler: ConflictHandlerType.LAMBDA,
992
+ LambdaConflictHandler: {
993
+ name: 'myLambdaConflictHandler',
994
+ },
995
+ },
1034
996
  },
1035
997
  });
1036
- const out = transformer.transform(validSchema);
1037
998
  expect(out).toBeDefined();
1038
999
 
1039
1000
  const definition = out.schema;
@@ -1052,19 +1013,16 @@ describe('ModelTransformer: ', () => {
1052
1013
  updatedAt: String
1053
1014
  }
1054
1015
  `;
1055
-
1056
- const config: SyncConfig = {
1057
- ConflictDetection: 'VERSION',
1058
- ConflictHandler: ConflictHandlerType.OPTIMISTIC,
1059
- };
1060
-
1061
- const transformer = new GraphQLTransform({
1016
+ const out = testTransform({
1017
+ schema: validSchema,
1062
1018
  transformers: [new ModelTransformer()],
1063
1019
  resolverConfig: {
1064
- project: config,
1020
+ project: {
1021
+ ConflictDetection: 'VERSION',
1022
+ ConflictHandler: ConflictHandlerType.OPTIMISTIC,
1023
+ },
1065
1024
  },
1066
1025
  });
1067
- const out = transformer.transform(validSchema);
1068
1026
  expect(out).toBeDefined();
1069
1027
 
1070
1028
  const definition = out.schema;
@@ -1082,18 +1040,16 @@ describe('ModelTransformer: ', () => {
1082
1040
  }
1083
1041
  `;
1084
1042
 
1085
- const config: SyncConfig = {
1086
- ConflictDetection: 'VERSION',
1087
- ConflictHandler: ConflictHandlerType.AUTOMERGE,
1088
- };
1089
-
1090
- const transformer = new GraphQLTransform({
1043
+ const out = testTransform({
1044
+ schema: validSchema,
1091
1045
  transformers: [new ModelTransformer()],
1092
1046
  resolverConfig: {
1093
- project: config,
1047
+ project: {
1048
+ ConflictDetection: 'VERSION',
1049
+ ConflictHandler: ConflictHandlerType.AUTOMERGE,
1050
+ },
1094
1051
  },
1095
1052
  });
1096
- const out = transformer.transform(validSchema);
1097
1053
  expect(out).toBeDefined();
1098
1054
 
1099
1055
  const definition = out.schema;
@@ -1147,11 +1103,10 @@ describe('ModelTransformer: ', () => {
1147
1103
  name: String
1148
1104
  }`;
1149
1105
 
1150
- const transformer = new GraphQLTransform({
1106
+ const out = testTransform({
1107
+ schema: validSchema,
1151
1108
  transformers: [new ModelTransformer()],
1152
1109
  });
1153
-
1154
- const out = transformer.transform(validSchema);
1155
1110
  expect(out).toBeDefined();
1156
1111
 
1157
1112
  const definition = out.schema;
@@ -1180,19 +1135,19 @@ describe('ModelTransformer: ', () => {
1180
1135
  name: String
1181
1136
  }`;
1182
1137
 
1183
- const transformer = new GraphQLTransform({
1138
+ const out = testTransform({
1139
+ schema: validSchema,
1140
+ transformers: [new ModelTransformer()],
1141
+ transformParameters: {
1142
+ sandboxModeEnabled: true,
1143
+ },
1184
1144
  resolverConfig: {
1185
1145
  project: {
1186
1146
  ConflictDetection: 'VERSION',
1187
1147
  ConflictHandler: ConflictHandlerType.AUTOMERGE,
1188
1148
  },
1189
1149
  },
1190
- transformers: [new ModelTransformer()],
1191
- transformParameters: {
1192
- sandboxModeEnabled: true,
1193
- },
1194
1150
  });
1195
- const out = transformer.transform(validSchema);
1196
1151
  expect(out).toBeDefined();
1197
1152
  const schema = parse(out.schema);
1198
1153
  validateModelSchema(schema);
@@ -1259,7 +1214,12 @@ describe('ModelTransformer: ', () => {
1259
1214
  }
1260
1215
  `;
1261
1216
 
1262
- const transformer = new GraphQLTransform({
1217
+ const out = testTransform({
1218
+ schema: validSchema,
1219
+ transformers: [new ModelTransformer()],
1220
+ transformParameters: {
1221
+ sandboxModeEnabled: true,
1222
+ },
1263
1223
  resolverConfig: {
1264
1224
  project: {
1265
1225
  ConflictDetection: 'VERSION',
@@ -1279,12 +1239,7 @@ describe('ModelTransformer: ', () => {
1279
1239
  },
1280
1240
  },
1281
1241
  },
1282
- transformers: [new ModelTransformer()],
1283
- transformParameters: {
1284
- sandboxModeEnabled: true,
1285
- },
1286
1242
  });
1287
- const out = transformer.transform(validSchema);
1288
1243
  expect(out).toBeDefined();
1289
1244
  const schema = parse(out.schema);
1290
1245
  validateModelSchema(schema);
@@ -1360,13 +1315,13 @@ describe('ModelTransformer: ', () => {
1360
1315
  const validSchema = `type Todo @model {
1361
1316
  name: String
1362
1317
  }`;
1363
- const transformer = new GraphQLTransform({
1318
+ const out = testTransform({
1319
+ schema: validSchema,
1364
1320
  transformers: [new ModelTransformer()],
1365
1321
  transformParameters: {
1366
1322
  sandboxModeEnabled: true,
1367
1323
  },
1368
1324
  });
1369
- const out = transformer.transform(validSchema);
1370
1325
 
1371
1326
  const rootStack = out.rootStack;
1372
1327
  expect(rootStack).toBeDefined();
@@ -1389,7 +1344,12 @@ describe('ModelTransformer: ', () => {
1389
1344
  id: ID
1390
1345
  tags: [Tag]
1391
1346
  }`;
1392
- const transformer = new GraphQLTransform({
1347
+ const out = testTransform({
1348
+ schema: validSchema,
1349
+ transformers: [new ModelTransformer()],
1350
+ transformParameters: {
1351
+ sandboxModeEnabled: true,
1352
+ },
1393
1353
  authConfig: {
1394
1354
  defaultAuthentication: {
1395
1355
  authenticationType: 'AMAZON_COGNITO_USER_POOLS',
@@ -1400,12 +1360,7 @@ describe('ModelTransformer: ', () => {
1400
1360
  },
1401
1361
  ],
1402
1362
  },
1403
- transformers: [new ModelTransformer()],
1404
- transformParameters: {
1405
- sandboxModeEnabled: true,
1406
- },
1407
1363
  });
1408
- const out = transformer.transform(validSchema);
1409
1364
  expect(out).toBeDefined();
1410
1365
 
1411
1366
  const schema = parse(out.schema);
@@ -1441,15 +1396,14 @@ describe('ModelTransformer: ', () => {
1441
1396
  name: String!
1442
1397
  }
1443
1398
  `;
1444
- const transformer = new GraphQLTransform({
1399
+ const result = testTransform({
1400
+ schema: inputSchema,
1445
1401
  transformers: [new ModelTransformer()],
1446
1402
  stackMapping: {
1447
1403
  CreateBlogResolver: 'myCustomStack1',
1448
1404
  UpdateBlogResolver: 'myCustomStack2',
1449
1405
  },
1450
1406
  });
1451
-
1452
- const result = transformer.transform(inputSchema);
1453
1407
  expect(Object.keys(result.stacks.myCustomStack1.Resources!).includes('CreateBlogResolver')).toBe(true);
1454
1408
  expect(Object.keys(result.stacks.myCustomStack2.Resources!).includes('UpdateBlogResolver')).toBe(true);
1455
1409
 
@@ -1472,10 +1426,10 @@ describe('ModelTransformer: ', () => {
1472
1426
  type Query {
1473
1427
  todo: Todo @aws_lambda
1474
1428
  }`;
1475
- const transformer = new GraphQLTransform({
1429
+ const out = testTransform({
1430
+ schema: validSchema,
1476
1431
  transformers: [new ModelTransformer()],
1477
1432
  });
1478
- const out = transformer.transform(validSchema);
1479
1433
  expect(out).toBeDefined();
1480
1434
 
1481
1435
  const schema = parse(out.schema);
@@ -1491,10 +1445,10 @@ describe('ModelTransformer: ', () => {
1491
1445
  id: ID!
1492
1446
  }
1493
1447
  `;
1494
- const transformer = new GraphQLTransform({
1448
+ const out = testTransform({
1449
+ schema: validSchema,
1495
1450
  transformers: [new ModelTransformer()],
1496
1451
  });
1497
- const out = transformer.transform(validSchema);
1498
1452
  expect(out).toBeDefined();
1499
1453
  const definition = out.schema;
1500
1454
  expect(definition).toBeDefined();
@@ -1515,10 +1469,10 @@ describe('ModelTransformer: ', () => {
1515
1469
  }
1516
1470
  `;
1517
1471
 
1518
- const transformer = new GraphQLTransform({
1472
+ const out = testTransform({
1473
+ schema: validSchema,
1519
1474
  transformers: [new ModelTransformer()],
1520
1475
  });
1521
- const out = transformer.transform(validSchema);
1522
1476
  expect(out).toBeDefined();
1523
1477
  const definition = out.schema;
1524
1478
  expect(definition).toBeDefined();
@@ -1542,54 +1496,21 @@ describe('ModelTransformer: ', () => {
1542
1496
  }
1543
1497
  `;
1544
1498
 
1545
- const transformer = new GraphQLTransform({
1499
+ const out = testTransform({
1500
+ schema: validSchema,
1546
1501
  transformers: [new ModelTransformer()],
1547
- });
1548
- const modelToDatasourceMap = new Map<string, DatasourceType>();
1549
- modelToDatasourceMap.set('Post', {
1550
- dbType: 'MySQL',
1551
- provisionDB: false,
1552
- });
1553
- const out = transformer.transform(validSchema, {
1554
- modelToDatasourceMap,
1555
- });
1556
- expect(out).toBeDefined();
1557
-
1558
- validateModelSchema(parse(out.schema));
1559
- parse(out.schema);
1560
- });
1561
-
1562
- it('should successfully transform rds schema with array and object fields', async () => {
1563
- const validSchema = `
1564
- type Note @model {
1565
- id: ID!
1566
- content: String!
1567
- tags: [String!]
1568
- attachments: Attachment
1569
- }
1570
-
1571
- type Attachment {
1572
- report: String!
1573
- image: String!
1574
- }
1575
- `;
1576
-
1577
- const transformer = new GraphQLTransform({
1578
- transformers: [new ModelTransformer()],
1579
- });
1580
- const modelToDatasourceMap = new Map<string, DatasourceType>();
1581
- modelToDatasourceMap.set('Note', {
1582
- dbType: 'MySQL',
1583
- provisionDB: false,
1584
- });
1585
- const out = transformer.transform(validSchema, {
1586
- modelToDatasourceMap,
1502
+ modelToDatasourceMap: new Map(
1503
+ Object.entries({
1504
+ Post: {
1505
+ dbType: 'MySQL',
1506
+ provisionDB: false,
1507
+ },
1508
+ }),
1509
+ ),
1587
1510
  });
1588
1511
  expect(out).toBeDefined();
1589
1512
 
1590
1513
  validateModelSchema(parse(out.schema));
1591
1514
  parse(out.schema);
1592
- expect(out.schema).toMatchSnapshot();
1593
- expect(out.resolvers).toMatchSnapshot();
1594
1515
  });
1595
1516
  });