aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
39 lines • 4.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FakeCloudformationStack = void 0;
const deployments_1 = require("../../lib/api/deployments");
const stack_status_1 = require("../../lib/api/util/cloudformation/stack-status");
const mock_sdk_1 = require("../util/mock-sdk");
const client = new mock_sdk_1.MockSdk().cloudFormation();
class FakeCloudformationStack extends deployments_1.CloudFormationStack {
constructor(props) {
super(client, props.stackName);
this.client = client;
this.props = props;
this.__template = {};
}
setTemplate(template) {
this.__template = template;
}
async template() {
return Promise.resolve(this.__template);
}
get exists() {
return this.props.stackId !== undefined;
}
get stackStatus() {
const status = this.props.stackStatus ?? 'UPDATE_COMPLETE';
return new stack_status_1.StackStatus(status, 'The test said so');
}
get stackId() {
if (!this.props.stackId) {
throw new Error('Cannot retrieve stackId from a non-existent stack');
}
return this.props.stackId;
}
get outputs() {
return {};
}
}
exports.FakeCloudformationStack = FakeCloudformationStack;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS1jbG91ZGZvcm1hdGlvbi1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZha2UtY2xvdWRmb3JtYXRpb24tc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQTBFO0FBQzFFLGlGQUE2RTtBQUM3RSwrQ0FBMkM7QUFRM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxrQkFBTyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7QUFDOUMsTUFBYSx1QkFBd0IsU0FBUSxpQ0FBbUI7SUFLOUQsWUFBbUIsS0FBbUM7UUFDcEQsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFrQjtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVE7UUFDbkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxpQkFBaUIsQ0FBQztRQUMzRCxPQUFPLElBQUksMEJBQVcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGO0FBdkNELDBEQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbG91ZEZvcm1hdGlvbkNsaWVudCB9IGZyb20gJy4uLy4uL2xpYi9hcGknO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25TdGFjaywgVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9saWIvYXBpL2RlcGxveW1lbnRzJztcbmltcG9ydCB7IFN0YWNrU3RhdHVzIH0gZnJvbSAnLi4vLi4vbGliL2FwaS91dGlsL2Nsb3VkZm9ybWF0aW9uL3N0YWNrLXN0YXR1cyc7XG5pbXBvcnQgeyBNb2NrU2RrIH0gZnJvbSAnLi4vdXRpbC9tb2NrLXNkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZUNsb3VkRm9ybWF0aW9uU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YWNrTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGFja0lkPzogc3RyaW5nO1xuICByZWFkb25seSBzdGFja1N0YXR1cz86IHN0cmluZztcbn1cblxuY29uc3QgY2xpZW50ID0gbmV3IE1vY2tTZGsoKS5jbG91ZEZvcm1hdGlvbigpO1xuZXhwb3J0IGNsYXNzIEZha2VDbG91ZGZvcm1hdGlvblN0YWNrIGV4dGVuZHMgQ2xvdWRGb3JtYXRpb25TdGFjayB7XG4gIHB1YmxpYyByZWFkb25seSBjbGllbnQ6IElDbG91ZEZvcm1hdGlvbkNsaWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogRmFrZUNsb3VkRm9ybWF0aW9uU3RhY2tQcm9wcztcbiAgcHJpdmF0ZSBfX3RlbXBsYXRlOiBUZW1wbGF0ZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IEZha2VDbG91ZEZvcm1hdGlvblN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihjbGllbnQsIHByb3BzLnN0YWNrTmFtZSk7XG4gICAgdGhpcy5jbGllbnQgPSBjbGllbnQ7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuX190ZW1wbGF0ZSA9IHt9O1xuICB9XG5cbiAgcHVibGljIHNldFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuX190ZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHRlbXBsYXRlKCk6IFByb21pc2U8VGVtcGxhdGU+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX190ZW1wbGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4aXN0cygpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGFja0lkICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YWNrU3RhdHVzKCkge1xuICAgIGNvbnN0IHN0YXR1cyA9IHRoaXMucHJvcHMuc3RhY2tTdGF0dXMgPz8gJ1VQREFURV9DT01QTEVURSc7XG4gICAgcmV0dXJuIG5ldyBTdGFja1N0YXR1cyhzdGF0dXMsICdUaGUgdGVzdCBzYWlkIHNvJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YWNrSWQoKSB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnN0YWNrSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJldHJpZXZlIHN0YWNrSWQgZnJvbSBhIG5vbi1leGlzdGVudCBzdGFjaycpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGFja0lkO1xuICB9XG5cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19