UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

110 lines 12.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lib_1 = require("../../../lib"); (0, lib_1.integTest)('CDK synth add the metadata properties expected by sam', (0, lib_1.withSamIntegrationFixture)(async (fixture) => { // Synth first await fixture.cdkSynth(); const template = fixture.template('TestStack'); const expectedResources = [ { // Python Layer Version id: 'PythonLayerVersion39495CEF', cdkId: 'PythonLayerVersion', isBundled: true, property: 'Content', }, { // Layer Version id: 'LayerVersion3878DA3A', cdkId: 'LayerVersion', isBundled: false, property: 'Content', }, { // Bundled layer version id: 'BundledLayerVersionPythonRuntime6BADBD6E', cdkId: 'BundledLayerVersionPythonRuntime', isBundled: true, property: 'Content', }, { // Python Function id: 'PythonFunction0BCF77FD', cdkId: 'PythonFunction', isBundled: true, property: 'Code', }, { // Log Retention Function id: 'LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aFD4BFC8A', cdkId: 'LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a', isBundled: false, property: 'Code', }, { // Function id: 'FunctionPythonRuntime28CBDA05', cdkId: 'FunctionPythonRuntime', isBundled: false, property: 'Code', }, { // Bundled Function id: 'BundledFunctionPythonRuntime4D9A0918', cdkId: 'BundledFunctionPythonRuntime', isBundled: true, property: 'Code', }, { // NodeJs Function id: 'NodejsFunction09C1F20F', cdkId: 'NodejsFunction', isBundled: true, property: 'Code', }, { // Go Function id: 'GoFunctionCA95FBAA', cdkId: 'GoFunction', isBundled: true, property: 'Code', }, { // Docker Image Function id: 'DockerImageFunction28B773E6', cdkId: 'DockerImageFunction', dockerFilePath: 'Dockerfile', property: 'Code.ImageUri', }, { // Spec Rest Api id: 'SpecRestAPI7D4B3A34', cdkId: 'SpecRestAPI', property: 'BodyS3Location', }, ]; for (const resource of expectedResources) { fixture.output.write(`validate assets metadata for resource ${resource}`); expect(resource.id in template.Resources).toBeTruthy(); expect(template.Resources[resource.id]).toEqual(expect.objectContaining({ Metadata: { 'aws:cdk:path': `${fixture.fullStackName('TestStack')}/${resource.cdkId}/Resource`, 'aws:asset:path': expect.stringMatching(/asset\.[0-9a-zA-Z]{64}/), 'aws:asset:is-bundled': resource.isBundled, 'aws:asset:dockerfile-path': resource.dockerFilePath, 'aws:asset:property': resource.property, }, })); } // Nested Stack fixture.output.write('validate assets metadata for nested stack resource'); expect('NestedStackNestedStackNestedStackNestedStackResourceB70834FD' in template.Resources).toBeTruthy(); expect(template.Resources.NestedStackNestedStackNestedStackNestedStackResourceB70834FD).toEqual(expect.objectContaining({ Metadata: { 'aws:cdk:path': `${fixture.fullStackName('TestStack')}/NestedStack.NestedStack/NestedStack.NestedStackResource`, 'aws:asset:path': expect.stringMatching(`${fixture.stackNamePrefix.replace(/-/, '')}TestStackNestedStack[0-9A-Z]{8}\.nested\.template\.json`), 'aws:asset:property': 'TemplateURL', }, })); })); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNkay1zeW50aC1hZGQtdGhlLW1ldGFkYXRhLXByb3BlcnRpZXMtZXhwZWN0ZWQtYnktc2FtLmludGVndGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1jZGstc3ludGgtYWRkLXRoZS1tZXRhZGF0YS1wcm9wZXJ0aWVzLWV4cGVjdGVkLWJ5LXNhbS5pbnRlZ3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBb0U7QUFFcEUsSUFBQSxlQUFTLEVBQ1AsdURBQXVELEVBQ3ZELElBQUEsK0JBQXlCLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQzFDLGNBQWM7SUFDZCxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV6QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRS9DLE1BQU0saUJBQWlCLEdBQUc7UUFDeEI7WUFDRSx1QkFBdUI7WUFDdkIsRUFBRSxFQUFFLDRCQUE0QjtZQUNoQyxLQUFLLEVBQUUsb0JBQW9CO1lBQzNCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLFNBQVM7U0FDcEI7UUFDRDtZQUNFLGdCQUFnQjtZQUNoQixFQUFFLEVBQUUsc0JBQXNCO1lBQzFCLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFFBQVEsRUFBRSxTQUFTO1NBQ3BCO1FBQ0Q7WUFDRSx3QkFBd0I7WUFDeEIsRUFBRSxFQUFFLDBDQUEwQztZQUM5QyxLQUFLLEVBQUUsa0NBQWtDO1lBQ3pDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLFNBQVM7U0FDcEI7UUFDRDtZQUNFLGtCQUFrQjtZQUNsQixFQUFFLEVBQUUsd0JBQXdCO1lBQzVCLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsTUFBTTtTQUNqQjtRQUNEO1lBQ0UseUJBQXlCO1lBQ3pCLEVBQUUs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dGhTYW1JbnRlZ3JhdGlvbkZpeHR1cmUgfSBmcm9tICcuLi8uLi8uLi9saWInO1xuXG5pbnRlZ1Rlc3QoXG4gICdDREsgc3ludGggYWRkIHRoZSBtZXRhZGF0YSBwcm9wZXJ0aWVzIGV4cGVjdGVkIGJ5IHNhbScsXG4gIHdpdGhTYW1JbnRlZ3JhdGlvbkZpeHR1cmUoYXN5bmMgKGZpeHR1cmUpID0+IHtcbiAgICAvLyBTeW50aCBmaXJzdFxuICAgIGF3YWl0IGZpeHR1cmUuY2RrU3ludGgoKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0gZml4dHVyZS50ZW1wbGF0ZSgnVGVzdFN0YWNrJyk7XG5cbiAgICBjb25zdCBleHBlY3RlZFJlc291cmNlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgLy8gUHl0aG9uIExheWVyIFZlcnNpb25cbiAgICAgICAgaWQ6ICdQeXRob25MYXllclZlcnNpb24zOTQ5NUNFRicsXG4gICAgICAgIGNka0lkOiAnUHl0aG9uTGF5ZXJWZXJzaW9uJyxcbiAgICAgICAgaXNCdW5kbGVkOiB0cnVlLFxuICAgICAgICBwcm9wZXJ0eTogJ0NvbnRlbnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gTGF5ZXIgVmVyc2lvblxuICAgICAgICBpZDogJ0xheWVyVmVyc2lvbjM4NzhEQTNBJyxcbiAgICAgICAgY2RrSWQ6ICdMYXllclZlcnNpb24nLFxuICAgICAgICBpc0J1bmRsZWQ6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0eTogJ0NvbnRlbnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gQnVuZGxlZCBsYXllciB2ZXJzaW9uXG4gICAgICAgIGlkOiAnQnVuZGxlZExheWVyVmVyc2lvblB5dGhvblJ1bnRpbWU2QkFEQkQ2RScsXG4gICAgICAgIGNka0lkOiAnQnVuZGxlZExheWVyVmVyc2lvblB5dGhvblJ1bnRpbWUnLFxuICAgICAgICBpc0J1bmRsZWQ6IHRydWUsXG4gICAgICAgIHByb3BlcnR5OiAnQ29udGVudCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBQeXRob24gRnVuY3Rpb25cbiAgICAgICAgaWQ6ICdQeXRob25GdW5jdGlvbjBCQ0Y3N0ZEJyxcbiAgICAgICAgY2RrSWQ6ICdQeXRob25GdW5jdGlvbicsXG4gICAgICAgIGlzQnVuZGxlZDogdHJ1ZSxcbiAgICAgICAgcHJvcGVydHk6ICdDb2RlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIExvZyBSZXRlbnRpb24gRnVuY3Rpb25cbiAgICAgICAgaWQ6ICdMb2dSZXRlbnRpb25hYWUwYWEzYzViNGQ0Zjg3YjAyZDg1YjIwMWVmZGQ4YUZENEJGQzhBJyxcbiAgICAgICAgY2RrSWQ6ICdMb2dSZXRlbnRpb25hYWUwYWEzYzViNGQ0Zjg3YjAyZDg1YjIwMWVmZGQ4YScsXG4gICAgICAgIGlzQnVuZGxlZDogZmFsc2UsXG4gICAgICAgIHByb3BlcnR5OiAnQ29kZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBGdW5jdGlvblxuICAgICAgICBpZDogJ0Z1bmN0aW9uUHl0aG9uUnVudGltZTI4Q0JEQTA1JyxcbiAgICAgICAgY2RrSWQ6ICdGdW5jdGlvblB5dGhvblJ1bnRpbWUnLFxuICAgICAgICBpc0J1bmRsZWQ6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0eTogJ0NvZGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gQnVuZGxlZCBGdW5jdGlvblxuICAgICAgICBpZDogJ0J1bmRsZWRGdW5jdGlvblB5dGhvblJ1bnRpbWU0RDlBMDkxOCcsXG4gICAgICAgIGNka0lkOiAnQnVuZGxlZEZ1bmN0aW9uUHl0aG9uUnVudGltZScsXG4gICAgICAgIGlzQnVuZGxlZDogdHJ1ZSxcbiAgICAgICAgcHJvcGVydHk6ICdDb2RlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIE5vZGVKcyBGdW5jdGlvblxuICAgICAgICBpZDogJ05vZGVqc0Z1bmN0aW9uMDlDMUYyMEYnLFxuICAgICAgICBjZGtJZDogJ05vZGVqc0Z1bmN0aW9uJyxcbiAgICAgICAgaXNCdW5kbGVkOiB0cnVlLFxuICAgICAgICBwcm9wZXJ0eTogJ0NvZGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gR28gRnVuY3Rpb25cbiAgICAgICAgaWQ6ICdHb0Z1bmN0aW9uQ0E5NUZCQUEnLFxuICAgICAgICBjZGtJZDogJ0dvRnVuY3Rpb24nLFxuICAgICAgICBpc0J1bmRsZWQ6IHRydWUsXG4gICAgICAgIHByb3BlcnR5OiAnQ29kZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAvLyBEb2NrZXIgSW1hZ2UgRnVuY3Rpb25cbiAgICAgICAgaWQ6ICdEb2NrZXJJbWFnZUZ1bmN0aW9uMjhCNzczRTYnLFxuICAgICAgICBjZGtJZDogJ0RvY2tlckltYWdlRnVuY3Rpb24nLFxuICAgICAgICBkb2NrZXJGaWxlUGF0aDogJ0RvY2tlcmZpbGUnLFxuICAgICAgICBwcm9wZXJ0eTogJ0NvZGUuSW1hZ2VVcmknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgLy8gU3BlYyBSZXN0IEFwaVxuICAgICAgICBpZDogJ1NwZWNSZXN0QVBJN0Q0QjNBMzQnLFxuICAgICAgICBjZGtJZDogJ1NwZWNSZXN0QVBJJyxcbiAgICAgICAgcHJvcGVydHk6ICdCb2R5UzNMb2NhdGlvbicsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IHJlc291cmNlIG9mIGV4cGVjdGVkUmVzb3VyY2VzKSB7XG4gICAgICBmaXh0dXJlLm91dHB1dC53cml0ZShgdmFsaWRhdGUgYXNzZXRzIG1ldGFkYXRhIGZvciByZXNvdXJjZSAke3Jlc291cmNlfWApO1xuICAgICAgZXhwZWN0KHJlc291cmNlLmlkIGluIHRlbXBsYXRlLlJlc291cmNlcykudG9CZVRydXRoeSgpO1xuICAgICAgZXhwZWN0KHRlbXBsYXRlLlJlc291cmNlc1tyZXNvdXJjZS5pZF0pLnRvRXF1YWwoXG4gICAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICBNZXRhZGF0YToge1xuICAgICAgICAgICAgJ2F3czpjZGs6cGF0aCc6IGAke2ZpeHR1cmUuZnVsbFN0YWNrTmFtZSgnVGVzdFN0YWNrJyl9LyR7cmVzb3VyY2UuY2RrSWR9L1Jlc291cmNlYCxcbiAgICAgICAgICAgICdhd3M6YXNzZXQ6cGF0aCc6IGV4cGVjdC5zdHJpbmdNYXRjaGluZygvYXNzZXRcXC5bMC05YS16QS1aXXs2NH0vKSxcbiAgICAgICAgICAgICdhd3M6YXNzZXQ6aXMtYnVuZGxlZCc6IHJlc291cmNlLmlzQnVuZGxlZCxcbiAgICAgICAgICAgICdhd3M6YXNzZXQ6ZG9ja2VyZmlsZS1wYXRoJzogcmVzb3VyY2UuZG9ja2VyRmlsZVBhdGgsXG4gICAgICAgICAgICAnYXdzOmFzc2V0OnByb3BlcnR5JzogcmVzb3VyY2UucHJvcGVydHksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIE5lc3RlZCBTdGFja1xuICAgIGZpeHR1cmUub3V0cHV0LndyaXRlKCd2YWxpZGF0ZSBhc3NldHMgbWV0YWRhdGEgZm9yIG5lc3RlZCBzdGFjayByZXNvdXJjZScpO1xuICAgIGV4cGVjdCgnTmVzdGVkU3RhY2tOZXN0ZWRTdGFja05lc3RlZFN0YWNrTmVzdGVkU3RhY2tSZXNvdXJjZUI3MDgzNEZEJyBpbiB0ZW1wbGF0ZS5SZXNvdXJjZXMpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QodGVtcGxhdGUuUmVzb3VyY2VzLk5lc3RlZFN0YWNrTmVzdGVkU3RhY2tOZXN0ZWRTdGFja05lc3RlZFN0YWNrUmVzb3VyY2VCNzA4MzRGRCkudG9FcXVhbChcbiAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgTWV0YWRhdGE6IHtcbiAgICAgICAgICAnYXdzOmNkazpwYXRoJzogYCR7Zml4dHVyZS5mdWxsU3RhY2tOYW1lKFxuICAgICAgICAgICAgJ1Rlc3RTdGFjaycsXG4gICAgICAgICAgKX0vTmVzdGVkU3RhY2suTmVzdGVkU3RhY2svTmVzdGVkU3RhY2suTmVzdGVkU3RhY2tSZXNvdXJjZWAsXG4gICAgICAgICAgJ2F3czphc3NldDpwYXRoJzogZXhwZWN0LnN0cmluZ01hdGNoaW5nKFxuICAgICAgICAgICAgYCR7Zml4dHVyZS5zdGFja05hbWVQcmVmaXgucmVwbGFjZSgvLS8sICcnKX1UZXN0U3RhY2tOZXN0ZWRTdGFja1swLTlBLVpdezh9XFwubmVzdGVkXFwudGVtcGxhdGVcXC5qc29uYCxcbiAgICAgICAgICApLFxuICAgICAgICAgICdhd3M6YXNzZXQ6cHJvcGVydHknOiAnVGVtcGxhdGVVUkwnLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfSksXG4pO1xuXG4iXX0=