stepfunctions-testing
v0.1.2
Published
Step Functions testing library.
Downloads
6,963
Readme
Step Functions Testing Library
Features
- Create a MockConfigFile with JavaScript
Install
npm i stepfunctions-testing
Usage
Creating a mocked response
Return
a response
const checkIdentityLambdaMockedSuccess = new MockedResponse(
'CheckIdentityLambdaMockedSuccess'
).return<any>({
StatusCode: 200,
Payload: {
statusCode: 200,
body: JSON.stringify({
approved: true,
message: 'identity validation passed',
}),
},
});
Throw
a response
const checkIdentityLambdaMockedThrowError = new MockedResponse(
'CheckIdentityLambdaMockedThrowError'
).throw('CustomValidationError', 'Check Identity Validation Failed');
Repeating responses
const checkIdentityLambdaMockedThrowError = new MockedResponse(
'CheckIdentityLambdaMockedThrowError'
).throw('CustomValidationError', 'Check Identity Validation Failed', /* repeat the response 3 times. total becomes 4 */ 3);
Full example
// Create mocked responses
const checkIdentityLambdaMockedSuccess = new MockedResponse(
'CheckIdentityLambdaMockedSuccess'
).return<any>({
StatusCode: 200,
Payload: {
statusCode: 200,
body: JSON.stringify({
approved: true,
message: 'identity validation passed',
}),
},
});
const checkAddressLambdaMockedSuccess = new MockedResponse(
'CheckAddressLambdaMockedSuccess'
).return<any>({
StatusCode: 200,
Payload: {
statusCode: 200,
body: JSON.stringify({
approved: true,
message: 'address validation passed',
}),
},
});
// Create a state machine test definition
const stateMachineTestDefinition = new StateMachineTestDefinition('SomeStateMachineName')
.addTestCase(
new StateMachineTestCase('HappyPathTest')
.withInput(input)
.addMockedState(
'CheckIdentity',
checkIdentityLambdaMockedSuccess
)
.addMockedState(
'CheckAddress',
checkAddressLambdaMockedSuccess
)
);
// Create a config
const config = new StepFunctionsMockConfig()
.addTestDefinition(stateMachineTestDefinition);
// Convert the config object to JSON
// You can write this down to a file to be used by step functions local
config.toJSON();
License
stepfunctions-testing is available under the terms of MIT License