def test_close_subscriber_does_close(self): with self.app.app_context(): subscriber = self.app.data.find("subscribers", None, None)[0] self.assertTrue(subscriber.get("is_active")) PublishService().close_transmitter(subscriber, PublishQueueError.bad_schedule_error()) subscriber = self.app.data.find("subscribers", None, None)[0] self.assertFalse(subscriber.get("is_active"))
def test_close_subscriber_does_close(self): with self.app.app_context(): subscriber = self.app.data.find_one("subscribers", None) self.assertTrue(subscriber.get("is_active")) PublishService().close_transmitter(subscriber, PublishQueueError.bad_schedule_error()) subscriber = self.app.data.find_one("subscribers", None) self.assertFalse(subscriber.get("is_active"))
def test_close_output_channel_does_close(self): with self.app.app_context(): output_channel = self.app.data.find('output_channels', None, None)[1] self.assertTrue(output_channel.get('is_active')) PublishService().close_transmitter(output_channel, 'output_channels', PublishQueueError.bad_schedule_error()) output_channel = self.app.data.find('output_channels', None, None)[1] self.assertFalse(output_channel.get('is_active'))
def is_on_time(queue_item, destination): """ Checks if the item is ready to be processed :param queue_item: item to be checked :return: True if the item is ready """ try: if queue_item.get('publish_schedule'): publish_schedule = queue_item['publish_schedule'] if type(publish_schedule) is not datetime: raise PublishQueueError.bad_schedule_error(Exception("Schedule is not datetime"), destination) return utcnow() >= publish_schedule return True except PublishQueueError: raise except Exception as ex: raise PublishQueueError.bad_schedule_error(ex, destination)
def is_on_time(queue_item): """ Checks if the item is ready to be processed :param queue_item: item to be checked :return: True if the item is ready """ try: if queue_item.get('publish_schedule'): publish_schedule = queue_item['publish_schedule'] if type(publish_schedule) is not datetime: raise PublishQueueError.bad_schedule_error( Exception("Schedule is not datetime"), queue_item['_id']) return utcnow() >= publish_schedule return True except PublishQueueError: raise except Exception as ex: raise PublishQueueError.bad_schedule_error(ex, queue_item['destination'])
def mock_transmit(*args): raise PublishQueueError.bad_schedule_error()