这是我第一次尝试摩卡/柴。我有一个IaC项目,在启动之前,我想在执行工作之前验证存储在Secrets Manager中的秘密是否确实存在。
当我运行此程序时。我只是得到输出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
这是我第一次尝试摩卡/柴。我有一个IaC项目,在启动之前,我想在执行工作之前验证存储在Secrets Manager中的秘密是否确实存在。当我...
我知道了我的问题(尽管我仍然不完全了解)