Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/integ.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/@aws-cdk/cdk-cli-wrapper/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions packages/@aws-cdk/cli-lib-alpha/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/@aws-cdk/cli-plugin-contract/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions packages/@aws-cdk/cloud-assembly-schema/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions packages/@aws-cdk/cloudformation-diff/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions packages/@aws-cdk/integ-runner/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/@aws-cdk/node-bundle/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions packages/@aws-cdk/tmp-toolkit-helpers/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions packages/@aws-cdk/toolkit-lib/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/@aws-cdk/user-input-gen/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions packages/aws-cdk/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions packages/aws-cdk/test/api/cxapp/assembly-versions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,10 @@ export function rewriteManifestVersion(directory: string, version: string) {
contents.version = version;
fs.writeFileSync(manifestFile, JSON.stringify(contents, undefined, 2));
}

export function rewriteManifestMinimumCliVersion(directory: string, version: string) {
const manifestFile = `${directory}/manifest.json`;
const contents = JSON.parse(fs.readFileSync(`${directory}/manifest.json`, 'utf-8'));
contents.minimumCliVersion = version;
fs.writeFileSync(manifestFile, JSON.stringify(contents, undefined, 2));
}
17 changes: 10 additions & 7 deletions packages/aws-cdk/test/api/cxapp/exec.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ import { testAssembly } from '../../_helpers/assembly';
import { mockSpawn } from '../../util/mock-child_process';
import { MockSdkProvider } from '../../util/mock-sdk';
import { RWLock } from '../../../lib/api/util/rwlock';
import { rewriteManifestVersion } from './assembly-versions';
import { rewriteManifestMinimumCliVersion, rewriteManifestVersion } from './assembly-versions';
import { asIoHelper, TestIoHost } from '../../../../@aws-cdk/tmp-toolkit-helpers/src/api/io/private';
import { ToolkitError } from '../../../../@aws-cdk/tmp-toolkit-helpers/src/api';

let sdkProvider: MockSdkProvider;
let config: Configuration;
Expand Down Expand Up @@ -68,6 +69,7 @@ test('cli throws when manifest version > schema version', async () => {
const app = createApp();
const currentSchemaVersion = cxschema.Manifest.version();
const mockManifestVersion = semver.inc(currentSchemaVersion, 'major');
const mockMinimumCliVersion = mockManifestVersion;

// this mock will cause the framework to use a greater schema version than the real one,
// and should cause the CLI to fail.
Expand All @@ -79,13 +81,14 @@ test('cli throws when manifest version > schema version', async () => {
}

rewriteManifestVersion('cdk.out', `${mockManifestVersion}`);
rewriteManifestMinimumCliVersion('cdk.out', `${mockMinimumCliVersion}`);

const expectedError = 'This CDK CLI is not compatible with the CDK library used by your application. Please upgrade the CLI to the latest version.'
+ `\n(Cloud assembly schema version mismatch: Maximum schema version supported is ${semver.major(currentSchemaVersion)}.x.x, but found ${mockManifestVersion})`;
+ `\n(Cloud assembly schema version mismatch: Maximum schema version supported is ${semver.major(currentSchemaVersion)}.x.x, but found ${mockManifestVersion}. You need at least CLI version ${mockMinimumCliVersion} to read this manifest.)`;

config.settings.set(['app'], 'cdk.out');

await expect(execProgram(sdkProvider, ioHelper, config)).rejects.toEqual(new Error(expectedError));
await expect(execProgram(sdkProvider, ioHelper, config)).rejects.toEqual(new ToolkitError(expectedError));

}, TEN_SECOND_TIMEOUT);

Expand Down Expand Up @@ -241,10 +244,10 @@ test('cli does not throw when the `build` script succeeds', async () => {
commandLine: 'real command', // `build` key is not split on whitespace
exitCode: 0,
},
{
commandLine: 'executable-app.js',
sideEffect: () => writeOutputAssembly(),
});
{
commandLine: 'executable-app.js',
sideEffect: () => writeOutputAssembly(),
});

// WHEN
const { lock } = await execProgram(sdkProvider, ioHelper, config);
Expand Down
6 changes: 3 additions & 3 deletions packages/cdk-assets/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading