DB:Mongo ODM:我使用 Mongoose 作为 ODM。
我正在为我的应用程序编写 document.save() 函数的负面测试。如何在保存文档时模拟或复制错误,以便我可以相应地断言。
const CreateArtist = async (artist) => {
try {
await dbConnect();
const user = await new Artist(artist);
await user.validate();
return await user.save(); // want to test for error on save.
} catch (err) {
throw err;
}
};
Run Code Online (Sandbox Code Playgroud)
我曾尝试更改连接字符串,但出现连接字符串错误错误。我不确定如何在保存时复制错误。
我对 S3 和 Kinesis 流各有 2 个策略,其中包括 DescribeStream。S3 策略运行良好,但 KinesisPolicy 出现此错误。
资源:
角色:
政策:
具有以下权限的 S3 策略:
- 's3:AbortMultipartUpload'
- 's3:GetBucketLocation'
- 's3:GetObject'
- 's3:ListBucket'
- 's3:ListBucketMultipartUploads'
- 's3:PutObject'
Run Code Online (Sandbox Code Playgroud)具有以下权限的 Kinesis 策略:
- 'kinesis:PutRecord'
- 'kinesis:DescribeStreamSummary'
- 'kinesis:PutRecords'
- 'kinesis:GetShardIterator'
- 'kinesis:GetRecords'
- 'kinesis:DescribeStream'
Run Code Online (Sandbox Code Playgroud)错误:
角色 (firehoseRole) 无权在 MyKinesisStream 上执行 DescribeStream。
云形成模板
Resources:
S3Bucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
firehoseRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Sid: ''
Effect: Allow
Principal:
Service: firehose.amazonaws.com …Run Code Online (Sandbox Code Playgroud)