UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

53 lines 6.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_cloudformation_1 = require("@aws-sdk/client-cloudformation"); const lib_1 = require("../../../lib"); (0, lib_1.integTest)('hotswap deployment supports Bedrock AgentCore Runtime', (0, lib_1.withDefaultFixture)(async (fixture) => { // GIVEN const stackName = 'agentcore-hotswap'; await fixture.cdkDeploy(stackName, { captureStderr: false, modEnv: { DYNAMIC_BEDROCK_RUNTIME_DESCRIPTION: 'original description', DYNAMIC_BEDROCK_RUNTIME_ENV_VAR: 'original value', }, }); // WHEN const deployOutput = await fixture.cdkDeploy(stackName, { options: ['--hotswap'], captureStderr: true, onlyStderr: true, modEnv: { DYNAMIC_BEDROCK_RUNTIME_DESCRIPTION: 'new description', DYNAMIC_BEDROCK_RUNTIME_ENV_VAR: 'new value', }, }); const response = await fixture.aws.cloudFormation.send(new client_cloudformation_1.DescribeStacksCommand({ StackName: fixture.fullStackName(stackName), })); const runtimeId = response.Stacks?.[0].Outputs?.find((output) => output.OutputKey === 'RuntimeId')?.OutputValue; // THEN // The deployment should not trigger a full deployment, thus the stack's status must remains // "CREATE_COMPLETE" expect(response.Stacks?.[0].StackStatus).toEqual('CREATE_COMPLETE'); // The entire string fails locally due to formatting. Making this test less specific expect(deployOutput).toMatch(/hotswapped!/); expect(deployOutput).toContain(runtimeId); }, { aws: { // Bedrock AgentCore Runtime is only available in specific regions // Source: https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-regions.html regions: [ 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'eu-west-1', 'eu-central-1', 'us-east-1', 'us-east-2', 'us-west-2', ], }, })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWhvdHN3YXAtZGVwbG95bWVudC1zdXBwb3J0cy1iZWRyb2NrLWFnZW50Y29yZS1ydW50aW1lLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1ob3Rzd2FwLWRlcGxveW1lbnQtc3VwcG9ydHMtYmVkcm9jay1hZ2VudGNvcmUtcnVudGltZS5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwRUFBdUU7QUFDdkUsc0NBQTZEO0FBRTdELElBQUEsZUFBUyxFQUNQLHVEQUF1RCxFQUN2RCxJQUFBLHdCQUFrQixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNuQyxRQUFRO0lBQ1IsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUM7SUFDdEMsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtRQUNqQyxhQUFhLEVBQUUsS0FBSztRQUNwQixNQUFNLEVBQUU7WUFDTixtQ0FBbUMsRUFBRSxzQkFBc0I7WUFDM0QsK0JBQStCLEVBQUUsZ0JBQWdCO1NBQ2xEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7UUFDdEQsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ3RCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLG1DQUFtQyxFQUFFLGlCQUFpQjtZQUN0RCwrQkFBK0IsRUFBRSxXQUFXO1NBQzdDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3BELElBQUksNkNBQXFCLENBQUM7UUFDeEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0tBQzVDLENBQUMsQ0FDSCxDQUFDO0lBQ0YsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLEVBQUUsV0FBVyxDQUFDO0lBRWhILE9BQU87SUFFUCw0RkFBNEY7SUFDNUYsb0JBQW9CO0lBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEUsb0ZBQW9GO0lBQ3BGLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QyxDQUFDLEVBQUU7SUFDRCxHQUFHLEVBQUU7UUFDSCxrRUFBa0U7UUFDbEUsK0ZBQStGO1FBQy9GLE9BQU8sRUFBRTtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsY0FBYztZQUNkLFdBQVc7WUFDWCxXQUFXO1lBQ1gsV0FBVztTQUNaO0tBQ0Y7Q0FDRixDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlU3RhY2tzQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uLy4uL2xpYic7XG5cbmludGVnVGVzdChcbiAgJ2hvdHN3YXAgZGVwbG95bWVudCBzdXBwb3J0cyBCZWRyb2NrIEFnZW50Q29yZSBSdW50aW1lJyxcbiAgd2l0aERlZmF1bHRGaXh0dXJlKGFzeW5jIChmaXh0dXJlKSA9PiB7XG4gICAgLy8gR0lWRU5cbiAgICBjb25zdCBzdGFja05hbWUgPSAnYWdlbnRjb3JlLWhvdHN3YXAnO1xuICAgIGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KHN0YWNrTmFtZSwge1xuICAgICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gICAgICBtb2RFbnY6IHtcbiAgICAgICAgRFlOQU1JQ19CRURST0NLX1JVTlRJTUVfREVTQ1JJUFRJT046ICdvcmlnaW5hbCBkZXNjcmlwdGlvbicsXG4gICAgICAgIERZTkFNSUNfQkVEUk9DS19SVU5USU1FX0VOVl9WQVI6ICdvcmlnaW5hbCB2YWx1ZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gV0hFTlxuICAgIGNvbnN0IGRlcGxveU91dHB1dCA9IGF3YWl0IGZpeHR1cmUuY2RrRGVwbG95KHN0YWNrTmFtZSwge1xuICAgICAgb3B0aW9uczogWyctLWhvdHN3YXAnXSxcbiAgICAgIGNhcHR1cmVTdGRlcnI6IHRydWUsXG4gICAgICBvbmx5U3RkZXJyOiB0cnVlLFxuICAgICAgbW9kRW52OiB7XG4gICAgICAgIERZTkFNSUNfQkVEUk9DS19SVU5USU1FX0RFU0NSSVBUSU9OOiAnbmV3IGRlc2NyaXB0aW9uJyxcbiAgICAgICAgRFlOQU1JQ19CRURST0NLX1JVTlRJTUVfRU5WX1ZBUjogJ25ldyB2YWx1ZScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXh0dXJlLmF3cy5jbG91ZEZvcm1hdGlvbi5zZW5kKFxuICAgICAgbmV3IERlc2NyaWJlU3RhY2tzQ29tbWFuZCh7XG4gICAgICAgIFN0YWNrTmFtZTogZml4dHVyZS5mdWxsU3RhY2tOYW1lKHN0YWNrTmFtZSksXG4gICAgICB9KSxcbiAgICApO1xuICAgIGNvbnN0IHJ1bnRpbWVJZCA9IHJlc3BvbnNlLlN0YWNrcz8uWzBdLk91dHB1dHM/LmZpbmQoKG91dHB1dCkgPT4gb3V0cHV0Lk91dHB1dEtleSA9PT0gJ1J1bnRpbWVJZCcpPy5PdXRwdXRWYWx1ZTtcblxuICAgIC8vIFRIRU5cblxuICAgIC8vIFRoZSBkZXBsb3ltZW50IHNob3VsZCBub3QgdHJpZ2dlciBhIGZ1bGwgZGVwbG95bWVudCwgdGh1cyB0aGUgc3RhY2sncyBzdGF0dXMgbXVzdCByZW1haW5zXG4gICAgLy8gXCJDUkVBVEVfQ09NUExFVEVcIlxuICAgIGV4cGVjdChyZXNwb25zZS5TdGFja3M/LlswXS5TdGFja1N0YXR1cykudG9FcXVhbCgnQ1JFQVRFX0NPTVBMRVRFJyk7XG4gICAgLy8gVGhlIGVudGlyZSBzdHJpbmcgZmFpbHMgbG9jYWxseSBkdWUgdG8gZm9ybWF0dGluZy4gTWFraW5nIHRoaXMgdGVzdCBsZXNzIHNwZWNpZmljXG4gICAgZXhwZWN0KGRlcGxveU91dHB1dCkudG9NYXRjaCgvaG90c3dhcHBlZCEvKTtcbiAgICBleHBlY3QoZGVwbG95T3V0cHV0KS50b0NvbnRhaW4ocnVudGltZUlkKTtcbiAgfSwge1xuICAgIGF3czoge1xuICAgICAgLy8gQmVkcm9jayBBZ2VudENvcmUgUnVudGltZSBpcyBvbmx5IGF2YWlsYWJsZSBpbiBzcGVjaWZpYyByZWdpb25zXG4gICAgICAvLyBTb3VyY2U6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvYWdlbnRjb3JlLXJlZ2lvbnMuaHRtbFxuICAgICAgcmVnaW9uczogW1xuICAgICAgICAnYXAtc291dGgtMScsXG4gICAgICAgICdhcC1zb3V0aGVhc3QtMScsXG4gICAgICAgICdhcC1zb3V0aGVhc3QtMicsXG4gICAgICAgICdhcC1ub3J0aGVhc3QtMScsXG4gICAgICAgICdldS13ZXN0LTEnLFxuICAgICAgICAnZXUtY2VudHJhbC0xJyxcbiAgICAgICAgJ3VzLWVhc3QtMScsXG4gICAgICAgICd1cy1lYXN0LTInLFxuICAgICAgICAndXMtd2VzdC0yJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSksXG4pO1xuIl19