aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
73 lines • 9.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const sdk_logger_1 = require("../../../lib/api/aws-auth/sdk-logger");
const logging = require("../../../lib/logging");
describe(sdk_logger_1.SdkToCliLogger, () => {
const logger = new sdk_logger_1.SdkToCliLogger();
const trace = jest.spyOn(logging, 'trace');
beforeEach(() => {
trace.mockReset();
});
test.each(['trace', 'debug'])('%s method does not call trace', (meth) => {
logger[meth]('test');
expect(trace).not.toHaveBeenCalled();
});
test.each(['info', 'warn', 'error'])('%s method logs to trace', (meth) => {
logger[meth]('test');
expect(trace).toHaveBeenCalled();
});
});
const SUCCESS_CALL = {
clientName: 'S3Client',
commandName: 'GetBucketLocationCommand',
input: {
Bucket: '.....',
ExpectedBucketOwner: undefined,
},
output: { LocationConstraint: 'eu-central-1' },
metadata: {
httpStatusCode: 200,
requestId: '....',
extendedRequestId: '...',
cfId: undefined,
attempts: 2,
totalRetryDelay: 30,
},
};
const ERROR_CALL = {
clientName: 'S3Client',
commandName: 'GetBucketLocationCommand',
input: {
Bucket: '.....',
ExpectedBucketOwner: undefined,
},
error: new Error('it failed'),
metadata: {
httpStatusCode: 200,
attempts: 2,
totalRetryDelay: 30,
},
};
test('formatting a successful SDK call looks broadly reasonable', () => {
const output = (0, sdk_logger_1.formatSdkLoggerContent)([SUCCESS_CALL]);
expect(output).toMatchSnapshot();
});
test('formatting a failing SDK call looks broadly reasonable', () => {
const output = (0, sdk_logger_1.formatSdkLoggerContent)([ERROR_CALL]);
expect(output).toMatchSnapshot();
});
test('formatting a successful SDK call includes attempts and retries if greater than 1', () => {
const output = (0, sdk_logger_1.formatSdkLoggerContent)([SUCCESS_CALL]);
expect(output).toContain('2 attempts');
expect(output).toContain('30ms');
});
test('formatting a failing SDK call includes attempts and retries if greater than 1', () => {
const output = (0, sdk_logger_1.formatSdkLoggerContent)([ERROR_CALL]);
expect(output).toContain('2 attempts');
expect(output).toContain('30ms');
});
test('formatting a failing SDK call includes the error', () => {
const output = (0, sdk_logger_1.formatSdkLoggerContent)([ERROR_CALL]);
expect(output).toContain('it failed');
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWxvZ2dlci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2RrLWxvZ2dlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscUVBQThGO0FBQzlGLGdEQUFnRDtBQUVoRCxRQUFRLENBQUMsMkJBQWMsRUFBRSxHQUFHLEVBQUU7SUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSwyQkFBYyxFQUFFLENBQUM7SUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFM0MsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFnQyxDQUFDLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNyRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFnQyxDQUFDLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN0RyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sWUFBWSxHQUFHO0lBQ25CLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLE9BQU87UUFDZixtQkFBbUIsRUFBRSxTQUFTO0tBQy9CO0lBQ0QsTUFBTSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFO0lBQzlDLFFBQVEsRUFBRTtRQUNSLGNBQWMsRUFBRSxHQUFHO1FBQ25CLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGlCQUFpQixFQUFFLEtBQUs7UUFDeEIsSUFBSSxFQUFFLFNBQVM7UUFDZixRQUFRLEVBQUUsQ0FBQztRQUNYLGVBQWUsRUFBRSxFQUFFO0tBQ3BCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLE9BQU87UUFDZixtQkFBbUIsRUFBRSxTQUFTO0tBQy9CO0lBQ0QsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUM3QixRQUFRLEVBQUU7UUFDUixjQUFjLEVBQUUsR0FBRztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLGVBQWUsRUFBRSxFQUFFO0tBQ3BCO0NBQ0YsQ0FBQztBQUVGLElBQUksQ0FBQywyREFBMkQsRUFBRSxHQUFHLEVBQUU7SUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQ0FBc0IsRUFBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtJQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFBLG1DQUFzQixFQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsa0ZBQWtGLEVBQUUsR0FBRyxFQUFFO0lBQzVGLE1BQU0sTUFBTSxHQUFHLElBQUEsbUNBQXNCLEVBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQywrRUFBK0UsRUFBRSxHQUFHLEVBQUU7SUFDekYsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQ0FBc0IsRUFBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtJQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFBLG1DQUFzQixFQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0U2RrTG9nZ2VyQ29udGVudCwgU2RrVG9DbGlMb2dnZXIgfSBmcm9tICcuLi8uLi8uLi9saWIvYXBpL2F3cy1hdXRoL3Nkay1sb2dnZXInO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tICcuLi8uLi8uLi9saWIvbG9nZ2luZyc7XG5cbmRlc2NyaWJlKFNka1RvQ2xpTG9nZ2VyLCAoKSA9PiB7XG4gIGNvbnN0IGxvZ2dlciA9IG5ldyBTZGtUb0NsaUxvZ2dlcigpO1xuICBjb25zdCB0cmFjZSA9IGplc3Quc3B5T24obG9nZ2luZywgJ3RyYWNlJyk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdHJhY2UubW9ja1Jlc2V0KCk7XG4gIH0pO1xuXG4gIHRlc3QuZWFjaChbJ3RyYWNlJywgJ2RlYnVnJ10gYXMgQXJyYXk8a2V5b2YgU2RrVG9DbGlMb2dnZXI+KSgnJXMgbWV0aG9kIGRvZXMgbm90IGNhbGwgdHJhY2UnLCAobWV0aCkgPT4ge1xuICAgIGxvZ2dlclttZXRoXSgndGVzdCcpO1xuICAgIGV4cGVjdCh0cmFjZSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgdGVzdC5lYWNoKFsnaW5mbycsICd3YXJuJywgJ2Vycm9yJ10gYXMgQXJyYXk8a2V5b2YgU2RrVG9DbGlMb2dnZXI+KSgnJXMgbWV0aG9kIGxvZ3MgdG8gdHJhY2UnLCAobWV0aCkgPT4ge1xuICAgIGxvZ2dlclttZXRoXSgndGVzdCcpO1xuICAgIGV4cGVjdCh0cmFjZSkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcbn0pO1xuXG5jb25zdCBTVUNDRVNTX0NBTEwgPSB7XG4gIGNsaWVudE5hbWU6ICdTM0NsaWVudCcsXG4gIGNvbW1hbmROYW1lOiAnR2V0QnVja2V0TG9jYXRpb25Db21tYW5kJyxcbiAgaW5wdXQ6IHtcbiAgICBCdWNrZXQ6ICcuLi4uLicsXG4gICAgRXhwZWN0ZWRCdWNrZXRPd25lcjogdW5kZWZpbmVkLFxuICB9LFxuICBvdXRwdXQ6IHsgTG9jYXRpb25Db25zdHJhaW50OiAnZXUtY2VudHJhbC0xJyB9LFxuICBtZXRhZGF0YToge1xuICAgIGh0dHBTdGF0dXNDb2RlOiAyMDAsXG4gICAgcmVxdWVzdElkOiAnLi4uLicsXG4gICAgZXh0ZW5kZWRSZXF1ZXN0SWQ6ICcuLi4nLFxuICAgIGNmSWQ6IHVuZGVmaW5lZCxcbiAgICBhdHRlbXB0czogMixcbiAgICB0b3RhbFJldHJ5RGVsYXk6IDMwLFxuICB9LFxufTtcblxuY29uc3QgRVJST1JfQ0FMTCA9IHtcbiAgY2xpZW50TmFtZTogJ1MzQ2xpZW50JyxcbiAgY29tbWFuZE5hbWU6ICdHZXRCdWNrZXRMb2NhdGlvbkNvbW1hbmQnLFxuICBpbnB1dDoge1xuICAgIEJ1Y2tldDogJy4uLi4uJyxcbiAgICBFeHBlY3RlZEJ1Y2tldE93bmVyOiB1bmRlZmluZWQsXG4gIH0sXG4gIGVycm9yOiBuZXcgRXJyb3IoJ2l0IGZhaWxlZCcpLFxuICBtZXRhZGF0YToge1xuICAgIGh0dHBTdGF0dXNDb2RlOiAyMDAsXG4gICAgYXR0ZW1wdHM6IDIsXG4gICAgdG90YWxSZXRyeURlbGF5OiAzMCxcbiAgfSxcbn07XG5cbnRlc3QoJ2Zvcm1hdHRpbmcgYSBzdWNjZXNzZnVsIFNESyBjYWxsIGxvb2tzIGJyb2FkbHkgcmVhc29uYWJsZScsICgpID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0gZm9ybWF0U2RrTG9nZ2VyQ29udGVudChbU1VDQ0VTU19DQUxMXSk7XG4gIGV4cGVjdChvdXRwdXQpLnRvTWF0Y2hTbmFwc2hvdCgpO1xufSk7XG5cbnRlc3QoJ2Zvcm1hdHRpbmcgYSBmYWlsaW5nIFNESyBjYWxsIGxvb2tzIGJyb2FkbHkgcmVhc29uYWJsZScsICgpID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0gZm9ybWF0U2RrTG9nZ2VyQ29udGVudChbRVJST1JfQ0FMTF0pO1xuICBleHBlY3Qob3V0cHV0KS50b01hdGNoU25hcHNob3QoKTtcbn0pO1xuXG50ZXN0KCdmb3JtYXR0aW5nIGEgc3VjY2Vzc2Z1bCBTREsgY2FsbCBpbmNsdWRlcyBhdHRlbXB0cyBhbmQgcmV0cmllcyBpZiBncmVhdGVyIHRoYW4gMScsICgpID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0gZm9ybWF0U2RrTG9nZ2VyQ29udGVudChbU1VDQ0VTU19DQUxMXSk7XG4gIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignMiBhdHRlbXB0cycpO1xuICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJzMwbXMnKTtcbn0pO1xuXG50ZXN0KCdmb3JtYXR0aW5nIGEgZmFpbGluZyBTREsgY2FsbCBpbmNsdWRlcyBhdHRlbXB0cyBhbmQgcmV0cmllcyBpZiBncmVhdGVyIHRoYW4gMScsICgpID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0gZm9ybWF0U2RrTG9nZ2VyQ29udGVudChbRVJST1JfQ0FMTF0pO1xuICBleHBlY3Qob3V0cHV0KS50b0NvbnRhaW4oJzIgYXR0ZW1wdHMnKTtcbiAgZXhwZWN0KG91dHB1dCkudG9Db250YWluKCczMG1zJyk7XG59KTtcblxudGVzdCgnZm9ybWF0dGluZyBhIGZhaWxpbmcgU0RLIGNhbGwgaW5jbHVkZXMgdGhlIGVycm9yJywgKCkgPT4ge1xuICBjb25zdCBvdXRwdXQgPSBmb3JtYXRTZGtMb2dnZXJDb250ZW50KFtFUlJPUl9DQUxMXSk7XG4gIGV4cGVjdChvdXRwdXQpLnRvQ29udGFpbignaXQgZmFpbGVkJyk7XG59KTtcbiJdfQ==