Ejemplo n.º 1
0
    def test_to_dict_returns_one_dictionary_when_cursor_has_one_result(self):
        source = Source()
        source.id = 1
        source.name = 'foo_source'
        source.save()

        news_item = NewsItem()
        news_item.id = 1
        news_item.title = 'foo'
        news_item.description = 'bar'
        news_item.url = 'https://www.google.com'
        news_item.added_at = '2018-11-23 01:00:00+00:00'
        news_item.source = source
        news_item.published = False
        news_item.score = 1
        news_item.save()

        with connection.cursor() as cursor:
            cursor.execute('SELECT * FROM news_item')
            result = self.newsitem_metric.to_dict(cursor)

        self.assertEquals(1, len(result))
        self.assertEquals([{
            'id': 1,
            'title': 'foo',
            'description': 'bar',
            'url': 'https://www.google.com',
            'added_at': datetime(2018, 11, 23, 1, 0),
            'source_id': 1,
            'published': False,
            'score': 1
        }], result)
Ejemplo n.º 2
0
    def test_handle_publishes_when_newsitems_exist(self):
        news_item = NewsItem()
        news_item.id = 1
        news_item.title = 'foo'
        news_item.save()

        # the method being tested
        self.command.handle()

        classify_requeue.pika.BlockingConnection.assert_called_once()
        classify_requeue.pika.ConnectionParameters.assert_called_once()
        self.connection.channel.assert_called_once()
        self.channel.queue_declare.assert_called_once_with(
            queue=settings.QUEUE_NAME_CLASSIFY, durable=True)
        self.channel.basic_publish.assert_called_once()

        self.logger.info.assert_any_call(
            'Found %s news items that need to be classified.', 1)
        self.logger.info.assert_any_call('Successfully re-queued #%s "%s"!', 1,
                                         'foo')