Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Unified Diff: third_party/gsutil/third_party/boto/tests/unit/swf/test_layer2_actors.py

Issue 1377933002: [catapult] - Copy Telemetry's gsutilz over to third_party. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: Rename to gsutil. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/gsutil/third_party/boto/tests/unit/swf/test_layer2_actors.py
diff --git a/third_party/gsutil/third_party/boto/tests/unit/swf/test_layer2_actors.py b/third_party/gsutil/third_party/boto/tests/unit/swf/test_layer2_actors.py
new file mode 100644
index 0000000000000000000000000000000000000000..cedf895b72d63e46fb4555212dd8870f47d1687f
--- /dev/null
+++ b/third_party/gsutil/third_party/boto/tests/unit/swf/test_layer2_actors.py
@@ -0,0 +1,87 @@
+import boto.swf.layer2
+from boto.swf.layer2 import Decider, ActivityWorker
+from tests.unit import unittest
+from mock import Mock
+
+
+class TestActors(unittest.TestCase):
+
+ def setUp(self):
+ boto.swf.layer2.Layer1 = Mock()
+ self.worker = ActivityWorker(name='test-worker', domain='test', task_list='test_list')
+ self.decider = Decider(name='test-worker', domain='test', task_list='test_list')
+ self.worker._swf = Mock()
+ self.decider._swf = Mock()
+
+ def test_decider_pass_tasktoken(self):
+ self.decider._swf.poll_for_decision_task.return_value = {
+ 'events': [{'eventId': 1,
+ 'eventTimestamp': 1379019427.953,
+ 'eventType': 'WorkflowExecutionStarted',
+ 'workflowExecutionStartedEventAttributes': {
+ 'childPolicy': 'TERMINATE',
+ 'executionStartToCloseTimeout': '3600',
+ 'parentInitiatedEventId': 0,
+ 'taskList': {'name': 'test_list'},
+ 'taskStartToCloseTimeout': '123',
+ 'workflowType': {'name': 'test_workflow_name',
+ 'version': 'v1'}}},
+ {'decisionTaskScheduledEventAttributes':
+ {'startToCloseTimeout': '123',
+ 'taskList': {'name': 'test_list'}},
+ 'eventId': 2,
+ 'eventTimestamp': 1379019427.953,
+ 'eventType': 'DecisionTaskScheduled'},
+ {'decisionTaskStartedEventAttributes': {'scheduledEventId': 2},
+ 'eventId': 3, 'eventTimestamp': 1379019495.585,
+ 'eventType': 'DecisionTaskStarted'}],
+ 'previousStartedEventId': 0, 'startedEventId': 3,
+ 'taskToken': 'my_specific_task_token',
+ 'workflowExecution': {'runId': 'fwr243dsa324132jmflkfu0943tr09=',
+ 'workflowId': 'test_workflow_name-v1-1379019427'},
+ 'workflowType': {'name': 'test_workflow_name', 'version': 'v1'}}
+
+ self.decider.poll()
+ self.decider.complete()
+
+ self.decider._swf.respond_decision_task_completed.assert_called_with('my_specific_task_token', None)
+ self.assertEqual('my_specific_task_token', self.decider.last_tasktoken)
+
+ def test_worker_pass_tasktoken(self):
+ task_token = 'worker_task_token'
+ self.worker._swf.poll_for_activity_task.return_value = {
+ 'activityId': 'SomeActivity-1379020713',
+ 'activityType': {'name': 'SomeActivity', 'version': '1.0'},
+ 'startedEventId': 6,
+ 'taskToken': task_token,
+ 'workflowExecution': {'runId': '12T026NzGK5c4eMti06N9O3GHFuTDaNyA+8LFtoDkAwfE=',
+ 'workflowId': 'MyWorkflow-1.0-1379020705'}}
+
+ self.worker.poll()
+
+ self.worker.cancel(details='Cancelling!')
+ self.worker.complete(result='Done!')
+ self.worker.fail(reason='Failure!')
+ self.worker.heartbeat()
+
+ self.worker._swf.respond_activity_task_canceled.assert_called_with(task_token, 'Cancelling!')
+ self.worker._swf.respond_activity_task_completed.assert_called_with(task_token, 'Done!')
+ self.worker._swf.respond_activity_task_failed.assert_called_with(task_token, None, 'Failure!')
+ self.worker._swf.record_activity_task_heartbeat.assert_called_with(task_token, None)
+
+ def test_actor_poll_without_tasklist_override(self):
+ self.worker.poll()
+ self.decider.poll()
+ self.worker._swf.poll_for_activity_task.assert_called_with('test', 'test_list')
+ self.decider._swf.poll_for_decision_task.assert_called_with('test', 'test_list')
+
+ def test_worker_override_tasklist(self):
+ self.worker.poll(task_list='some_other_tasklist')
+ self.worker._swf.poll_for_activity_task.assert_called_with('test', 'some_other_tasklist')
+
+ def test_decider_override_tasklist(self):
+ self.decider.poll(task_list='some_other_tasklist')
+ self.decider._swf.poll_for_decision_task.assert_called_with('test', 'some_other_tasklist')
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698