Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,10 @@ private void listExecutions(SfnClient sfnClient, Exchange exchange) throws Inval
}
} else {
ListExecutionsRequest.Builder builder = ListExecutionsRequest.builder();
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(StepFunctions2Constants.STATE_MACHINE_ARN))) {
String stateMachineArn = exchange.getIn().getHeader(StepFunctions2Constants.STATE_MACHINE_ARN, String.class);
builder.stateMachineArn(stateMachineArn);
}
if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(StepFunctions2Constants.EXECUTIONS_MAX_RESULTS))) {
int maxRes = exchange.getIn().getHeader(StepFunctions2Constants.EXECUTIONS_MAX_RESULTS, Integer.class);
builder.maxResults(maxRes);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,18 @@

public class AmazonStepFunctionsClientMock implements SfnClient {

private ListExecutionsRequest lastListExecutionsRequest;

public AmazonStepFunctionsClientMock() {
}

/**
* The last request passed to {@link #listExecutions}, so tests can assert how it was built.
*/
public ListExecutionsRequest getLastListExecutionsRequest() {
return lastListExecutionsRequest;
}

@Override
public CreateActivityResponse createActivity(CreateActivityRequest createActivityRequest) {
CreateActivityResponse.Builder result = CreateActivityResponse.builder();
Expand Down Expand Up @@ -102,6 +111,7 @@ public ListActivitiesResponse listActivities(ListActivitiesRequest listActivitie

@Override
public ListExecutionsResponse listExecutions(ListExecutionsRequest listExecutionsRequest) {
this.lastListExecutionsRequest = listExecutionsRequest;
ListExecutionsResponse.Builder result = ListExecutionsResponse.builder();
List<ExecutionListItem> executionListItems = new ArrayList<>();
executionListItems.add(ExecutionListItem.builder().executionArn("aws:sfn-execution::test-arn").build());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ public void sfnListExecutionsTest() throws Exception {
@Override
public void process(Exchange exchange) {
exchange.getIn().setHeader(StepFunctions2Constants.OPERATION, StepFunctions2Operations.listExecutions);
exchange.getIn().setHeader(StepFunctions2Constants.STATE_MACHINE_ARN, "aws:sfn::test-state-machine");
}
});

Expand All @@ -316,6 +317,8 @@ public void process(Exchange exchange) {
ListExecutionsResponse resultGet = (ListExecutionsResponse) exchange.getIn().getBody();
assertEquals(1, resultGet.executions().size());
assertEquals("aws:sfn-execution::test-arn", resultGet.executions().get(0).executionArn());
// ListExecutions requires the state machine ARN; it must be taken from the header.
assertEquals("aws:sfn::test-state-machine", clientMock.getLastListExecutionsRequest().stateMachineArn());
}

@Test
Expand Down
Loading