UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

35 lines 4.98 kB
"use strict"; 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