Это моя первая попытка Мокко / Чай при тестировании. У меня есть проект Ia C, и, прежде чем он будет запущен, я хочу убедиться, что секреты, хранящиеся в диспетчере секретов, действительно есть, прежде чем выполнять работу.
Когда я запускаю это. Я просто получаю вывод 0 passing (0ms)
Код: код получает учетные данные для разных регионов, а затем должен сравнить, если этот секрет выходит из не сравнения строки в expect.to.equal
import * as awsSdk from 'aws-sdk';
import { expect } from 'chai';
import { secretValues } from './config';
// Assume Role
const sts = new awsSdk.STS();
// Function to Update Credentials
const getCrossAccountCredentials = async (account: string, role: string) =>
new Promise((resolve, reject) => {
const timestamp = new Date().getTime();
const params = {
RoleArn: `arn:aws:iam::${account}:role/${role}`,
RoleSessionName: `sts-session-${timestamp}`
};
sts.assumeRole(params, (err, data) => {
if (err) reject(err);
else {
resolve({
accessKeyId: data.Credentials.AccessKeyId,
secretAccessKey: data.Credentials.SecretAccessKey,
sessionToken: data.Credentials.SessionToken
});
}
});
});
// Run Test for Secrets Manager
describe('# Secrets Manager Tests:', () => {
secretValues.map(async dir => {
// Configure the AWS SDK with the correct region
awsSdk.config.update({
region: dir.region
});
// Get Assume Role
const accessparams = await getCrossAccountCredentials(
dir.account,
dir.role
);
// Initialize SecretsManager Client
const sm = new awsSdk.SecretsManager(accessparams);
// Set Params for Describe Secret
const params = {
SecretId: `ServiceAccounts/${dir.name}/admin`
};
// Run Each Account
it('Should exists in AWS', async () => {
// Describe the Secret
sm.describeSecret(params, (err, data) => {
if (err) {
throw err;
}
else {
expect(`${data.Name}`).to.equal(`ServiceAccounts/${dir.name}/admin`);
}
});
});
});
});
Ожидаемое поведение:
Secrets Manager Tests:
3 of 3 passing