def integration_02a_monitor_queue_dry(self): actor = sqs.WaitUntilEmpty('Wait until empty', {'name': self.queue_name, 'region': self.region}, dry=True) done = yield actor.execute() self.assertEquals(done, None)
def test_require_env(self): settings.AWS_ACCESS_KEY_ID = '' with self.assertRaises(Exception): sqs.WaitUntilEmpty('Unit Test Action', { 'name': 'unit-test-queue', 'region': 'us-west-2' })
def test_execute(self): actor = sqs.WaitUntilEmpty('UTA!', { 'name': 'unit-test-queue', 'region': 'us-west-2' }) actor._wait = mock_tornado(True) actor._fetch_queues = mock_tornado([mock.Mock()]) yield actor.execute()
def test_wait_dry(self): actor = sqs.WaitUntilEmpty('UTA!', { 'name': 'unit-test-queue', 'region': 'us-west-2' }, dry=True) queue = mock.Mock() queue.count.side_effect = [1, 2] # Not zero! yield actor._wait(queue, sleep=0) self.assertEqual(queue.count.call_count, 0)
def test_execute_empty(self): actor = sqs.WaitUntilEmpty('UTA!', { 'name': 'unit-test-queue', 'region': 'us-west-2', 'required': True }) actor._wait = mock_tornado(True) actor._fetch_queues = mock_tornado() with self.assertRaises(sqs.QueueNotFound): yield actor.execute()
def integration_02b_monitor_queue(self): actor = sqs.WaitUntilEmpty('Wait until empty', {'name': self.queue_name, 'region': self.region}) log.debug('New queue should be empty') queue = actor.sqs_conn.get_queue(self.queue_name) self.assertEquals(queue.count(), 0) done = yield actor.execute() yield utils.tornado_sleep() self.assertEquals(done, None)
def test_wait(self): actor = sqs.WaitUntilEmpty('UTA!', { 'name': 'unit-test-queue', 'region': 'us-west-2' }) queue = mock.Mock() queue.count.side_effect = [1, 0, 0] attr = 'ApproximateNumberOfMessagesNotVisible' queue.get_attributes.side_effect = [{ attr: u'0' }, { attr: u'1' }, { attr: u'0' }] yield actor._wait(queue, sleep=0) self.assertEqual(queue.count.call_count, 3)