SWF (Simple Workflow Service)

Implementation details for API swf

Coverage Overview

Simple Workflow Service (SWF) is supported by LocalStack in the community image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
CountClosedWorkflowExecutions
CountOpenWorkflowExecutions
CountPendingActivityTasks✔️community
CountPendingDecisionTasks✔️community
DeprecateActivityType✔️community
DeprecateDomain✔️community
DeprecateWorkflowType✔️community
DescribeActivityType✔️community
DescribeDomain✔️community
DescribeWorkflowExecution✔️community
DescribeWorkflowType✔️community
GetWorkflowExecutionHistory✔️community✔️Show Tests
ListActivityTypes✔️community
ListClosedWorkflowExecutions✔️community
ListDomains✔️community
ListOpenWorkflowExecutions✔️community
ListTagsForResource
ListWorkflowTypes✔️community✔️Show Tests
PollForActivityTask✔️community✔️Show Tests
PollForDecisionTask✔️community✔️Show Tests
RecordActivityTaskHeartbeat✔️community
RegisterActivityType✔️community✔️Show Tests
RegisterDomain✔️community✔️Show Tests
RegisterWorkflowType✔️community✔️Show Tests
RequestCancelWorkflowExecution
RespondActivityTaskCanceled
RespondActivityTaskCompleted✔️community✔️Show Tests
RespondActivityTaskFailed✔️community
RespondDecisionTaskCompleted✔️community✔️Show Tests
SignalWorkflowExecution✔️community
StartWorkflowExecution✔️community✔️Show Tests
TagResource
TerminateWorkflowExecution✔️community
UndeprecateActivityType✔️community
UndeprecateDomain✔️community
UndeprecateWorkflowType✔️community
UntagResource

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


GetWorkflowExecutionHistory

Parameters: domain, execution
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

ListWorkflowTypes

Parameters: domain, registrationStatus
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

PollForActivityTask

Parameters: domain, taskList
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

PollForDecisionTask

Parameters: domain, taskList
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

RegisterActivityType

Parameters: defaultTaskHeartbeatTimeout, defaultTaskList, defaultTaskScheduleToCloseTimeout, defaultTaskScheduleToStartTimeout, defaultTaskStartToCloseTimeout, domain, name, version
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

RegisterDomain

Parameters: name, workflowExecutionRetentionPeriodInDays
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

RegisterWorkflowType

Parameters: defaultChildPolicy, defaultExecutionStartToCloseTimeout, defaultTaskList, defaultTaskStartToCloseTimeout, domain, name, version
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

RespondActivityTaskCompleted

Parameters: result, taskToken
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

RespondDecisionTaskCompleted

Parameters: decisions, taskToken
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

StartWorkflowExecution

Parameters: domain, workflowId, workflowType
  • LocalStack Community
    • test_run_workflow LocalStack Community: tests/aws/services/swf/test_swf.py::TestSwf::test_run_workflow HTTP Status Code: 200

Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)