@aws-cdk-testing/cli-integ
Version:
Integration tests for the AWS CDK CLI
35 lines • 4.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const path = require("path");
const fs = require("fs-extra");
const lib_1 = require("../../lib");
(0, lib_1.integTest)('cdk hotswap deploy emits HOTSWAP telemetry event', (0, lib_1.withDefaultFixture)(async (fixture) => {
const telemetryFile = path.join(fixture.integTestDir, `telemetry-hotswap-${Date.now()}.json`);
// Initial deploy. DYNAMIC_LAMBDA_PROPERTY_VALUE is read by LambdaHotswapStack
// in app.js to set the Lambda description and env vars — changing it between
// deploys produces a hotswappable diff.
await fixture.cdkDeploy('lambda-hotswap', {
captureStderr: false,
modEnv: { DYNAMIC_LAMBDA_PROPERTY_VALUE: 'original' },
});
// Hotswap deploy with telemetry
const deployOutput = await fixture.cdkDeploy('lambda-hotswap', {
options: ['--hotswap'],
telemetryFile,
verboseLevel: 3,
modEnv: { DYNAMIC_LAMBDA_PROPERTY_VALUE: 'updated' },
});
// Check the trace that telemetry was executed successfully
expect(deployOutput).toContain('Telemetry Sent Successfully');
const json = fs.readJSONSync(telemetryFile);
expect(json).toEqual(expect.arrayContaining([
expect.objectContaining({
event: expect.objectContaining({
state: 'SUCCEEDED',
eventType: 'HOTSWAP',
}),
}),
]));
fs.unlinkSync(telemetryFile);
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWhvdHN3YXAtdGVsZW1ldHJ5LmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1ob3Rzd2FwLXRlbGVtZXRyeS5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLG1DQUEwRDtBQUUxRCxJQUFBLGVBQVMsRUFDUCxrREFBa0QsRUFDbEQsSUFBQSx3QkFBa0IsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLHFCQUFxQixJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTlGLDhFQUE4RTtJQUM5RSw2RUFBNkU7SUFDN0Usd0NBQXdDO0lBQ3hDLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtRQUN4QyxhQUFhLEVBQUUsS0FBSztRQUNwQixNQUFNLEVBQUUsRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUU7S0FDdEQsQ0FBQyxDQUFDO0lBRUgsZ0NBQWdDO0lBQ2hDLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtRQUM3RCxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUM7UUFDdEIsYUFBYTtRQUNiLFlBQVksRUFBRSxDQUFDO1FBQ2YsTUFBTSxFQUFFLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxFQUFFO0tBQ3JELENBQUMsQ0FBQztJQUVILDJEQUEyRDtJQUMzRCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFOUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUNsQixNQUFNLENBQUMsZUFBZSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUN0QixLQUFLLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUM3QixLQUFLLEVBQUUsV0FBVztnQkFDbEIsU0FBUyxFQUFFLFNBQVM7YUFDckIsQ0FBQztTQUNILENBQUM7S0FDSCxDQUFDLENBQ0gsQ0FBQztJQUNGLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgeyBpbnRlZ1Rlc3QsIHdpdGhEZWZhdWx0Rml4dHVyZSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbmludGVnVGVzdChcbiAgJ2NkayBob3Rzd2FwIGRlcGxveSBlbWl0cyBIT1RTV0FQIHRlbGVtZXRyeSBldmVudCcsXG4gIHdpdGhEZWZhdWx0Rml4dHVyZShhc3luYyAoZml4dHVyZSkgPT4ge1xuICAgIGNvbnN0IHRlbGVtZXRyeUZpbGUgPSBwYXRoLmpvaW4oZml4dHVyZS5pbnRlZ1Rlc3REaXIsIGB0ZWxlbWV0cnktaG90c3dhcC0ke0RhdGUubm93KCl9Lmpzb25gKTtcblxuICAgIC8vIEluaXRpYWwgZGVwbG95LiBEWU5BTUlDX0xBTUJEQV9QUk9QRVJUWV9WQUxVRSBpcyByZWFkIGJ5IExhbWJkYUhvdHN3YXBTdGFja1xuICAgIC8vIGluIGFwcC5qcyB0byBzZXQgdGhlIExhbWJkYSBkZXNjcmlwdGlvbiBhbmQgZW52IHZhcnMg4oCUIGNoYW5naW5nIGl0IGJldHdlZW5cbiAgICAvLyBkZXBsb3lzIHByb2R1Y2VzIGEgaG90c3dhcHBhYmxlIGRpZmYuXG4gICAgYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2xhbWJkYS1ob3Rzd2FwJywge1xuICAgICAgY2FwdHVyZVN0ZGVycjogZmFsc2UsXG4gICAgICBtb2RFbnY6IHsgRFlOQU1JQ19MQU1CREFfUFJPUEVSVFlfVkFMVUU6ICdvcmlnaW5hbCcgfSxcbiAgICB9KTtcblxuICAgIC8vIEhvdHN3YXAgZGVwbG95IHdpdGggdGVsZW1ldHJ5XG4gICAgY29uc3QgZGVwbG95T3V0cHV0ID0gYXdhaXQgZml4dHVyZS5jZGtEZXBsb3koJ2xhbWJkYS1ob3Rzd2FwJywge1xuICAgICAgb3B0aW9uczogWyctLWhvdHN3YXAnXSxcbiAgICAgIHRlbGVtZXRyeUZpbGUsXG4gICAgICB2ZXJib3NlTGV2ZWw6IDMsXG4gICAgICBtb2RFbnY6IHsgRFlOQU1JQ19MQU1CREFfUFJPUEVSVFlfVkFMVUU6ICd1cGRhdGVkJyB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ2hlY2sgdGhlIHRyYWNlIHRoYXQgdGVsZW1ldHJ5IHdhcyBleGVjdXRlZCBzdWNjZXNzZnVsbHlcbiAgICBleHBlY3QoZGVwbG95T3V0cHV0KS50b0NvbnRhaW4oJ1RlbGVtZXRyeSBTZW50IFN1Y2Nlc3NmdWxseScpO1xuXG4gICAgY29uc3QganNvbiA9IGZzLnJlYWRKU09OU3luYyh0ZWxlbWV0cnlGaWxlKTtcbiAgICBleHBlY3QoanNvbikudG9FcXVhbChcbiAgICAgIGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgZXZlbnQ6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICAgIHN0YXRlOiAnU1VDQ0VFREVEJyxcbiAgICAgICAgICAgIGV2ZW50VHlwZTogJ0hPVFNXQVAnLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIF0pLFxuICAgICk7XG4gICAgZnMudW5saW5rU3luYyh0ZWxlbWV0cnlGaWxlKTtcbiAgfSksXG4pO1xuIl19