From af9e7312a47759de12e0cdd8264a31273bb7f217 Mon Sep 17 00:00:00 2001 From: Jonne Kaunisto Date: Sat, 6 Mar 2021 23:47:45 +0000 Subject: [PATCH] Add test case for short name --- packages/@aws-cdk/aws-stepfunctions/lib/state-machine.ts | 4 ++-- .../@aws-cdk/aws-stepfunctions/test/state-machine.test.ts | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/@aws-cdk/aws-stepfunctions/lib/state-machine.ts b/packages/@aws-cdk/aws-stepfunctions/lib/state-machine.ts index 6ac859b755fe7..fa97eccad71f4 100644 --- a/packages/@aws-cdk/aws-stepfunctions/lib/state-machine.ts +++ b/packages/@aws-cdk/aws-stepfunctions/lib/state-machine.ts @@ -434,8 +434,8 @@ export class StateMachine extends StateMachineBase { if (stateMachineName.length < 1 || stateMachineName.length > 80) { throw new Error(`State Machine name must be between 1 and 80 characters. Received: ${stateMachineName}`); } - if (!stateMachineName.match('^[0-9a-zA-Z\_\-]+$')) { - throw new Error(`State Machine name must match "^[0-9a-zA-Z\_\-]+$". Received: ${stateMachineName}`); + if (!stateMachineName.match('^[0-9a-zA-Z+!@._-]+$')) { + throw new Error(`State Machine name must match "^[0-9a-zA-Z+!@._-]+$". Received: ${stateMachineName}`); } } diff --git a/packages/@aws-cdk/aws-stepfunctions/test/state-machine.test.ts b/packages/@aws-cdk/aws-stepfunctions/test/state-machine.test.ts index be3b2edb5a346..1c26947659a54 100644 --- a/packages/@aws-cdk/aws-stepfunctions/test/state-machine.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions/test/state-machine.test.ts @@ -74,17 +74,22 @@ describe('State Machine', () => { stateMachineType: stepfunctions.StateMachineType.EXPRESS, }); }; + const tooShortName = ''; const tooLongName = 'M'.repeat(81); const invalidCharactersName = '*'; // THEN + expect(() => { + createStateMachine(tooShortName); + }).toThrow(`State Machine name must be between 1 and 80 characters. Received: ${tooShortName}`); + expect(() => { createStateMachine(tooLongName); }).toThrow(`State Machine name must be between 1 and 80 characters. Received: ${tooLongName}`); expect(() => { createStateMachine(invalidCharactersName); - }).toThrow(`State Machine name must match "^[0-9a-zA-Z\_\-]+$". Received: ${invalidCharactersName}`); + }).toThrow(`State Machine name must match "^[0-9a-zA-Z+!@._-]+$". Received: ${invalidCharactersName}`); }); test('log configuration', () => {