Skip to content
This repository was archived by the owner on Apr 12, 2018. It is now read-only.

Commit d99bf7f

Browse files
committed
Add tests for Decider.poll()
1 parent aa39290 commit d99bf7f

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

tests/actors/test_decider.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import unittest
2+
3+
import swf.models
4+
import swf.models.decision
5+
import swf.actors
6+
7+
8+
class TestDecider(unittest.TestCase):
9+
def setUp(self):
10+
self.domain = swf.models.Domain("TestDomain")
11+
self.task_list = 'test'
12+
self.execution = None
13+
14+
def tearDown(self):
15+
if self.execution is not None:
16+
self.execution.terminate()
17+
18+
def test_poll(self):
19+
"""
20+
Checks :meth:`Decider.poll` retrieve all the history's pages.
21+
22+
"""
23+
domain = self.domain
24+
task_list = self.task_list
25+
workflow_name = 'TestDeciderPoll'
26+
27+
decider = swf.actors.Decider(domain, task_list)
28+
worker = swf.actors.ActivityWorker(domain, task_list)
29+
30+
activity = swf.models.ActivityType(domain=domain,
31+
name='task',
32+
version='test')
33+
34+
workflow = swf.models.WorkflowType(name=workflow_name,
35+
domain=domain,
36+
version='test')
37+
self.execution = workflow.start_execution(workflow_name, task_list)
38+
39+
for i in xrange(30):
40+
token, history = decider.poll()
41+
self.assertEqual(len(history), 3 + i * 6)
42+
decision = swf.models.decision.task.ActivityTaskDecision(
43+
'schedule',
44+
'task',
45+
activity,
46+
task_list=task_list,
47+
task_timeout='600',
48+
duration_timeout='600',
49+
schedule_timeout='600',
50+
heartbeat_timeout='600')
51+
decider.complete(token, [decision])
52+
53+
token, task = worker.poll()
54+
worker.complete(token)

0 commit comments

Comments
 (0)