Skip to content

Commit 6d3dc2d

Browse files
committed
test: add new prose test
1 parent f1573cc commit 6d3dc2d

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

test/integration/client-side-encryption/client_side_encryption.prose.26.custom_aws_credential_providers.test.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,49 @@ describe('26. Custom AWS Credential Providers', metadata, () => {
108108
});
109109
}
110110
);
111+
112+
context(
113+
'ClientEncryption with credentialProviders and valid environment variables',
114+
metadata,
115+
function () {
116+
let clientEncryption;
117+
let providerCount = 0;
118+
let previousAccessKey;
119+
let previousSecretKey;
120+
121+
beforeEach(function () {
122+
previousAccessKey = process.env.AWS_ACCESS_KEY_ID;
123+
previousSecretKey = process.env.AWS_SECRET_ACCESS_KEY;
124+
process.env.AWS_ACCESS_KEY_ID = process.env.FLE_AWS_KEY;
125+
process.env.AWS_SECRET_ACCESS_KEY = process.env.FLE_AWS_SECRET;
126+
127+
const options = {
128+
keyVaultNamespace: 'keyvault.datakeys',
129+
kmsProviders: { aws: {} },
130+
credentialProviders: {
131+
aws: async () => {
132+
providerCount++;
133+
return {
134+
accessKeyId: process.env.FLE_AWS_KEY,
135+
secretAccessKey: process.env.FLE_AWS_SECRET
136+
};
137+
}
138+
},
139+
extraOptions: getEncryptExtraOptions()
140+
};
141+
clientEncryption = new ClientEncryption(keyVaultClient, options);
142+
});
143+
144+
afterEach(function () {
145+
process.env.AWS_ACCESS_KEY_ID = previousAccessKey;
146+
process.env.AWS_SECRET_ACCESS_KEY = previousSecretKey;
147+
});
148+
149+
it('is successful', metadata, async function () {
150+
const dk = await clientEncryption.createDataKey('aws', { masterKey });
151+
expect(dk).to.be.instanceOf(Binary);
152+
expect(providerCount).to.be.greaterThan(0);
153+
});
154+
}
155+
);
111156
});

0 commit comments

Comments
 (0)