def outgoing_message_router(): message_filter = RegistrationMessageFilter(get_steps_cache_instance(), request.args.get('text', None)) receivers = request.args.get('to','') receiver_count_filter = ReceiverCountFilter(receivers.split(","), 1) filters = [message_filter, receiver_count_filter] priority = execute_filters(filters) smsc_router = SMSCRouter(app.config) smsc_router.route(request.args, priority) return "Done"
def outgoing_message_router(): message = request.args.get('text', None) receivers = request.args.get('to', '') message_filter = RegistrationMessageFilter(get_steps_cache_instance(), message) receiver_count_filter = ReceiverCountFilter(receivers.split(" "), 1) blacklist = Blacklist(get_redis_client(), Encoder()) blacklist_filter = BlacklistFilter(blacklist, message) high_filters = [message_filter, receiver_count_filter] low_filters = [blacklist_filter] processor = FilterProcessor(high_filters, low_filters) priority = processor.execute() smsc_router = SMSCRouter(app.config, app.logger) smsc_router.route(request.args, priority) return "Done"
class TestSMSCRouter(TestCase): @patch('logging.Logger') def setUp(self, mock_logger): self.app_config = self.get_app_config() self.smsc_router = SMSCRouter(self.app_config, mock_logger) def test_that_for_message_with_low_priority_the_low_priority_smsc_id_is_used(self): url = self.smsc_router.generate_url("message", "111111,222222", Priority.LOW) smsc_id = url.split('&')[-1].split('=')[-1] self.assertEqual(smsc_id, self.app_config["KANNEL_LOW_PRIORITY_SMSC"]) def test_that_for_message_with_high_priority_the_low_priority_smsc_id_is_used(self): url = self.smsc_router.generate_url("message", "111111,222222", Priority.HIGH) smsc_id = url.split('&')[-1].split('=')[-1] self.assertEqual(smsc_id, self.app_config["KANNEL_HIGH_PRIORITY_SMSC"]) def test_that_make_http_request_message_gets_called_with_generated_url(self): self.smsc_router.make_http_request = Mock() self.smsc_router.generate_url = Mock(return_value="mocked_url") self.smsc_router.route(self.get_request_args(), Priority.HIGH) self.smsc_router.make_http_request.assert_called_with("mocked_url") @patch("requests.get") def test_that_requests_get_method_gets_called_by_make_http_request(self, mocked_requests_get): any_url = "http://random.url" self.smsc_router.make_http_request(any_url) mocked_requests_get.assert_called_with(any_url) @patch("requests.get", side_effect=requests.exceptions.HTTPError()) def test_that_an_http_error_exception_gets_caught(self, mocked_requests_get): any_url = "invalid_url" try: self.smsc_router.make_http_request(any_url) except Exception, e: self.fail("Exception was not caught")
def setUp(self, mock_logger): self.app_config = self.get_app_config() self.smsc_router = SMSCRouter(self.app_config, mock_logger)
def setUp(self): self.app_config = self.get_app_config() self.smsc_router = SMSCRouter(self.app_config)