Jean-Baptiste Barth
3a5f679783
Fix python 3.3 compatibility in moto/swf regarging string types detection
2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
c0b4aadd92
Fix python 3.x compatibility regarding json loading
...
Error on travis-ci was:
TypeError: can't use a string pattern on a bytes-like object
2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
2cd3d5fb45
Fix python 3.x compatibility regarding iterations on a dict
...
Error on travis-ci was:
AttributeError: 'dict' object has no attribute 'iteritems'
And actually it's been removed in python 3.x in favor of dict.items()
2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
e9732140e5
Fix python 2.6 compatibility for moto/swf
2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
90c8797abd
Implement heartbeat timeout on SWF activity tasks
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
f576f3765c
Add SWF endpoint RecordActivityTaskHeartbeat
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
804d2e91b5
Improve workflow selection before raising a WorkflowExecutionAlreadyStartedFault
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
96d6bb056b
Add SWF endpoint TerminateWorkflowExecution
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
98948a01c8
Add missing attributes in DescribeWorkflowExecution responses
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
fd12e317f8
Add SWF endpoint RespondActivityTaskFailed
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
c9e8ad03f8
Add SWF endpoint RespondActivityTaskCompleted
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
08643945df
Add SWF endpoint CountPendingActivityTasks
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
761ab816f9
Add SWF endpoint PollForActivityTask
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
d650f71d9c
Simplify decision task handling in SWF backend
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
be71909a8c
Rework task lists for activity/decision tasks
2015-11-19 11:45:25 +01:00
Jean-Baptiste Barth
83c08b7655
Remove unused import
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
a713005882
Simplify implementation of ScheduleActivityTask decision
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
5e086223c2
Implement ScheduleActivityTask decision
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
53630dc061
Add a Domain to WorkflowExecution objects
...
This will be needed later for finding an activity type for instance.
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
fa4608be98
Add basic ActivityTask model
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
49e44c8ee6
Fix openDecisionTasks counter not updated when we complete a DecisionTask
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
918cf8a4e3
Fix decision parameters: attributes are in foo*Decision*Attributes
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
417f732b53
Implement FailWorkflowExecution decision
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
6810973b76
Update obsolete comment about SWF decisions completion
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
558b84fb6a
Add checks for *DecisionAttributes within RespondDecisionTaskCompleted
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
507351612e
Fix missing space in decision validation error
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
0749b30fb4
Add some basic checks on SWF decisions, more to come later
2015-11-19 11:45:24 +01:00
Jean-Baptiste Barth
381eb5eb0f
Implement CompleteWorkflowExecution decision
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
d97c770849
Add first version of SWF endpoint RespondDecisionTaskCompleted
...
There's just the structure for now, for now the workflow execution
doesn't know how to handle any decision type.
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
c72c198208
Fix WorkflowExecution event ids not increasing
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
a137e5c5c9
Add SWF endpoint CountPendingDecisionTasks
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
4e223d2318
Fix PollForDecisionTask not respecting requested task list
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
1ccadb169f
Simplify WorkflowExecution model since it always has a task list
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
c310a04c74
Remove obsolete command about DefaultUndefinedFault
...
(already implemented a few commits ago)
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
aa4adbb76e
Implement reverseOrder option for GetWorkflowExecutionHistory and PollForDecisionTask
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
c16da9da2d
Add SWF endpoint PollForDecisionTask and associated DecisionTask model
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
464aef293c
Add SWF endpoint GetWorkflowExecutionHistory and associated HistoryEvent model
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
3ce5b29356
Handle WorkflowExecution/WorkflowType options inheritance
...
... and potential resulting DefaultUndefinedFault errors.
2015-11-19 11:45:23 +01:00
Jean-Baptiste Barth
1026fb819f
Split SWF models into their own file
...
Given the docs[1] we will implement a hundred models or so if we want to
have a full implementation of the SWF API, so better not have a 3k lines
long models.py file, too hard to manipulate.
[1] http://docs.aws.amazon.com/amazonswf/latest/apireference/API_DecisionTask.html
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
2878252816
Add SWF endpoint: DescribeWorkflowExecution
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
a589dc08b5
Make workflow_id a required property of WorkflowExecution
...
Given the response of DescribeWorkflowExecution endpoint, the
WorkflowExecution has to know about its own workflowId.
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
c08c20d197
Move SWF Domain full dict representation to model
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
92cf64c2ad
Add SWF endpoint: StartWorkflowExecution
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
fbcdd5f2bd
Use dict[] to document required keys in SWF responses
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
168f61c6a8
Remove useless usage of templating in SWF responses implementation
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
036ab194ba
Add 'status' to SWF *Type string representation
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
8b02c0b85e
Move *Type __repr__ to GenericType
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
080b79338d
Simplify how we store SWF types inside a SWF domain
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
5c02fcd94b
Abstract away SWF *Type models logic into a GenericType class
2015-11-19 11:45:22 +01:00
Jean-Baptiste Barth
9483355584
Prepare SWF objects representations directly via json.dumps()
...
... instead of jinja2 templates that are absolutely not suited for this
purpose, and hard to test.
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
6e6b325225
Deduplicate logic between ActivityType's and WorkflowType's
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
c4e903706c
Add SWF endpoints: RegisterWorkflowType, DeprecateWorkflowType, ListWorkflowTypes, DescribeWorkflowType
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
b680b2ec3c
Add SWF endpoints: RegisterActivityType, DeprecateActivityType, ListActivityType, DescribeActivityType
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
cb46eac513
Implement naive reverseOrder option for SWF's ListDomains endpoint
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
3e2c7dec83
Fix json template for listing SWF domains
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
2c3b286b6b
Improve SWF Domain representation
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
49bbd7399e
Add some TODO comments in SWF mocks
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
5392978eaf
Check parameters are strings on SWF endpoints
...
SWF endpoints raise a 400 Bad Request for non-string types, and boto
doesn't enforce it as of today, so better have some safety nets in moto
to avoid this common mistake.
Example exception raised by Boto:
SWFResponseError: SWFResponseError: 400 Bad Request
{u'Message': u'class java.lang.Short can not be converted to an String',
u'__type': u'com.amazon.coral.service#SerializationException'}
2015-11-19 11:45:21 +01:00
Jean-Baptiste Barth
8e3fd6c7de
Add SWF endpoints: RegisterDomain, DeprecateDomain, ListDomains, DescribeDomain
2015-11-19 11:45:20 +01:00