Commit Graph

1592 Commits

Author SHA1 Message Date
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
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
33c478bc62 Move SWF Domain related tests with other models tests 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