aws-cdk
Version:
CDK Toolkit, the command line tool for CDK apps
143 lines • 13.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const client_kms_1 = require("@aws-sdk/client-kms");
const keys_1 = require("../../lib/context-providers/keys");
const mock_sdk_1 = require("../util/mock-sdk");
let provider;
beforeEach(() => {
provider = new keys_1.KeyContextProviderPlugin(new mock_sdk_1.MockSdkProvider());
(0, mock_sdk_1.restoreSdkMocksToDefault)();
});
test('looks up the requested Key - single result', async () => {
// GIVEN
mock_sdk_1.mockKMSClient.on(client_kms_1.ListAliasesCommand).resolves({
Aliases: [
{
AliasName: 'alias/foo',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789000',
},
],
});
// WHEN
const result = await provider.getValue({
account: '123456789012',
region: 'us-east-1',
aliasName: 'alias/foo',
});
// THEN
expect(result).toEqual({
keyId: '1234abcd-12ab-34cd-56ef-123456789000',
});
});
test('looks up the requested Key - multiple results', async () => {
// GIVEN
mock_sdk_1.mockKMSClient.on(client_kms_1.ListAliasesCommand).resolves({
Aliases: [
{
AliasName: 'alias/bar',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789000',
},
{
AliasName: 'alias/foo',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789001',
},
{
AliasName: 'alias/fooBar',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789002',
},
],
});
// WHEN
const result = await provider.getValue({
account: '123456789012',
region: 'us-east-1',
aliasName: 'alias/foo',
});
// THEN
expect(result).toEqual({
keyId: '1234abcd-12ab-34cd-56ef-123456789001',
});
});
test('looks up the requested Key - multiple results with pagination', async () => {
// GIVEN
mock_sdk_1.mockKMSClient
.on(client_kms_1.ListAliasesCommand)
.resolvesOnce({
NextMarker: 'nextMarker',
Truncated: true,
Aliases: [
{
AliasName: 'alias/key1',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789000',
},
{
AliasName: 'alias/key2',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789001',
},
{
AliasName: 'alias/key3',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789002',
},
],
})
.resolvesOnce({
Aliases: [
{
AliasName: 'alias/key4',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789003',
},
{
AliasName: 'alias/foo',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789004',
},
{
AliasName: 'alias/key5',
TargetKeyId: '1234abcd-12ab-34cd-56ef-123456789005',
},
],
});
// WHEN
const result = await provider.getValue({
account: '123456789012',
region: 'us-east-1',
aliasName: 'alias/foo',
});
// THEN
expect(result).toEqual({
keyId: '1234abcd-12ab-34cd-56ef-123456789004',
});
});
test('throw exception - no key found', async () => {
// GIVEN
mock_sdk_1.mockKMSClient.on(client_kms_1.ListAliasesCommand).resolves({
Aliases: [],
});
// WHEN
await expect(provider.getValue({
account: '123456789012',
region: 'us-east-1',
aliasName: 'alias/foo',
})).rejects.toThrow(/Could not find any key with alias named/);
});
test('don\'t throw exception - no key found but ignoreErrorOnMissingContext is true', async () => {
mock_sdk_1.mockKMSClient.on(client_kms_1.ListAliasesCommand).callsFake((params) => {
expect(params.KeyId).toBeUndefined();
return {};
});
// WHEN
const args = {
account: '123456789012',
region: 'us-east-1',
aliasName: 'alias/foo',
dummyValue: {
keyId: '1234abcd-12ab-34cd-56ef-1234567890ab',
},
ignoreErrorOnMissingContext: true,
};
const result = await provider.getValue(args);
// THEN
expect(result).toEqual({
keyId: '1234abcd-12ab-34cd-56ef-1234567890ab',
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsia2V5cy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0RBQXlEO0FBQ3pELDJEQUE0RTtBQUM1RSwrQ0FBNEY7QUFFNUYsSUFBSSxRQUFrQyxDQUFDO0FBRXZDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7SUFDZCxRQUFRLEdBQUcsSUFBSSwrQkFBd0IsQ0FBQyxJQUFJLDBCQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELElBQUEsbUNBQXdCLEdBQUUsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLElBQUksRUFBRTtJQUM1RCxRQUFRO0lBQ1Isd0JBQWEsQ0FBQyxFQUFFLENBQUMsK0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFdBQVcsRUFBRSxzQ0FBc0M7YUFDcEQ7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87SUFDUCxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDckMsT0FBTyxFQUFFLGNBQWM7UUFDdkIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsU0FBUyxFQUFFLFdBQVc7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsT0FBTztJQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDckIsS0FBSyxFQUFFLHNDQUFzQztLQUM5QyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtJQUMvRCxRQUFRO0lBQ1Isd0JBQWEsQ0FBQyxFQUFFLENBQUMsK0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDNUMsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFdBQVcsRUFB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TUFBTSxFQUFFLFdBQVc7UUFDbkIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsVUFBVSxFQUFFO1lBQ1YsS0FBSyxFQUFFLHNDQUFzQztTQUM5QztRQUNELDJCQUEyQixFQUFFLElBQUk7S0FDbEMsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QyxPQUFPO0lBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNyQixLQUFLLEVBQUUsc0NBQXNDO0tBQzlDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEFsaWFzZXNDb21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWttcyc7XG5pbXBvcnQgeyBLZXlDb250ZXh0UHJvdmlkZXJQbHVnaW4gfSBmcm9tICcuLi8uLi9saWIvY29udGV4dC1wcm92aWRlcnMva2V5cyc7XG5pbXBvcnQgeyBtb2NrS01TQ2xpZW50LCBNb2NrU2RrUHJvdmlkZXIsIHJlc3RvcmVTZGtNb2Nrc1RvRGVmYXVsdCB9IGZyb20gJy4uL3V0aWwvbW9jay1zZGsnO1xuXG5sZXQgcHJvdmlkZXI6IEtleUNvbnRleHRQcm92aWRlclBsdWdpbjtcblxuYmVmb3JlRWFjaCgoKSA9PiB7XG4gIHByb3ZpZGVyID0gbmV3IEtleUNvbnRleHRQcm92aWRlclBsdWdpbihuZXcgTW9ja1Nka1Byb3ZpZGVyKCkpO1xuICByZXN0b3JlU2RrTW9ja3NUb0RlZmF1bHQoKTtcbn0pO1xuXG50ZXN0KCdsb29rcyB1cCB0aGUgcmVxdWVzdGVkIEtleSAtIHNpbmdsZSByZXN1bHQnLCBhc3luYyAoKSA9PiB7XG4gIC8vIEdJVkVOXG4gIG1vY2tLTVNDbGllbnQub24oTGlzdEFsaWFzZXNDb21tYW5kKS5yZXNvbHZlcyh7XG4gICAgQWxpYXNlczogW1xuICAgICAge1xuICAgICAgICBBbGlhc05hbWU6ICdhbGlhcy9mb28nLFxuICAgICAgICBUYXJnZXRLZXlJZDogJzEyMzRhYmNkLTEyYWItMzRjZC01NmVmLTEyMzQ1Njc4OTAwMCcsXG4gICAgICB9LFxuICAgIF0sXG4gIH0pO1xuXG4gIC8vIFdIRU5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvdmlkZXIuZ2V0VmFsdWUoe1xuICAgIGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLFxuICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgYWxpYXNOYW1lOiAnYWxpYXMvZm9vJyxcbiAgfSk7XG5cbiAgLy8gVEhFTlxuICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICBrZXlJZDogJzEyMzRhYmNkLTEyYWItMzRjZC01NmVmLTEyMzQ1Njc4OTAwMCcsXG4gIH0pO1xufSk7XG5cbnRlc3QoJ2xvb2tzIHVwIHRoZSByZXF1ZXN0ZWQgS2V5IC0gbXVsdGlwbGUgcmVzdWx0cycsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgbW9ja0tNU0NsaWVudC5vbihMaXN0QWxpYXNlc0NvbW1hbmQpLnJlc29sdmVzKHtcbiAgICBBbGlhc2VzOiBbXG4gICAgICB7XG4gICAgICAgIEFsaWFzTmFtZTogJ2FsaWFzL2JhcicsXG4gICAgICAgIFRhcmdldEtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDAwJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIEFsaWFzTmFtZTogJ2FsaWFzL2ZvbycsXG4gICAgICAgIFRhcmdldEtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDAxJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIEFsaWFzTmFtZTogJ2FsaWFzL2Zvb0JhcicsXG4gICAgICAgIFRhcmdldEtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDAyJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSk7XG5cbiAgLy8gV0hFTlxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm92aWRlci5nZXRWYWx1ZSh7XG4gICAgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsXG4gICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICBhbGlhc05hbWU6ICdhbGlhcy9mb28nLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgIGtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDAxJyxcbiAgfSk7XG59KTtcblxudGVzdCgnbG9va3MgdXAgdGhlIHJlcXVlc3RlZCBLZXkgLSBtdWx0aXBsZSByZXN1bHRzIHdpdGggcGFnaW5hdGlvbicsIGFzeW5jICgpID0+IHtcbiAgLy8gR0lWRU5cbiAgbW9ja0tNU0NsaWVudFxuICAgIC5vbihMaXN0QWxpYXNlc0NvbW1hbmQpXG4gICAgLnJlc29sdmVzT25jZSh7XG4gICAgICBOZXh0TWFya2VyOiAnbmV4dE1hcmtlcicsXG4gICAgICBUcnVuY2F0ZWQ6IHRydWUsXG4gICAgICBBbGlhc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBbGlhc05hbWU6ICdhbGlhcy9rZXkxJyxcbiAgICAgICAgICBUYXJnZXRLZXlJZDogJzEyMzRhYmNkLTEyYWItMzRjZC01NmVmLTEyMzQ1Njc4OTAwMCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBBbGlhc05hbWU6ICdhbGlhcy9rZXkyJyxcbiAgICAgICAgICBUYXJnZXRLZXlJZDogJzEyMzRhYmNkLTEyYWItMzRjZC01NmVmLTEyMzQ1Njc4OTAwMScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBBbGlhc05hbWU6ICdhbGlhcy9rZXkzJyxcbiAgICAgICAgICBUYXJnZXRLZXlJZDogJzEyMzRhYmNkLTEyYWItMzRjZC01NmVmLTEyMzQ1Njc4OTAwMicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG4gICAgLnJlc29sdmVzT25jZSh7XG4gICAgICBBbGlhc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBBbGlhc05hbWU6ICdhbGlhcy9rZXk0JyxcbiAgICAgICAgICBUYXJnZXRLZXlJZDogJzEyMzRhYmNkLTEyYWItMzRjZC01NmVmLTEyMzQ1Njc4OTAwMycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBBbGlhc05hbWU6ICdhbGlhcy9mb28nLFxuICAgICAgICAgIFRhcmdldEtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDA0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIEFsaWFzTmFtZTogJ2FsaWFzL2tleTUnLFxuICAgICAgICAgIFRhcmdldEtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDA1JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgLy8gV0hFTlxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm92aWRlci5nZXRWYWx1ZSh7XG4gICAgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsXG4gICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICBhbGlhc05hbWU6ICdhbGlhcy9mb28nLFxuICB9KTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgIGtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MDA0JyxcbiAgfSk7XG59KTtcblxudGVzdCgndGhyb3cgZXhjZXB0aW9uIC0gbm8ga2V5IGZvdW5kJywgYXN5bmMgKCkgPT4ge1xuICAvLyBHSVZFTlxuICBtb2NrS01TQ2xpZW50Lm9uKExpc3RBbGlhc2VzQ29tbWFuZCkucmVzb2x2ZXMoe1xuICAgIEFsaWFzZXM6IFtdLFxuICB9KTtcblxuICAvLyBXSEVOXG4gIGF3YWl0IGV4cGVjdChwcm92aWRlci5nZXRWYWx1ZSh7XG4gICAgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsXG4gICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICBhbGlhc05hbWU6ICdhbGlhcy9mb28nLFxuICB9KSkucmVqZWN0cy50b1Rocm93KC9Db3VsZCBub3QgZmluZCBhbnkga2V5IHdpdGggYWxpYXMgbmFtZWQvKTtcbn0pO1xuXG50ZXN0KCdkb25cXCd0IHRocm93IGV4Y2VwdGlvbiAtIG5vIGtleSBmb3VuZCBidXQgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0IGlzIHRydWUnLCBhc3luYyAoKSA9PiB7XG4gIG1vY2tLTVNDbGllbnQub24oTGlzdEFsaWFzZXNDb21tYW5kKS5jYWxsc0Zha2UoKHBhcmFtcykgPT4ge1xuICAgIGV4cGVjdChwYXJhbXMuS2V5SWQpLnRvQmVVbmRlZmluZWQoKTtcbiAgICByZXR1cm4ge307XG4gIH0pO1xuXG4gIC8vIFdIRU5cbiAgY29uc3QgYXJncyA9IHtcbiAgICBhY2NvdW50OiAnMTIzNDU2Nzg5MDEyJyxcbiAgICByZWdpb246ICd1cy1lYXN0LTEnLFxuICAgIGFsaWFzTmFtZTogJ2FsaWFzL2ZvbycsXG4gICAgZHVtbXlWYWx1ZToge1xuICAgICAga2V5SWQ6ICcxMjM0YWJjZC0xMmFiLTM0Y2QtNTZlZi0xMjM0NTY3ODkwYWInLFxuICAgIH0sXG4gICAgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0OiB0cnVlLFxuICB9O1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm92aWRlci5nZXRWYWx1ZShhcmdzKTtcblxuICAvLyBUSEVOXG4gIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgIGtleUlkOiAnMTIzNGFiY2QtMTJhYi0zNGNkLTU2ZWYtMTIzNDU2Nzg5MGFiJyxcbiAgfSk7XG59KTtcbiJdfQ==