Skip to content

Commit 62d54d7

Browse files
committed
combine toThrow unit tests into test loop
1 parent c48be3a commit 62d54d7

File tree

1 file changed

+13
-68
lines changed

1 file changed

+13
-68
lines changed

packages/aws-cdk-lib/aws-rds/test/cluster.test.ts

+13-68
Original file line numberDiff line numberDiff line change
@@ -4933,86 +4933,31 @@ describe('cluster', () => {
49334933
Template.fromStack(stack).hasResourceProperties('AWS::RDS::DBCluster', {
49344934
ManageMasterUserPassword: true,
49354935
});
4936-
4937-
});
4938-
4939-
test('throw error for setting `manageMasterUserPassword` to true while `credentials` props excludeCharacters is defined', () => {
4940-
// Given
4941-
const stack = testStack();
4942-
const vpc = new ec2.Vpc(stack, 'VPC');
4943-
4944-
// WHEN
4945-
expect(() => {
4946-
new DatabaseCluster(stack, 'Database', {
4947-
engine: DatabaseClusterEngine.auroraPostgres({ version: AuroraPostgresEngineVersion.VER_16_1 }),
4948-
manageMasterUserPassword: true,
4949-
credentials: { username: 'test', excludeCharacters: '1234' },
4950-
vpc,
4951-
writer: ClusterInstance.serverlessV2('writer'),
4952-
});
4953-
4954-
// THEN
4955-
}).toThrow('Only the `username` and `encryptionKey` credentials properties may be used when `manageMasterUserPassword` is true');
49564936
});
49574937

4958-
test('throw error for setting `manageMasterUserPassword` to true while `credentials` prop secret is defined', () => {
4959-
// Given
4960-
const stack = testStack();
4961-
const vpc = new ec2.Vpc(stack, 'VPC');
4962-
const secret = new sm.Secret(stack, 'secret');
4963-
4964-
// WHEN
4965-
expect(() => {
4966-
new DatabaseCluster(stack, 'Database', {
4967-
engine: DatabaseClusterEngine.auroraPostgres({ version: AuroraPostgresEngineVersion.VER_16_1 }),
4968-
manageMasterUserPassword: true,
4969-
credentials: { secret: secret },
4970-
vpc,
4971-
writer: ClusterInstance.serverlessV2('writer'),
4972-
});
4973-
4974-
// THEN
4975-
}).toThrow('Only the `username` and `encryptionKey` credentials properties may be used when `manageMasterUserPassword` is true');
4976-
});
4977-
4978-
test('throw error for setting `manageMasterUserPassword` to true while `credentials` prop password is defined', () => {
4979-
// Given
4980-
const stack = testStack();
4981-
const vpc = new ec2.Vpc(stack, 'VPC');
4982-
const secret = new sm.Secret(stack, 'secret');
4983-
4938+
// count allows for generation of unique identifiers each test run
4939+
let count = 0;
4940+
const stack = testStack();
4941+
test.each([
4942+
['excludeCharacters', { excludeCharacters: '1234' }],
4943+
['replicaRegions', { username: 'test', replicaRegions: ['us-east-1', 'us-west-2'] }],
4944+
['secret', { secret: new sm.Secret(stack, 'secret') }],
4945+
['Credentials', Credentials.fromSecret(new sm.Secret(stack, 'secret1'))],
4946+
])('throw error for setting `manageMasterUserPassword` to true while `credentials.%s` is defined', (_, credentials) => {
49844947
// WHEN
49854948
expect(() => {
4986-
new DatabaseCluster(stack, 'Database', {
4949+
new DatabaseCluster(stack, `Database${count}`, {
49874950
engine: DatabaseClusterEngine.auroraPostgres({ version: AuroraPostgresEngineVersion.VER_16_1 }),
49884951
manageMasterUserPassword: true,
4989-
credentials: { username: 'test', replicaRegions: ['us-east-1', 'us-west-2'] },
4990-
vpc,
4952+
credentials: credentials,
4953+
vpc: new ec2.Vpc(stack, `VPC${count}`),
49914954
writer: ClusterInstance.serverlessV2('writer'),
49924955
});
49934956

49944957
// THEN
49954958
}).toThrow('Only the `username` and `encryptionKey` credentials properties may be used when `manageMasterUserPassword` is true');
4996-
});
49974959

4998-
test('throw error for setting `manageMasterUserPassword` to true while `credentials` is passed a Credentials object', () => {
4999-
// Given
5000-
const stack = testStack();
5001-
const vpc = new ec2.Vpc(stack, 'VPC');
5002-
const secret = new sm.Secret(stack, 'secret');
5003-
5004-
// WHEN
5005-
expect(() => {
5006-
new DatabaseCluster(stack, 'Database', {
5007-
engine: DatabaseClusterEngine.auroraPostgres({ version: AuroraPostgresEngineVersion.VER_16_1 }),
5008-
manageMasterUserPassword: true,
5009-
credentials: Credentials.fromSecret(secret),
5010-
vpc,
5011-
writer: ClusterInstance.serverlessV2('writer'),
5012-
});
5013-
5014-
// THEN
5015-
}).toThrow('Only the `username` and `encryptionKey` credentials properties may be used when `manageMasterUserPassword` is true');
4960+
count = count + 1;
50164961
});
50174962
});
50184963
});

0 commit comments

Comments
 (0)