128 Commits

Author SHA1 Message Date
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