aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
134 lines • 15.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const convert_to_user_input_1 = require("../../lib/cli/convert-to-user-input");
const parse_command_line_arguments_1 = require("../../lib/cli/parse-command-line-arguments");
describe('yargs', () => {
test('yargs object can be converted to cli arguments', async () => {
const input = await (0, parse_command_line_arguments_1.parseCommandLineArguments)(['deploy', '-R', '-v', '--ci']);
const result = (0, convert_to_user_input_1.convertYargsToUserInput)(input);
expect(result).toEqual({
command: 'deploy',
globalOptions: {
app: undefined,
assetMetadata: undefined,
build: undefined,
caBundlePath: undefined,
context: [],
ignoreErrors: false,
noColor: false,
pathMetadata: undefined,
plugin: [],
profile: undefined,
proxy: undefined,
roleArn: undefined,
staging: true,
strict: undefined,
verbose: 1,
versionReporting: undefined,
ci: true,
debug: false,
ec2creds: undefined,
json: false,
lookups: true,
trace: undefined,
unstable: [],
notices: undefined,
output: undefined,
},
deploy: {
STACKS: undefined,
all: false,
assetParallelism: undefined,
assetPrebuild: true,
buildExclude: [],
changeSetName: undefined,
concurrency: 1,
execute: undefined,
exclusively: undefined,
force: false,
hotswap: undefined,
hotswapFallback: undefined,
ignoreNoStacks: false,
importExistingResources: false,
logs: true,
method: undefined,
notificationArns: undefined,
outputsFile: undefined,
parameters: [{}],
previousParameters: true,
progress: undefined,
requireApproval: undefined,
rollback: false,
tags: [],
toolkitStackName: undefined,
watch: undefined,
},
});
});
test('positional argument is correctly passed through -- variadic', async () => {
const input = await (0, parse_command_line_arguments_1.parseCommandLineArguments)(['deploy', 'stack1', 'stack2', '-R', '-v', '--ci']);
const result = (0, convert_to_user_input_1.convertYargsToUserInput)(input);
expect(result).toEqual({
command: 'deploy',
deploy: expect.objectContaining({
STACKS: ['stack1', 'stack2'],
}),
globalOptions: expect.anything(),
});
});
test('positional argument is correctly passed through -- single', async () => {
const input = await (0, parse_command_line_arguments_1.parseCommandLineArguments)(['acknowledge', 'id1', '-v', '--ci']);
const result = (0, convert_to_user_input_1.convertYargsToUserInput)(input);
expect(result).toEqual({
command: 'acknowledge',
acknowledge: expect.objectContaining({
ID: 'id1',
}),
globalOptions: expect.anything(),
});
});
});
describe('config', () => {
test('cdk.json arguments can be converted to cli argumets', async () => {
const input = {
output: 'blah.out',
build: 'yarn build',
list: {
long: true,
},
bootstrap: {
bootstrapBucketName: 'bucketName',
},
};
const result = (0, convert_to_user_input_1.convertConfigToUserInput)(input);
expect(result).toEqual({
globalOptions: expect.objectContaining({
output: 'blah.out',
build: 'yarn build',
}),
list: expect.objectContaining({
long: true,
}),
bootstrap: expect.objectContaining({
bootstrapBucketName: 'bucketName',
}),
context: expect.anything(),
acknowledge: expect.anything(),
deploy: expect.anything(),
destroy: expect.anything(),
diff: expect.anything(),
init: expect.anything(),
metadata: expect.anything(),
migrate: expect.anything(),
rollback: expect.anything(),
synth: expect.anything(),
watch: expect.anything(),
notices: expect.anything(),
import: expect.anything(),
gc: expect.anything(),
doctor: expect.anything(),
docs: expect.anything(),
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWFyZ3VtZW50cy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xpLWFyZ3VtZW50cy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0VBQXdHO0FBQ3hHLDZGQUF1RjtBQUV2RixRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUNyQixJQUFJLENBQUMsZ0RBQWdELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDaEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLHdEQUF5QixFQUFDLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUU5RSxNQUFNLE1BQU0sR0FBRyxJQUFBLCtDQUF1QixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDckIsT0FBTyxFQUFFLFFBQVE7WUFDakIsYUFBYSxFQUFFO2dCQUNiLEdBQUcsRUFBRSxTQUFTO2dCQUNkLGFBQWEsRUFBRSxTQUFTO2dCQUN4QixLQUFLLEVBQUUsU0FBUztnQkFDaEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxLQUFLO2dCQUNuQixPQUFPLEVBQUUsS0FBSztnQkFDZCxZQUFZLEVBQUUsU0FBUztnQkFDdkIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU8sRUFBRSxDQUFDO2dCQUNWLGdCQUFnQixFQUFFLFNBQVM7Z0JBQzNCLEVBQUUsRUFBRSxJQUFJO2dCQUNSLEtBQUssRUFBRSxLQUFLO2dCQUNaLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixJQUFJLEVBQUUsS0FBSztnQkFDWCxPQUFPLEVBQUUsSUFBSTtnQkFDYixLQUFLLEVBQUUsU0FBUztnQkFDaEIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2FBQ2xCO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixHQUFHLEVBQUUsS0FBSztnQkFDVixnQkFBZ0IsRUFBRSxTQUFTO2dCQUMzQixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGFBQWEsRUFBRSxTQUFTO2dCQUN4QixXQUFXLEVBQUUsQ0FBQztnQkFDZCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLEtBQUssRUFBRSxLQUFLO2dCQUNaLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixlQUFlLEVBQUUsU0FBUztnQkFDMUIsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixnQkFBZ0IsRUFBRSxTQUFTO2dCQUMzQixXQUFXLEVBQUUsU0FBUztnQkFDdEIsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNoQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixRQUFRLEVBQUUsU0FBUztnQkFDbkIsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLElBQUksRUFBRSxFQUFFO2dCQUNSLGdCQUFnQixFQUFFLFNBQVM7Z0JBQzNCLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsNkRBQTZELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDN0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLHdEQUF5QixFQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRWxHLE1BQU0sTUFBTSxHQUFHLElBQUEsK0NBQXVCLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyQixPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUM5QixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO2FBQzdCLENBQUM7WUFDRixhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQywyREFBMkQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMzRSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsd0RBQXlCLEVBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRXBGLE1BQU0sTUFBTSxHQUFHLElBQUEsK0NBQXVCLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyQixPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUNuQyxFQUFFLEVBQUUsS0FBSzthQUNWLENBQUM7WUFDRixhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDdEIsSUFBSSxDQUFDLHFEQUFxRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JFLE1BQU0sS0FBSyxHQUFHO1lBQ1osTUFBTSxFQUFFLFVBQVU7WUFDbEIsS0FBSyxFQUFFLFlBQVk7WUFDbkIsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxJQUFJO2FBQ1g7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsbUJBQW1CLEVBQUUsWUFBWTthQUNsQztTQUNGLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLGdEQUF3QixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDckMsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLEtBQUssRUFBRSxZQUFZO2FBQ3BCLENBQUM7WUFDRixJQUFJLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUM1QixJQUFJLEVBQUUsSUFBSTthQUNYLENBQUM7WUFDRixTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUNqQyxtQkFBbUIsRUFBRSxZQUFZO2FBQ2xDLENBQUM7WUFDRixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMxQixXQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN2QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMzQixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMxQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN4QixLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN4QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QixFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNyQixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29udmVydENvbmZpZ1RvVXNlcklucHV0LCBjb252ZXJ0WWFyZ3NUb1VzZXJJbnB1dCB9IGZyb20gJy4uLy4uL2xpYi9jbGkvY29udmVydC10by11c2VyLWlucHV0JztcbmltcG9ydCB7IHBhcnNlQ29tbWFuZExpbmVBcmd1bWVudHMgfSBmcm9tICcuLi8uLi9saWIvY2xpL3BhcnNlLWNvbW1hbmQtbGluZS1hcmd1bWVudHMnO1xuXG5kZXNjcmliZSgneWFyZ3MnLCAoKSA9PiB7XG4gIHRlc3QoJ3lhcmdzIG9iamVjdCBjYW4gYmUgY29udmVydGVkIHRvIGNsaSBhcmd1bWVudHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCBwYXJzZUNvbW1hbmRMaW5lQXJndW1lbnRzKFsnZGVwbG95JywgJy1SJywgJy12JywgJy0tY2knXSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBjb252ZXJ0WWFyZ3NUb1VzZXJJbnB1dChpbnB1dCk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgIGNvbW1hbmQ6ICdkZXBsb3knLFxuICAgICAgZ2xvYmFsT3B0aW9uczoge1xuICAgICAgICBhcHA6IHVuZGVmaW5lZCxcbiAgICAgICAgYXNzZXRNZXRhZGF0YTogdW5kZWZpbmVkLFxuICAgICAgICBidWlsZDogdW5kZWZpbmVkLFxuICAgICAgICBjYUJ1bmRsZVBhdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgY29udGV4dDogW10sXG4gICAgICAgIGlnbm9yZUVycm9yczogZmFsc2UsXG4gICAgICAgIG5vQ29sb3I6IGZhbHNlLFxuICAgICAgICBwYXRoTWV0YWRhdGE6IHVuZGVmaW5lZCxcbiAgICAgICAgcGx1Z2luOiBbXSxcbiAgICAgICAgcHJvZmlsZTogdW5kZWZpbmVkLFxuICAgICAgICBwcm94eTogdW5kZWZpbmVkLFxuICAgICAgICByb2xlQXJuOiB1bmRlZmluZWQsXG4gICAgICAgIHN0YWdpbmc6IHRydWUsXG4gICAgICAgIHN0cmljdDogdW5kZWZpbmVkLFxuICAgICAgICB2ZXJib3NlOiAxLFxuICAgICAgICB2ZXJzaW9uUmVwb3J0aW5nOiB1bmRlZmluZWQsXG4gICAgICAgIGNpOiB0cnVlLFxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIGVjMmNyZWRzOiB1bmRlZmluZWQsXG4gICAgICAgIGpzb246IGZhbHNlLFxuICAgICAgICBsb29rdXBzOiB0cnVlLFxuICAgICAgICB0cmFjZTogdW5kZWZpbmVkLFxuICAgICAgICB1bnN0YWJsZTogW10sXG4gICAgICAgIG5vdGljZXM6IHVuZGVmaW5lZCxcbiAgICAgICAgb3V0cHV0OiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgZGVwbG95OiB7XG4gICAgICAgIFNUQUNLUzogdW5kZWZpbmVkLFxuICAgICAgICBhbGw6IGZhbHNlLFxuICAgICAgICBhc3NldFBhcmFsbGVsaXNtOiB1bmRlZmluZWQsXG4gICAgICAgIGFzc2V0UHJlYnVpbGQ6IHRydWUsXG4gICAgICAgIGJ1aWxkRXhjbHVkZTogW10sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IHVuZGVmaW5lZCxcbiAgICAgICAgY29uY3VycmVuY3k6IDEsXG4gICAgICAgIGV4ZWN1dGU6IHVuZGVmaW5lZCxcbiAgICAgICAgZXhjbHVzaXZlbHk6IHVuZGVmaW5lZCxcbiAgICAgICAgZm9yY2U6IGZhbHNlLFxuICAgICAgICBob3Rzd2FwOiB1bmRlZmluZWQsXG4gICAgICAgIGhvdHN3YXBGYWxsYmFjazogdW5kZWZpbmVkLFxuICAgICAgICBpZ25vcmVOb1N0YWNrczogZmFsc2UsXG4gICAgICAgIGltcG9ydEV4aXN0aW5nUmVzb3VyY2VzOiBmYWxzZSxcbiAgICAgICAgbG9nczogdHJ1ZSxcbiAgICAgICAgbWV0aG9kOiB1bmRlZmluZWQsXG4gICAgICAgIG5vdGlmaWNhdGlvbkFybnM6IHVuZGVmaW5lZCxcbiAgICAgICAgb3V0cHV0c0ZpbGU6IHVuZGVmaW5lZCxcbiAgICAgICAgcGFyYW1ldGVyczogW3t9XSxcbiAgICAgICAgcHJldmlvdXNQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICBwcm9ncmVzczogdW5kZWZpbmVkLFxuICAgICAgICByZXF1aXJlQXBwcm92YWw6IHVuZGVmaW5lZCxcbiAgICAgICAgcm9sbGJhY2s6IGZhbHNlLFxuICAgICAgICB0YWdzOiBbXSxcbiAgICAgICAgdG9vbGtpdFN0YWNrTmFtZTogdW5kZWZpbmVkLFxuICAgICAgICB3YXRjaDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgdGVzdCgncG9zaXRpb25hbCBhcmd1bWVudCBpcyBjb3JyZWN0bHkgcGFzc2VkIHRocm91Z2ggLS0gdmFyaWFkaWMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCBwYXJzZUNvbW1hbmRMaW5lQXJndW1lbnRzKFsnZGVwbG95JywgJ3N0YWNrMScsICdzdGFjazInLCAnLVInLCAnLXYnLCAnLS1jaSddKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGNvbnZlcnRZYXJnc1RvVXNlcklucHV0KGlucHV0KTtcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgY29tbWFuZDogJ2RlcGxveScsXG4gICAgICBkZXBsb3k6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgU1RBQ0tTOiBbJ3N0YWNrMScsICdzdGFjazInXSxcbiAgICAgIH0pLFxuICAgICAgZ2xvYmFsT3B0aW9uczogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgfSk7XG4gIH0pO1xuXG4gIHRlc3QoJ3Bvc2l0aW9uYWwgYXJndW1lbnQgaXMgY29ycmVjdGx5IHBhc3NlZCB0aHJvdWdoIC0tIHNpbmdsZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHBhcnNlQ29tbWFuZExpbmVBcmd1bWVudHMoWydhY2tub3dsZWRnZScsICdpZDEnLCAnLXYnLCAnLS1jaSddKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGNvbnZlcnRZYXJnc1RvVXNlcklucHV0KGlucHV0KTtcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgY29tbWFuZDogJ2Fja25vd2xlZGdlJyxcbiAgICAgIGFja25vd2xlZGdlOiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIElEOiAnaWQxJyxcbiAgICAgIH0pLFxuICAgICAgZ2xvYmFsT3B0aW9uczogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdjb25maWcnLCAoKSA9PiB7XG4gIHRlc3QoJ2Nkay5qc29uIGFyZ3VtZW50cyBjYW4gYmUgY29udmVydGVkIHRvIGNsaSBhcmd1bWV0cycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHtcbiAgICAgIG91dHB1dDogJ2JsYWgub3V0JyxcbiAgICAgIGJ1aWxkOiAneWFybiBidWlsZCcsXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGxvbmc6IHRydWUsXG4gICAgICB9LFxuICAgICAgYm9vdHN0cmFwOiB7XG4gICAgICAgIGJvb3RzdHJhcEJ1Y2tldE5hbWU6ICdidWNrZXROYW1lJyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGNvbnZlcnRDb25maWdUb1VzZXJJbnB1dChpbnB1dCk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgIGdsb2JhbE9wdGlvbnM6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgb3V0cHV0OiAnYmxhaC5vdXQnLFxuICAgICAgICBidWlsZDogJ3lhcm4gYnVpbGQnLFxuICAgICAgfSksXG4gICAgICBsaXN0OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIGxvbmc6IHRydWUsXG4gICAgICB9KSxcbiAgICAgIGJvb3RzdHJhcDogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICBib290c3RyYXBCdWNrZXROYW1lOiAnYnVja2V0TmFtZScsXG4gICAgICB9KSxcbiAgICAgIGNvbnRleHQ6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgYWNrbm93bGVkZ2U6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgZGVwbG95OiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICAgIGRlc3Ryb3k6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgZGlmZjogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBpbml0OiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICAgIG1ldGFkYXRhOiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICAgIG1pZ3JhdGU6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgcm9sbGJhY2s6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgc3ludGg6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgd2F0Y2g6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgbm90aWNlczogZXhwZWN0LmFueXRoaW5nKCksXG4gICAgICBpbXBvcnQ6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgZ2M6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgICAgZG9jdG9yOiBleHBlY3QuYW55dGhpbmcoKSxcbiAgICAgIGRvY3M6IGV4cGVjdC5hbnl0aGluZygpLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19