Commit Graph

1604 Commits

Author SHA1 Message Date
Jean-Baptiste Barth
9c3996ff58 Add WorkflowExecution.open to clarify code in some places 2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
f38d23e483 Implement start to close timeout on SWF workflow executions 2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
86973f2b87 Implement start to close timeout on SWF decision tasks 2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
e32fef50b6 Fix random list ordering bugs on python 3.x in moto/swf tests 2015-11-19 11:45:26 +01:00
Jean-Baptiste Barth
b386495520 Use list comprehensions instead of filter() for easier moto/swf python 3.x compatibility 2015-11-19 11:45:26 +01:00
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
f4feec4727 Fix timestamps in tests as Travis builds run on GMT time
When launched manually, tests should be launched with the environment
variable TZ=GMT. Maybe this could be useful to add that explicitly
somewhere in the README or in the Makefile.
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
a0e484fa6d Move setup_workflow() test function in test utils 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
eadc07bf61 Reorganize SWF tests so they're shorter and easier to use 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
8d435d8afe Refactor SWF exceptions testing so responses tests get simpler 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
6a8636ad21 Remove unused import in SWF test 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