Skip to content

Commit d18fe80

Browse files
authored
Merge branch 'main' into hotswap-agentcore-runtime
2 parents 33fe525 + 92af268 commit d18fe80

File tree

16 files changed

+243
-7
lines changed

16 files changed

+243
-7
lines changed

.projenrc.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1495,12 +1495,15 @@ integRunner.gitignore?.addPatterns(
14951495
'lib/recommended-feature-flags.json',
14961496
);
14971497
integRunner.tsconfig?.addInclude('lib/*.json');
1498+
integRunner.tsconfigDev?.addInclude('lib/*.json');
14981499
integRunner.tsconfig?.addInclude('lib/init-templates/*/*/add-project.hook.ts');
14991500
integRunner.tsconfig?.addExclude('lib/init-templates/*/typescript/**/*.ts');
15001501
integRunner.tsconfig?.addExclude('test/language-tests/**/integ.*.ts');
15011502

15021503
integRunner.preCompileTask.prependExec('./build-tools/generate.sh');
15031504

1505+
new TypecheckTests(integRunner);
1506+
15041507
new BundleCli(integRunner, {
15051508
externals: {
15061509
optionalDependencies: [

packages/@aws-cdk/integ-runner/.gitattributes

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk/integ-runner/.gitignore

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk/integ-runner/.projen/files.json

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk/integ-runner/.projen/tasks.json

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk/integ-runner/lib/engines/toolkit-lib.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ export class ToolkitLibRunnerEngine implements ICdk {
177177
traceLogs: options.traceLogs,
178178
stacks: this.stackSelector(options),
179179
deploymentMethod: this.deploymentMethod(options),
180+
outputsFile: options.outputsFile ? path.join(this.options.workingDirectory, options.outputsFile) : undefined,
180181
});
181182
}
182183

packages/@aws-cdk/integ-runner/test/engines/toolkit-lib.test.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,30 @@ describe('ToolkitLibRunnerEngine', () => {
144144
method: 'hotswap',
145145
fallback: { method: 'change-set' },
146146
},
147+
outputsFile: undefined,
148+
});
149+
});
150+
151+
it('should pass outputsFile with absolute path when provided', async () => {
152+
const mockCx = {};
153+
mockToolkit.fromCdkApp.mockResolvedValue(mockCx as any);
154+
155+
await engine.deploy({
156+
app: 'test-app',
157+
stacks: ['stack1'],
158+
outputsFile: 'assertion-results.json',
159+
});
160+
161+
expect(mockToolkit.deploy).toHaveBeenCalledWith(mockCx, {
162+
stacks: {
163+
strategy: 'pattern-must-match',
164+
patterns: ['stack1'],
165+
expand: 'upstream',
166+
},
167+
deploymentMethod: {
168+
method: 'change-set',
169+
},
170+
outputsFile: '/test/dir/assertion-results.json',
147171
});
148172
});
149173

