type SFNAPI interface {
CreateActivity(*sfn.CreateActivityInput) (*sfn.CreateActivityOutput, error)
CreateActivityWithContext(aws.Context, *sfn.CreateActivityInput, ...request.Option) (*sfn.CreateActivityOutput, error)
CreateActivityRequest(*sfn.CreateActivityInput) (*request.Request, *sfn.CreateActivityOutput)
CreateStateMachine(*sfn.CreateStateMachineInput) (*sfn.CreateStateMachineOutput, error)
CreateStateMachineWithContext(aws.Context, *sfn.CreateStateMachineInput, ...request.Option) (*sfn.CreateStateMachineOutput, error)
CreateStateMachineRequest(*sfn.CreateStateMachineInput) (*request.Request, *sfn.CreateStateMachineOutput)
CreateStateMachineAlias(*sfn.CreateStateMachineAliasInput) (*sfn.CreateStateMachineAliasOutput, error)
CreateStateMachineAliasWithContext(aws.Context, *sfn.CreateStateMachineAliasInput, ...request.Option) (*sfn.CreateStateMachineAliasOutput, error)
CreateStateMachineAliasRequest(*sfn.CreateStateMachineAliasInput) (*request.Request, *sfn.CreateStateMachineAliasOutput)
DeleteActivity(*sfn.DeleteActivityInput) (*sfn.DeleteActivityOutput, error)
DeleteActivityWithContext(aws.Context, *sfn.DeleteActivityInput, ...request.Option) (*sfn.DeleteActivityOutput, error)
DeleteActivityRequest(*sfn.DeleteActivityInput) (*request.Request, *sfn.DeleteActivityOutput)
DeleteStateMachine(*sfn.DeleteStateMachineInput) (*sfn.DeleteStateMachineOutput, error)
DeleteStateMachineWithContext(aws.Context, *sfn.DeleteStateMachineInput, ...request.Option) (*sfn.DeleteStateMachineOutput, error)
DeleteStateMachineRequest(*sfn.DeleteStateMachineInput) (*request.Request, *sfn.DeleteStateMachineOutput)
DeleteStateMachineAlias(*sfn.DeleteStateMachineAliasInput) (*sfn.DeleteStateMachineAliasOutput, error)
DeleteStateMachineAliasWithContext(aws.Context, *sfn.DeleteStateMachineAliasInput, ...request.Option) (*sfn.DeleteStateMachineAliasOutput, error)
DeleteStateMachineAliasRequest(*sfn.DeleteStateMachineAliasInput) (*request.Request, *sfn.DeleteStateMachineAliasOutput)
DeleteStateMachineVersion(*sfn.DeleteStateMachineVersionInput) (*sfn.DeleteStateMachineVersionOutput, error)
DeleteStateMachineVersionWithContext(aws.Context, *sfn.DeleteStateMachineVersionInput, ...request.Option) (*sfn.DeleteStateMachineVersionOutput, error)
DeleteStateMachineVersionRequest(*sfn.DeleteStateMachineVersionInput) (*request.Request, *sfn.DeleteStateMachineVersionOutput)
DescribeActivity(*sfn.DescribeActivityInput) (*sfn.DescribeActivityOutput, error)
DescribeActivityWithContext(aws.Context, *sfn.DescribeActivityInput, ...request.Option) (*sfn.DescribeActivityOutput, error)
DescribeActivityRequest(*sfn.DescribeActivityInput) (*request.Request, *sfn.DescribeActivityOutput)
DescribeExecution(*sfn.DescribeExecutionInput) (*sfn.DescribeExecutionOutput, error)
DescribeExecutionWithContext(aws.Context, *sfn.DescribeExecutionInput, ...request.Option) (*sfn.DescribeExecutionOutput, error)
DescribeExecutionRequest(*sfn.DescribeExecutionInput) (*request.Request, *sfn.DescribeExecutionOutput)
DescribeMapRun(*sfn.DescribeMapRunInput) (*sfn.DescribeMapRunOutput, error)
DescribeMapRunWithContext(aws.Context, *sfn.DescribeMapRunInput, ...request.Option) (*sfn.DescribeMapRunOutput, error)
DescribeMapRunRequest(*sfn.DescribeMapRunInput) (*request.Request, *sfn.DescribeMapRunOutput)
DescribeStateMachine(*sfn.DescribeStateMachineInput) (*sfn.DescribeStateMachineOutput, error)
DescribeStateMachineWithContext(aws.Context, *sfn.DescribeStateMachineInput, ...request.Option) (*sfn.DescribeStateMachineOutput, error)
DescribeStateMachineRequest(*sfn.DescribeStateMachineInput) (*request.Request, *sfn.DescribeStateMachineOutput)
DescribeStateMachineAlias(*sfn.DescribeStateMachineAliasInput) (*sfn.DescribeStateMachineAliasOutput, error)
DescribeStateMachineAliasWithContext(aws.Context, *sfn.DescribeStateMachineAliasInput, ...request.Option) (*sfn.DescribeStateMachineAliasOutput, error)
DescribeStateMachineAliasRequest(*sfn.DescribeStateMachineAliasInput) (*request.Request, *sfn.DescribeStateMachineAliasOutput)
DescribeStateMachineForExecution(*sfn.DescribeStateMachineForExecutionInput) (*sfn.DescribeStateMachineForExecutionOutput, error)
DescribeStateMachineForExecutionWithContext(aws.Context, *sfn.DescribeStateMachineForExecutionInput, ...request.Option) (*sfn.DescribeStateMachineForExecutionOutput, error)
DescribeStateMachineForExecutionRequest(*sfn.DescribeStateMachineForExecutionInput) (*request.Request, *sfn.DescribeStateMachineForExecutionOutput)
GetActivityTask(*sfn.GetActivityTaskInput) (*sfn.GetActivityTaskOutput, error)
GetActivityTaskWithContext(aws.Context, *sfn.GetActivityTaskInput, ...request.Option) (*sfn.GetActivityTaskOutput, error)
GetActivityTaskRequest(*sfn.GetActivityTaskInput) (*request.Request, *sfn.GetActivityTaskOutput)
GetExecutionHistory(*sfn.GetExecutionHistoryInput) (*sfn.GetExecutionHistoryOutput, error)
GetExecutionHistoryWithContext(aws.Context, *sfn.GetExecutionHistoryInput, ...request.Option) (*sfn.GetExecutionHistoryOutput, error)
GetExecutionHistoryRequest(*sfn.GetExecutionHistoryInput) (*request.Request, *sfn.GetExecutionHistoryOutput)
GetExecutionHistoryPages(*sfn.GetExecutionHistoryInput, func(*sfn.GetExecutionHistoryOutput, bool) bool) error
GetExecutionHistoryPagesWithContext(aws.Context, *sfn.GetExecutionHistoryInput, func(*sfn.GetExecutionHistoryOutput, bool) bool, ...request.Option) error
ListActivities(*sfn.ListActivitiesInput) (*sfn.ListActivitiesOutput, error)
ListActivitiesWithContext(aws.Context, *sfn.ListActivitiesInput, ...request.Option) (*sfn.ListActivitiesOutput, error)
ListActivitiesRequest(*sfn.ListActivitiesInput) (*request.Request, *sfn.ListActivitiesOutput)
ListActivitiesPages(*sfn.ListActivitiesInput, func(*sfn.ListActivitiesOutput, bool) bool) error
ListActivitiesPagesWithContext(aws.Context, *sfn.ListActivitiesInput, func(*sfn.ListActivitiesOutput, bool) bool, ...request.Option) error
ListExecutions(*sfn.ListExecutionsInput) (*sfn.ListExecutionsOutput, error)
ListExecutionsWithContext(aws.Context, *sfn.ListExecutionsInput, ...request.Option) (*sfn.ListExecutionsOutput, error)
ListExecutionsRequest(*sfn.ListExecutionsInput) (*request.Request, *sfn.ListExecutionsOutput)
ListExecutionsPages(*sfn.ListExecutionsInput, func(*sfn.ListExecutionsOutput, bool) bool) error
ListExecutionsPagesWithContext(aws.Context, *sfn.ListExecutionsInput, func(*sfn.ListExecutionsOutput, bool) bool, ...request.Option) error
ListMapRuns(*sfn.ListMapRunsInput) (*sfn.ListMapRunsOutput, error)
ListMapRunsWithContext(aws.Context, *sfn.ListMapRunsInput, ...request.Option) (*sfn.ListMapRunsOutput, error)
ListMapRunsRequest(*sfn.ListMapRunsInput) (*request.Request, *sfn.ListMapRunsOutput)
ListMapRunsPages(*sfn.ListMapRunsInput, func(*sfn.ListMapRunsOutput, bool) bool) error
ListMapRunsPagesWithContext(aws.Context, *sfn.ListMapRunsInput, func(*sfn.ListMapRunsOutput, bool) bool, ...request.Option) error
ListStateMachineAliases(*sfn.ListStateMachineAliasesInput) (*sfn.ListStateMachineAliasesOutput, error)
ListStateMachineAliasesWithContext(aws.Context, *sfn.ListStateMachineAliasesInput, ...request.Option) (*sfn.ListStateMachineAliasesOutput, error)
ListStateMachineAliasesRequest(*sfn.ListStateMachineAliasesInput) (*request.Request, *sfn.ListStateMachineAliasesOutput)
ListStateMachineVersions(*sfn.ListStateMachineVersionsInput) (*sfn.ListStateMachineVersionsOutput, error)
ListStateMachineVersionsWithContext(aws.Context, *sfn.ListStateMachineVersionsInput, ...request.Option) (*sfn.ListStateMachineVersionsOutput, error)
ListStateMachineVersionsRequest(*sfn.ListStateMachineVersionsInput) (*request.Request, *sfn.ListStateMachineVersionsOutput)
ListStateMachines(*sfn.ListStateMachinesInput) (*sfn.ListStateMachinesOutput, error)
ListStateMachinesWithContext(aws.Context, *sfn.ListStateMachinesInput, ...request.Option) (*sfn.ListStateMachinesOutput, error)
ListStateMachinesRequest(*sfn.ListStateMachinesInput) (*request.Request, *sfn.ListStateMachinesOutput)
ListStateMachinesPages(*sfn.ListStateMachinesInput, func(*sfn.ListStateMachinesOutput, bool) bool) error
ListStateMachinesPagesWithContext(aws.Context, *sfn.ListStateMachinesInput, func(*sfn.ListStateMachinesOutput, bool) bool, ...request.Option) error
ListTagsForResource(*sfn.ListTagsForResourceInput) (*sfn.ListTagsForResourceOutput, error)
ListTagsForResourceWithContext(aws.Context, *sfn.ListTagsForResourceInput, ...request.Option) (*sfn.ListTagsForResourceOutput, error)
ListTagsForResourceRequest(*sfn.ListTagsForResourceInput) (*request.Request, *sfn.ListTagsForResourceOutput)
PublishStateMachineVersion(*sfn.PublishStateMachineVersionInput) (*sfn.PublishStateMachineVersionOutput, error)
PublishStateMachineVersionWithContext(aws.Context, *sfn.PublishStateMachineVersionInput, ...request.Option) (*sfn.PublishStateMachineVersionOutput, error)
PublishStateMachineVersionRequest(*sfn.PublishStateMachineVersionInput) (*request.Request, *sfn.PublishStateMachineVersionOutput)
RedriveExecution(*sfn.RedriveExecutionInput) (*sfn.RedriveExecutionOutput, error)
RedriveExecutionWithContext(aws.Context, *sfn.RedriveExecutionInput, ...request.Option) (*sfn.RedriveExecutionOutput, error)
RedriveExecutionRequest(*sfn.RedriveExecutionInput) (*request.Request, *sfn.RedriveExecutionOutput)
SendTaskFailure(*sfn.SendTaskFailureInput) (*sfn.SendTaskFailureOutput, error)
SendTaskFailureWithContext(aws.Context, *sfn.SendTaskFailureInput, ...request.Option) (*sfn.SendTaskFailureOutput, error)
SendTaskFailureRequest(*sfn.SendTaskFailureInput) (*request.Request, *sfn.SendTaskFailureOutput)
SendTaskHeartbeat(*sfn.SendTaskHeartbeatInput) (*sfn.SendTaskHeartbeatOutput, error)
SendTaskHeartbeatWithContext(aws.Context, *sfn.SendTaskHeartbeatInput, ...request.Option) (*sfn.SendTaskHeartbeatOutput, error)
SendTaskHeartbeatRequest(*sfn.SendTaskHeartbeatInput) (*request.Request, *sfn.SendTaskHeartbeatOutput)
SendTaskSuccess(*sfn.SendTaskSuccessInput) (*sfn.SendTaskSuccessOutput, error)
SendTaskSuccessWithContext(aws.Context, *sfn.SendTaskSuccessInput, ...request.Option) (*sfn.SendTaskSuccessOutput, error)
SendTaskSuccessRequest(*sfn.SendTaskSuccessInput) (*request.Request, *sfn.SendTaskSuccessOutput)
StartExecution(*sfn.StartExecutionInput) (*sfn.StartExecutionOutput, error)
StartExecutionWithContext(aws.Context, *sfn.StartExecutionInput, ...request.Option) (*sfn.StartExecutionOutput, error)
StartExecutionRequest(*sfn.StartExecutionInput) (*request.Request, *sfn.StartExecutionOutput)
StartSyncExecution(*sfn.StartSyncExecutionInput) (*sfn.StartSyncExecutionOutput, error)
StartSyncExecutionWithContext(aws.Context, *sfn.StartSyncExecutionInput, ...request.Option) (*sfn.StartSyncExecutionOutput, error)
StartSyncExecutionRequest(*sfn.StartSyncExecutionInput) (*request.Request, *sfn.StartSyncExecutionOutput)
StopExecution(*sfn.StopExecutionInput) (*sfn.StopExecutionOutput, error)
StopExecutionWithContext(aws.Context, *sfn.StopExecutionInput, ...request.Option) (*sfn.StopExecutionOutput, error)
StopExecutionRequest(*sfn.StopExecutionInput) (*request.Request, *sfn.StopExecutionOutput)
TagResource(*sfn.TagResourceInput) (*sfn.TagResourceOutput, error)
TagResourceWithContext(aws.Context, *sfn.TagResourceInput, ...request.Option) (*sfn.TagResourceOutput, error)
TagResourceRequest(*sfn.TagResourceInput) (*request.Request, *sfn.TagResourceOutput)
TestState(*sfn.TestStateInput) (*sfn.TestStateOutput, error)
TestStateWithContext(aws.Context, *sfn.TestStateInput, ...request.Option) (*sfn.TestStateOutput, error)
TestStateRequest(*sfn.TestStateInput) (*request.Request, *sfn.TestStateOutput)
UntagResource(*sfn.UntagResourceInput) (*sfn.UntagResourceOutput, error)
UntagResourceWithContext(aws.Context, *sfn.UntagResourceInput, ...request.Option) (*sfn.UntagResourceOutput, error)
UntagResourceRequest(*sfn.UntagResourceInput) (*request.Request, *sfn.UntagResourceOutput)
UpdateMapRun(*sfn.UpdateMapRunInput) (*sfn.UpdateMapRunOutput, error)
UpdateMapRunWithContext(aws.Context, *sfn.UpdateMapRunInput, ...request.Option) (*sfn.UpdateMapRunOutput, error)
UpdateMapRunRequest(*sfn.UpdateMapRunInput) (*request.Request, *sfn.UpdateMapRunOutput)
UpdateStateMachine(*sfn.UpdateStateMachineInput) (*sfn.UpdateStateMachineOutput, error)
UpdateStateMachineWithContext(aws.Context, *sfn.UpdateStateMachineInput, ...request.Option) (*sfn.UpdateStateMachineOutput, error)
UpdateStateMachineRequest(*sfn.UpdateStateMachineInput) (*request.Request, *sfn.UpdateStateMachineOutput)
UpdateStateMachineAlias(*sfn.UpdateStateMachineAliasInput) (*sfn.UpdateStateMachineAliasOutput, error)
UpdateStateMachineAliasWithContext(aws.Context, *sfn.UpdateStateMachineAliasInput, ...request.Option) (*sfn.UpdateStateMachineAliasOutput, error)
UpdateStateMachineAliasRequest(*sfn.UpdateStateMachineAliasInput) (*request.Request, *sfn.UpdateStateMachineAliasOutput)
ValidateStateMachineDefinition(*sfn.ValidateStateMachineDefinitionInput) (*sfn.ValidateStateMachineDefinitionOutput, error)
ValidateStateMachineDefinitionWithContext(aws.Context, *sfn.ValidateStateMachineDefinitionInput, ...request.Option) (*sfn.ValidateStateMachineDefinitionOutput, error)
ValidateStateMachineDefinitionRequest(*sfn.ValidateStateMachineDefinitionInput) (*request.Request, *sfn.ValidateStateMachineDefinitionOutput)
}
SFNAPI provides an interface to enable mocking the sfn.SFN service client's API operation, paginators, and waiters. This make unit testing your code that calls out to the SDK's service client's calls easier.
The best way to use this interface is so the SDK's service client's calls can be stubbed out for unit testing your code with the SDK without needing to inject custom request handlers into the SDK's request pipeline.
// myFunc uses an SDK service client to make a request to
// AWS Step Functions.
func myFunc(svc sfniface.SFNAPI) bool {
// Make svc.CreateActivity request
}
func main() {
sess := session.New()
svc := sfn.New(sess)
myFunc(svc)
}
In your _test.go file:
// Define a mock struct to be used in your unit tests of myFunc.
type mockSFNClient struct {
sfniface.SFNAPI
}
func (m *mockSFNClient) CreateActivity(input *sfn.CreateActivityInput) (*sfn.CreateActivityOutput, error) {
// mock response/functionality
}
func TestMyFunc(t *testing.T) {
// Setup Test
mockSvc := &mockSFNClient{}
myfunc(mockSvc)
// Verify myFunc's functionality
}
It is important to note that this interface will have breaking changes when the service model is updated and adds new API operations, paginators, and waiters. Its suggested to use the pattern above for testing, or using tooling to generate mocks to satisfy the interfaces.