Example #1
0
    def test_get_entity_year(self, mock_create_messages, mock_get_listens):
        entity.get_entity_stats('test', 'year')

        from_date = datetime(2020, 1, 1)
        to_date = datetime(2021, 1, 1)
        mock_get_listens.assert_called_with(from_date, to_date)
        mock_create_messages.assert_called_with(data='sample_test_data', entity='test', stats_range='year',
                                                from_date=from_date, to_date=to_date)
Example #2
0
    def test_get_entity_all_time(self, mock_create_messages, mock_get_listens):
        entity.get_entity_stats('test', 'all_time')

        from_date = datetime(LAST_FM_FOUNDING_YEAR, 1, 1)
        to_date = datetime(2021, 8, 9, 12, 22, 43)
        mock_get_listens.assert_called_with(from_date, to_date)
        mock_create_messages.assert_called_with(data='sample_test_data', entity='test', stats_range='all_time',
                                                from_date=from_date, to_date=to_date)
    def test_get_entity_month(self, mock_create_messages, mock_get_listens):
        entity.get_entity_stats('test', 'month')

        from_date = datetime(2021, 7, 1)
        to_date = datetime(2021, 8, 1)
        mock_get_listens.assert_called_with(from_date, to_date)
        mock_create_messages.assert_called_with(data='sample_test_data',
                                                entity='test',
                                                stats_range='month',
                                                from_date=from_date,
                                                to_date=to_date,
                                                message_type="user_entity")
    def test_get_releases(self):
        with open(
                self.path_to_data_file('user_top_releases_output.json')) as f:
            expected = json.load(f)

        received = get_entity_stats('releases', 'all_time')
        self.assertCountEqual(list(received), expected)
Example #5
0
    def test_get_artists(self):
        with open(self.path_to_data_file('user_top_artists_output.json')) as f:
            expected = json.load(f)

        received = list(get_entity_stats('artists', 'all_time'))

        self.assertEqual(len(received), len(expected))
        self.assertEqual(received[0]["type"], expected[0]["type"])
        self.assertEqual(received[0]["entity"], expected[0]["entity"])
        self.assertEqual(received[0]["stats_range"],
                         expected[0]["stats_range"])
        self.assertEqual(received[0]["from_ts"], expected[0]["from_ts"])
        self.assertEqual(received[0]["to_ts"], expected[0]["to_ts"])
        self.assertCountEqual(received[0]["data"], expected[0]["data"])