"""Module testing the kale.sqs module.""" from __future__ import absolute_import import unittest import boto3 import mock from moto import mock_sqs from kale import exceptions from kale import sqs class SQSTestCase(unittest.TestCase): """Test SQSTalk logic""" _previous_region = None def setUp(self): self.mock_sqs = mock_sqs() self.mock_sqs.start() sqs.SQSTalk._queues = {} def tearDown(self): self.mock_sqs.stop() def test_create_queue(self): boto3.setup_default_session() sqs_inst = sqs.SQSTalk() sqs_inst._get_or_create_queue('LowPriorityTest1') sqs_inst._get_or_create_queue('HighPriorityTest2') expected_low_queue = sqs_inst._sqs.Queue('https://queue.amazonaws.com/123456789012/' 'LowPriorityTest1') expected_hi_queue = sqs_inst._sqs.Queue('https://queue.amazonaws.com/123456789012/' 'HighPriorityTest2') self.assertEqual(len(sqs_inst._queues), 2) self.assertEqual(expected_low_queue, sqs_inst._queues['LowPriorityTest1']) self.assertEqual(expected_hi_queue, sqs_inst._queues['HighPriorityTest2']) def test_get_queues(self): boto3.setup_default_session() sqs_inst = sqs.SQSTalk() sqs_inst._get_or_create_queue('LowPriorityTest3') sqs_inst._get_or_create_queue('HighPriorityTest4') queues = sqs_inst.get_all_queues() print(queues) self.assertEqual(len(queues), 2) queues = sqs_inst.get_all_queues('Low') self.assertEqual(len(queues), 1) sqs_inst.get_all_queues('High') self.assertEqual(len(queues), 1) def test_get_improperly_configured(self): with mock.patch('kale.sqs.settings') as mock_settings: mock_settings.PROPERLY_CONFIGURED = False with self.assertRaises(exceptions.ImproperlyConfiguredException): sqs.SQSTalk()