@@ -220,7 +244,7 @@ describe('ToolkitLibRunnerEngine', () => {
220244

221245
describe('constructor options', () => {
222246
it('should handle showOutput option', () => {
223-
const engineWithOutput = new ToolkitLibRunnerEngine({
247+
new ToolkitLibRunnerEngine({
224248
workingDirectory: '/test',
225249
showOutput: true,
226250
region: 'us-dummy-1',

packages/@aws-cdk/integ-runner/test/runner/integ-test-runner.test.ts

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ describe('IntegTest runIntegTests', () => {
4747
// WHEN
4848
const integTest = new IntegTestRunner({
4949
cdk: cdkMock.cdk,
50+
region: 'eu-west-1',
5051
test: new IntegTest({
5152
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
5253
discoveryRoot: 'test/test-data',
@@ -112,6 +113,7 @@ describe('IntegTest runIntegTests', () => {
112113
// WHEN
113114
const integTest = new IntegTestRunner({
114115
cdk: cdkMock.cdk,
116+
region: 'eu-west-1',
115117
test: new IntegTest({
116118
fileName: 'test/test-data/xxxxx.integ-test1.js',
117119
discoveryRoot: 'test/test-data',
@@ -155,6 +157,7 @@ describe('IntegTest runIntegTests', () => {
155157
// WHEN
156158
const integTest = new IntegTestRunner({
157159
cdk: cdkMock.cdk,
160+
region: 'eu-west-1',
158161
test: new IntegTest({
159162
fileName: 'test/test-data/xxxxx.test-with-snapshot-assets-diff.js',
160163
discoveryRoot: 'test/test-data',
@@ -217,6 +220,7 @@ describe('IntegTest runIntegTests', () => {
217220
// WHEN
218221
const integTest = new IntegTestRunner({
219222
cdk: cdkMock.cdk,
223+
region: 'eu-west-1',
220224
test: new IntegTest({
221225
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
222226
discoveryRoot: 'test/test-data',
@@ -263,6 +267,7 @@ describe('IntegTest runIntegTests', () => {
263267
// WHEN
264268
const integTest = new IntegTestRunner({
265269
cdk: cdkMock.cdk,
270+
region: 'eu-west-1',
266271
test: new IntegTest({
267272
fileName: 'test/test-data/xxxxx.integ-test1.js',
268273
discoveryRoot: 'test/test-data',
@@ -283,6 +288,7 @@ describe('IntegTest runIntegTests', () => {
283288
// WHEN
284289
const integTest = new IntegTestRunner({
285290
cdk: cdkMock.cdk,
291+
region: 'eu-west-1',
286292
test: new IntegTest({
287293
fileName: 'test/test-data/xxxxx.integ-test1.js',
288294
discoveryRoot: 'test/test-data',
@@ -303,6 +309,7 @@ describe('IntegTest runIntegTests', () => {
303309
// WHEN
304310
const runner = new IntegTestRunner({
305311
cdk: cdkMock.cdk,
312+
region: 'eu-west-1',
306313
test: new IntegTest({
307314
fileName: 'test/test-data/xxxxx.integ-test1.js',
308315
discoveryRoot: 'test/test-data',
@@ -327,6 +334,7 @@ describe('IntegTest runIntegTests', () => {
327334
// WHEN
328335
const integTest = new IntegTestRunner({
329336
cdk: cdkMock.cdk,
337+
region: 'eu-west-1',
330338
test: new IntegTest({
331339
fileName: 'test/test-data/xxxxx.integ-test1.js',
332340
discoveryRoot: 'test/test-data',
@@ -377,6 +385,7 @@ describe('IntegTest runIntegTests', () => {
377385
test('with hooks', async () => {
378386
const integTest = new IntegTestRunner({
379387
cdk: cdkMock.cdk,
388+
region: 'eu-west-1',
380389
test: new IntegTest({
381390
fileName: 'test/test-data/xxxxx.test-with-snapshot-assets.js',
382391
discoveryRoot: 'test/test-data',
@@ -430,6 +439,7 @@ describe('IntegTest runIntegTests', () => {
430439
// WHEN
431440
const integTest = new IntegTestRunner({
432441
cdk: cdkMock.cdk,
442+
region: 'eu-west-1',
433443
test: new IntegTest({
434444
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
435445
discoveryRoot: 'test/test-data',
@@ -470,6 +480,7 @@ describe('IntegTest runIntegTests', () => {
470480
// WHEN
471481
const integTest = new IntegTestRunner({
472482
cdk: cdkMock.cdk,
483+
region: 'eu-west-1',
473484
test: new IntegTest({
474485
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
475486
discoveryRoot: 'test/test-data',
@@ -511,6 +522,7 @@ describe('IntegTest runIntegTests', () => {
511522
// WHEN
512523
const integTest = new IntegTestRunner({
513524
cdk: cdkMock.cdk,
525+
region: 'eu-west-1',
514526
test: new IntegTest({
515527
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
516528
discoveryRoot: 'test/test-data',
@@ -531,6 +543,7 @@ describe('IntegTest runIntegTests', () => {
531543
test('with assets manifest, assets are removed if stackUpdateWorkflow is disabled', async () => {
532544
const integTest = new IntegTestRunner({
533545
cdk: cdkMock.cdk,
546+
region: 'eu-west-1',
534547
test: new IntegTest({
535548
fileName: 'test/test-data/xxxxx.test-with-snapshot-assets.js',
536549
discoveryRoot: 'test/test-data',
@@ -553,6 +566,7 @@ describe('IntegTest runIntegTests', () => {
553566
test('with assembly manifest, assets are removed if stackUpdateWorkflow is disabled', async () => {
554567
const integTest = new IntegTestRunner({
555568
cdk: cdkMock.cdk,
569+
region: 'eu-west-1',
556570
test: new IntegTest({
557571
fileName: 'test/test-data/xxxxx.test-with-snapshot-assets-diff.js',
558572
discoveryRoot: 'test/test-data',
@@ -581,6 +595,7 @@ describe('IntegTest runIntegTests', () => {
581595
// WHEN
582596
const integTest = new IntegTestRunner({
583597
cdk: cdkMock.cdk,
598+
region: 'eu-west-1',
584599
test: new IntegTest({
585600
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
586601
discoveryRoot: 'test/test-data',
@@ -610,6 +625,7 @@ describe('IntegTest runIntegTests', () => {
610625
// WHEN
611626
const integTest = new IntegTestRunner({
612627
cdk: cdkMock.cdk,
628+
region: 'eu-west-1',
613629
test: new IntegTest({
614630
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
615631
discoveryRoot: 'test/test-data',
@@ -634,13 +650,52 @@ describe('IntegTest runIntegTests', () => {
634650
app: 'node --no-warnings test/test-data/xxxxx.test-with-snapshot.js',
635651
}));
636652
});
653+
654+
test('with failed assertions', async () => {
655+
// GIVEN
656+
const outputsFile = 'cdk-integ.out.xxxxx.test-with-snapshot.js.snapshot/assertion-results.json';
657+
const fullOutputsPath = `test/test-data/${outputsFile}`;
658+
jest.spyOn(fs, 'existsSync').mockReturnValue(true);
659+
jest.spyOn(fs, 'readJSONSync').mockReturnValue({
660+
BundlingDefaultTestDeployAssertAACA0CAF: {
661+
AssertionResultsTest123: '{"status":"fail","message":"Expected 2 but received 1"}',
662+
},
663+
});
664+
jest.spyOn(fs, 'unlinkSync').mockImplementation();
665+
666+
const integTest = new IntegTestRunner({
667+
cdk: cdkMock.cdk,
668+
region: 'eu-west-1',
669+
test: new IntegTest({
670+
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
671+
discoveryRoot: 'test/test-data',
672+
}),
673+
});
674+
675+
// WHEN
676+
const results = await integTest.runIntegTestCase({
677+
testCaseName: 'xxxxx.test-with-snapshot',
678+
});
679+
680+
// THEN
681+
expect(results).toBeDefined();
682+
expect(results?.AssertionResultsTest123).toEqual({
683+
status: 'fail',
684+
message: 'Expected 2 but received 1',
685+
});
686+
expect(cdkMock.mocks.deploy).toHaveBeenCalledWith(expect.objectContaining({
687+
outputsFile: fullOutputsPath,
688+
}));
689+
expect(fs.readJSONSync).toHaveBeenCalledWith(fullOutputsPath);
690+
});
637691
});
638692

639693
describe('IntegTest watchIntegTest', () => {
640694
test('default watch', async () => {
641695
// GIVEN
642696
const integTest = new IntegTestRunner({
643697
cdk: cdkMock.cdk,
698+
region: 'eu-west-1',
644699
test: new IntegTest({
645700
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
646701
discoveryRoot: 'test/test-data',
@@ -668,6 +723,7 @@ describe('IntegTest watchIntegTest', () => {
668723
// GIVEN
669724
const integTest = new IntegTestRunner({
670725
cdk: cdkMock.cdk,
726+
region: 'eu-west-1',
671727
test: new IntegTest({
672728
fileName: 'test/test-data/xxxxx.test-with-snapshot.js',
673729
discoveryRoot: 'test/test-data',
@@ -697,6 +753,7 @@ describe('IntegTest watchIntegTest', () => {
697753
// GIVEN
698754
const runner = new IntegTestRunner({
699755
cdk: cdkMock.cdk,
756+
region: 'eu-west-1',
700757
test: new IntegTest({
701758
fileName: 'test/test-data/xxxxx.test-with-error.js',
702759
discoveryRoot: 'test/test-data',

packages/@aws-cdk/integ-runner/test/runner/runner-base-manifest-errors.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as path from 'path';
21
import { LegacyIntegTestSuite } from '../../lib/runner';
32
import { IntegTest } from '../../lib/runner/integration-tests';
43
import { ManifestLoadError } from '../../lib/runner/private/integ-manifest';
@@ -57,6 +56,7 @@ describe('IntegRunner manifest error handling', () => {
5756
discoveryRoot: 'test/test-data',
5857
}),
5958
showOutput: true,
59+
region: 'eu-west-1',
6060
});
6161

6262
// WHEN / THEN
@@ -73,6 +73,7 @@ describe('IntegRunner manifest error handling', () => {
7373
discoveryRoot: 'test/test-data',
7474
}),
7575
showOutput: true,
76+
region: 'eu-west-1',
7677
});
7778

7879
// WHEN

packages/@aws-cdk/integ-runner/test/tsconfig.json

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)