def test_run_exception(self, mCreateSession, mSample): mSample.return_value = 'XXX' iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') client.list_activities.return_value = { 'activities': [{ 'name': 'name', 'activityArn': 'XXX' }] } activity = ActivityMixin() def stop_loop(*args, **kwargs): activity.polling = False raise BossError(None) client.get_activity_task.side_effect = stop_loop activity.run('name') calls = [ mock.call.list_activities(), mock.call.get_activity_task(activityArn='XXX', workerName='name-XXX') ] self.assertEqual(client.mock_calls, calls)
def test_poll_task_exception(self, mCreateSession): iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') activity = ActivityMixin() self.assertEqual(activity.arn, None) with self.assertRaises(Exception): activity.poll_task(worker='worker') calls = [] self.assertEqual(client.mock_calls, calls)
def test_delete_activity(self, mCreateSession): iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') activity = ActivityMixin() activity.arn = 'XXX' activity.delete_activity() self.assertEqual(activity.arn, None) calls = [mock.call.delete_activity(activityArn='XXX')] self.assertEqual(client.mock_calls, calls)
def test_create_activity_exists(self, mCreateSession): iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') activity = ActivityMixin() activity.arn = 'XXX' activity.create_activity() self.assertEqual(activity.arn, 'XXX') calls = [] self.assertEqual(client.mock_calls, calls)
def test_delete_activity_exception(self, mCreateSession): iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') activity = ActivityMixin() self.assertEqual(activity.arn, None) with self.assertRaises(Exception): activity.delete_activity(exception=True) self.assertEqual(activity.arn, None) calls = [] self.assertEqual(client.mock_calls, calls)
def test_create_activity(self, mCreateSession): iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') client.create_activity.return_value = {'activityArn': 'XXX'} activity = ActivityMixin() activity.name = 'name' self.assertEqual(activity.arn, None) activity.create_activity() self.assertEqual(activity.arn, 'XXX') calls = [mock.call.create_activity(name='name')] self.assertEqual(client.mock_calls, calls)
def test_poll_task_no_work(self, mCreateSession): iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') client.get_activity_task.return_value = {'taskToken': ''} activity = ActivityMixin() activity.arn = 'XXX' token, input_ = activity.poll_task('worker') self.assertEqual(token, None) self.assertEqual(input_, None) calls = [ mock.call.get_activity_task(activityArn='XXX', workerName='worker') ] self.assertEqual(client.mock_calls, calls)
def test_run(self, mCreateSession, mSample): mSample.return_value = 'XXX' iSession = MockSession() mCreateSession.return_value = (iSession, '123456') client = iSession.client('stepfunctions') client.list_activities.return_value = { 'activities': [{ 'name': 'name', 'activityArn': 'XXX' }] } client.get_activity_task.return_value = { 'taskToken': 'YYY', 'input': '{}' } target = mock.MagicMock() activity = ActivityMixin(handle_task=target) def stop_loop(*args, **kwargs): activity.polling = False return mock.DEFAULT target.side_effect = stop_loop activity.run('name') calls = [ mock.call.list_activities(), mock.call.get_activity_task(activityArn='XXX', workerName='name-XXX') ] self.assertEqual(client.mock_calls, calls) calls = [mock.call('YYY', {}), mock.call().start()] self.assertEqual(target.mock_calls, calls)