def test_defaults(self): connection = mock.Mock() class Workflow(object): name = "TESTNAME" version = "TESTVERSION" default_task_start_to_close_timeout = "TEST_TSTCT" default_execution_start_to_close_timeout = "TEST_ESTCT" default_task_list = "TEST_TL" default_task_priority = "TEST_TP" default_child_policy = "TEST_CP" default_lambda_role = "TEST_LR" register_workflow(connection, "TESTDOMAIN", Workflow) connection.register_workflow_type.assert_called_once_with( defaultChildPolicy="TEST_CP", defaultExecutionStartToCloseTimeout="TEST_ESTCT", defaultLambdaRole="TEST_LR", defaultTaskList={"name": "TEST_TL"}, defaultTaskPriority="TEST_TP", defaultTaskStartToCloseTimeout="TEST_TSTCT", domain="TESTDOMAIN", name="TESTNAME", version="TESTVERSION", )
def test_register_workflow_description(self): class TestWorkflow(object): name = "TestWorkflow" version = "1.0" description = "DESC" register_workflow(self.connection, "TEST", TestWorkflow) wt = self._describe_workflow("TestWorkflow", "1.0") self.assertEqual(wt["typeInfo"]["description"], "DESC")
def test_nominal(self): connection = mock.Mock() class Workflow(object): name = "TESTNAME" version = "TESTVERSION" register_workflow(connection, "TESTDOMAIN", Workflow) connection.register_workflow_type.assert_called_once_with( domain="TESTDOMAIN", name="TESTNAME", version="TESTVERSION" )
def test_register_workflow_default_timeout(self): class TestWorkflow(object): name = "TestWorkflow" version = "1.0" default_execution_start_to_close_timeout = 600 default_task_start_to_close_timeout = 10 register_workflow(self.connection, "TEST", TestWorkflow) wt = self._describe_workflow("TestWorkflow", "1.0") config = wt["configuration"] self.assertEqual(config["defaultTaskStartToCloseTimeout"], "10") self.assertEqual(config["defaultExecutionStartToCloseTimeout"], "600")
def run(self): connection = get_connection() workflows = [w for module in self.args.modules for w in module] if self.args.register_workflows: log.info("Registering workflow types") for workflow in workflows: created = register_workflow(connection=connection, domain=self.args.domain, workflow=workflow) if created: log.info("Workflow type %s(%s): registered.", workflow.name, workflow.version) else: log.info("Workflow type %s(%s): already registered.", workflow.name, workflow.version) log.info("Start decider worker...") worker = Worker(connection=connection, domain=self.args.domain, task_list=self.args.task_list, workflows=workflows) while True: try: worker.run() except Exception: # Doesn't catch KeyboardInterrupt log.exception("Decider crashed!")
def test_example_demo(self): from caravan.examples.demo import Demo result = register_workflow(self.connection, "TEST", Demo) self.assertTrue(result) workflow = self._list_workflows()[0] self.assertEqual(workflow["workflowType"]["name"], "Demo")
def test_register_workflow(self): class TestWorkflow(object): name = "TestWorkflow" version = "1.0" result = register_workflow(self.connection, "TEST", TestWorkflow) self.assertTrue(result) # Moto bug : https://github.com/spulec/moto/issues/495 # result = register_workflow(connection, 'TEST', TestWorkflow) # self.assertTrue(result) workflow = self._list_workflows()[0] self.assertEqual(workflow["workflowType"]["name"], "TestWorkflow") self.assertEqual(workflow["workflowType"]["version"], "1.0")
def valid_workflow_registration(workflow): connection = get_connection() with mock_swf(): connection.register_domain(name='TEST', workflowExecutionRetentionPeriodInDays='1') register_workflow(connection, 'TEST', workflow)