Ejemplo n.º 1
0
 def test_add_song_from_path_and_get_song_by_id(self):
     with mock.patch.object(config, 'paths', testing_utils.MOCK_CONFIG_PATHS):
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             new_song_id = song_manager.add_song_from_path(self.test_song_1_path)
     file_uri = testing_utils.TEST_STATIC_URI + 'music/1.mp3'
     art_path = \
         os.path.join(testing_utils.TEST_TEMP_PATH, 'album-art', '1.jpg')
     art_uri = testing_utils.TEST_STATIC_URI + 'album-art/1.jpg'
     expected_row = {
         'id': 1,
         'title': u'test_title',
         'artist': u'test_artist',
         'album': u'test_album',
         'trackno': u'1',
         'date': u'2014',
         'genre': u'test_genre',
         'duration': u'184.32',
         'file_path': unicode(self.test_song_1_path),
         'file_uri': unicode(file_uri),
         'art_path': unicode(art_path),
         'art_uri': unicode(art_uri),
         'tags': None,
         'play_count': 0,
         'fave_count': 0,
     }
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         added_song = song_manager.get_song_by_id(new_song_id)
         added_song_datetime = added_song.pop('datetime_added')
         assert datetime.datetime == type(added_song_datetime)
         assert expected_row == added_song
     self.assertIsImage(art_path)
Ejemplo n.º 2
0
 def test_get_ordered_playlist_and_pop_first_song(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         playlist_manager.add_song_by_id(1)
         playlist_manager.add_song_by_id(2, True)
         playlist_manager.add_song_by_id(3)
         playlist_manager.add_song_by_id(4, True)
         ordered_playlist = playlist_manager.get_ordered_playlist()
         ordered_playlist_as_list = playlist_manager.get_ordered_playlist(as_list=True)
         assert type(list()) == type(ordered_playlist_as_list)
     expected_playlist = {}
     expected_song_ids = [2, 4, 1, 3]
     expected_requested_state = [True, True, False, False]
     for ii in range(len(expected_song_ids)):
         expected_playlist[unicode(ii)] = {
             'song_id' : expected_song_ids[ii],
             'user_requested' : expected_requested_state[ii]
         }
     assert expected_playlist == ordered_playlist
     
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         playlist_manager.pop_first_song()
         ordered_playlist = playlist_manager.get_ordered_playlist()
     expected_playlist = {}
     expected_song_ids.pop(0)
     expected_requested_state.pop(0)
     for ii in range(len(expected_song_ids)):
         expected_playlist[unicode(ii)] = {
             'song_id' : expected_song_ids[ii],
             'user_requested' : expected_requested_state[ii]
         }
     assert expected_playlist == ordered_playlist
Ejemplo n.º 3
0
 def test_add_song_from_path_and_get_song_by_id(self):
     with mock.patch.object(config, 'paths',
                            testing_utils.MOCK_CONFIG_PATHS):
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             new_song_id = song_manager.add_song_from_path(
                 self.test_song_1_path)
     file_uri = testing_utils.TEST_STATIC_URI + 'music/1.mp3'
     art_path = \
         os.path.join(testing_utils.TEST_TEMP_PATH, 'album-art', '1.jpg')
     art_uri = testing_utils.TEST_STATIC_URI + 'album-art/1.jpg'
     expected_row = {
         'id': 1,
         'title': u'test_title',
         'artist': u'test_artist',
         'album': u'test_album',
         'trackno': u'1',
         'date': u'2014',
         'genre': u'test_genre',
         'duration': u'184.32',
         'file_path': unicode(self.test_song_1_path),
         'file_uri': unicode(file_uri),
         'art_path': unicode(art_path),
         'art_uri': unicode(art_uri),
         'tags': None,
         'play_count': 0,
         'fave_count': 0,
     }
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         added_song = song_manager.get_song_by_id(new_song_id)
         added_song_datetime = added_song.pop('datetime_added')
         assert datetime.datetime == type(added_song_datetime)
         assert expected_row == added_song
     self.assertIsImage(art_path)
Ejemplo n.º 4
0
    def test_add_song_by_id(self):
        with db_operations.session_scope() as session:
            playlist_manager = stream_playlist.PlaylistManager(session)
            playlist_manager.add_song_by_id(1)
            playlist_manager.add_song_by_id(2, True)
        expected_row_1 = {
            'id' : 1,
            'song_id' : 1,
            'user_requested' : False,
            'currently_playing' : False
        }
        expected_row_2 = {
            'id' : 2,
            'song_id' : 2,
            'user_requested' : True,
            'currently_playing' : False
        }
        with db_operations.session_scope() as session:
            playlist_manager = stream_playlist.PlaylistManager(session)
            playlist_song_1 = session.query(stream_playlist.Playlist).filter_by(id=1).first()
            playlist_song_2 = session.query(stream_playlist.Playlist).filter_by(id=2).first()
            playlist_song_1_contents = \
                playlist_manager.format_query_rows_to_dict(playlist_song_1)
            playlist_song_2_contents = \
                playlist_manager.format_query_rows_to_dict(playlist_song_2)
            playlist_song_1_time = playlist_song_1_contents.pop('datetime_added')
            playlist_song_2_time = playlist_song_2_contents.pop('datetime_added')

            assert expected_row_1 == playlist_song_1_contents
            assert type(datetime.datetime.now()) == type(playlist_song_1_time)
            assert expected_row_2 == playlist_song_2_contents
            assert type(datetime.datetime.now()) == type(playlist_song_2_time)
Ejemplo n.º 5
0
    def test_get_ordered_playlist_and_pop_first_song(self):
        with db_operations.session_scope() as session:
            playlist_manager = stream_playlist.PlaylistManager(session)
            playlist_manager.add_song_by_id(1)
            playlist_manager.add_song_by_id(2, True)
            playlist_manager.add_song_by_id(3)
            playlist_manager.add_song_by_id(4, True)
            ordered_playlist = playlist_manager.get_ordered_playlist()
            ordered_playlist_as_list = playlist_manager.get_ordered_playlist(
                as_list=True)
            assert type(list()) == type(ordered_playlist_as_list)
        expected_playlist = {}
        expected_song_ids = [2, 4, 1, 3]
        expected_requested_state = [True, True, False, False]
        for ii in range(len(expected_song_ids)):
            expected_playlist[unicode(ii)] = {
                'song_id': expected_song_ids[ii],
                'user_requested': expected_requested_state[ii]
            }
        assert expected_playlist == ordered_playlist

        with db_operations.session_scope() as session:
            playlist_manager = stream_playlist.PlaylistManager(session)
            playlist_manager.pop_first_song()
            ordered_playlist = playlist_manager.get_ordered_playlist()
        expected_playlist = {}
        expected_song_ids.pop(0)
        expected_requested_state.pop(0)
        for ii in range(len(expected_song_ids)):
            expected_playlist[unicode(ii)] = {
                'song_id': expected_song_ids[ii],
                'user_requested': expected_requested_state[ii]
            }
        assert expected_playlist == ordered_playlist
Ejemplo n.º 6
0
 def test_set_first_song_as_currently_playing(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         playlist_manager.add_song_by_id(1)
         playlist_manager.set_first_song_as_currently_playing()
     with db_operations.session_scope() as session:
         first_song = session.query(stream_playlist.Playlist).filter_by(id=1).one()
         assert True == first_song.currently_playing
Ejemplo n.º 7
0
 def test_set_first_song_as_currently_playing(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         playlist_manager.add_song_by_id(1)
         playlist_manager.set_first_song_as_currently_playing()
     with db_operations.session_scope() as session:
         first_song = session.query(
             stream_playlist.Playlist).filter_by(id=1).one()
         assert True == first_song.currently_playing
Ejemplo n.º 8
0
 def _add_song_and_check_song_count(self, song_path, expected_song_count):
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         assert expected_song_count-1 == song_manager.get_song_count()
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         song_manager.add_song_from_path(song_path)
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         assert expected_song_count == song_manager.get_song_count()
Ejemplo n.º 9
0
 def _add_song_and_check_song_count(self, song_path, expected_song_count):
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         assert expected_song_count - 1 == song_manager.get_song_count()
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         song_manager.add_song_from_path(song_path)
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         assert expected_song_count == song_manager.get_song_count()
Ejemplo n.º 10
0
 def add_random_song_with_user_request_to_playlist(self, user_requested=False):
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         random_song = self._get_random_unblocked_song(song_manager)
         self.add_song_with_user_request_to_playlist(
             random_song.id, user_requested
         )
Ejemplo n.º 11
0
 def test_update_song_db(self):
     with mock.patch.object(config, 'paths',
                            testing_utils.MOCK_CONFIG_PATHS):
         self._database_controller.update_song_db()
     with db_operations.session_scope() as session:
         all_songs = session.query(song.Song).all()
         assert 3 == len(all_songs)
Ejemplo n.º 12
0
 def test_add_random_songs_to_playlist_until_max_length(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         assert 0 == playlist_manager.get_playlist_length()
         self._stream_controller.add_random_songs_to_playlist_until_max_length()
         playlist_size = config.stream_options['playlist_size']
         assert playlist_size == playlist_manager.get_playlist_length()
Ejemplo n.º 13
0
 def test_load_song_library(self, mock_stream_player_update):
     with mock.patch.object(config, 'paths', testing_utils.MOCK_CONFIG_PATHS):
         self._stream_controller.load_song_library()
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             assert 3 == song_manager.get_song_count()
     assert True == mock_stream_player_update.called
Ejemplo n.º 14
0
 def add_random_song_with_user_request_to_playlist(self,
                                                   user_requested=False):
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         random_song = self._get_random_unblocked_song(song_manager)
         self.add_song_with_user_request_to_playlist(
             random_song.id, user_requested)
Ejemplo n.º 15
0
 def test_get_playlist_length(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         songs_to_add = 5
         for ii in range(songs_to_add):
             assert ii == playlist_manager.get_playlist_length()
             playlist_manager.add_song_by_id(ii)
         assert songs_to_add == playlist_manager.get_playlist_length()
Ejemplo n.º 16
0
 def test_load_song_library(self, mock_stream_player_update):
     with mock.patch.object(config, 'paths',
                            testing_utils.MOCK_CONFIG_PATHS):
         self._stream_controller.load_song_library()
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             assert 3 == song_manager.get_song_count()
     assert True == mock_stream_player_update.called
Ejemplo n.º 17
0
 def test_add_random_songs_to_playlist_until_max_length(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         assert 0 == playlist_manager.get_playlist_length()
         self._stream_controller.add_random_songs_to_playlist_until_max_length(
         )
         playlist_size = config.stream_options['playlist_size']
         assert playlist_size == playlist_manager.get_playlist_length()
Ejemplo n.º 18
0
 def get(self):
     song_id = self.request.arguments['song-id'][0]
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         song_data = song_manager.get_song_by_id(song_id)
         song_data['datetime_added'] = \
             song_data['datetime_added'].strftime(config.TIME_FORMAT)
     self.write(song_data)
Ejemplo n.º 19
0
 def test_get_playlist_length(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         songs_to_add = 5
         for ii in range(songs_to_add):
             assert ii == playlist_manager.get_playlist_length()
             playlist_manager.add_song_by_id(ii)
         assert songs_to_add == playlist_manager.get_playlist_length()
Ejemplo n.º 20
0
 def add_song_with_user_request_to_playlist(self, song_id, user_requested=False):
     with db_operations.session_scope() as session:
         playlist_maanger = stream_playlist.PlaylistManager(session)
         playlist_maanger.add_song_by_id(song_id, user_requested)
     if user_requested:
         self._song_cache.set_song_request_block_with_ttl(
             song_id, config.stream_options['song_request_cooldown']
         )
Ejemplo n.º 21
0
 def get(self):
     song_id = self.request.arguments['song-id'][0]
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         song_data = song_manager.get_song_by_id(song_id)
         song_data['datetime_added'] = \
             song_data['datetime_added'].strftime(config.TIME_FORMAT)
     self.write(song_data)
Ejemplo n.º 22
0
 def setup_method(self, method):
     testing_utils.connect_to_temporary_test_db()
     with db_operations.session_scope() as session:
         self.user_manager = user.UserManager(session)
         self.session = session
         test_user = user.User('test_username', 'test_password',
                               '*****@*****.**')
         session.add(test_user)
         session.commit()
Ejemplo n.º 23
0
 def setup_method(self, method):
     testing_utils.connect_to_temporary_test_db()
     with db_operations.session_scope() as session:
         self.user_manager = user.UserManager(session)
         self.session = session
         test_user = user.User('test_username', 'test_password',
                               '*****@*****.**')
         session.add(test_user)
         session.commit()
Ejemplo n.º 24
0
 def add_song_with_user_request_to_playlist(self,
                                            song_id,
                                            user_requested=False):
     with db_operations.session_scope() as session:
         playlist_maanger = stream_playlist.PlaylistManager(session)
         playlist_maanger.add_song_by_id(song_id, user_requested)
     if user_requested:
         self._song_cache.set_song_request_block_with_ttl(
             song_id, config.stream_options['song_request_cooldown'])
Ejemplo n.º 25
0
 def test_transition_to_next_song(self, mock_add, mock_crop):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         prev_playlist = playlist_manager.get_ordered_playlist()
         self._stream_controller.transition_to_next_song()
         after_playlist = playlist_manager.get_ordered_playlist()
         assert prev_playlist != after_playlist
         self._stream_controller.transition_to_next_song()
     assert True == mock_add.called
     assert True == mock_crop.called
Ejemplo n.º 26
0
 def test_find_artist_by_name(self):
     artist_name = 'test_artist'
     url = '/api/artist/find?name={0}'.format(artist_name)
     response = self._fetch_response_data_from_url(url)
     assert response.code == 200
     json_data = json.loads(response.body)
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         expected_data = song_manager.get_artist_by_name(artist_name)
     assert expected_data == json_data
Ejemplo n.º 27
0
 def test_get_random_song(self):
     test_song_paths = [
         self.test_song_1_path, self.test_song_2_path, self.test_song_3_path
     ]
     with mock.patch.object(config, 'paths', testing_utils.MOCK_CONFIG_PATHS):
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             for test_song_path in test_song_paths:
                 song_manager.add_song_from_path(test_song_path)
     song_access_count = {1: 0, 2: 0, 3: 0}
     total_random_queries = 50
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         for random_query in range(total_random_queries):
             random_song = song_manager.get_random_song()
             song_access_count[random_song.id] += 1
     query_count_threshold = total_random_queries//len(song_access_count)//1.4
     for song_id, access_count in song_access_count.iteritems():
         assert access_count >= query_count_threshold
Ejemplo n.º 28
0
 def test_transition_to_next_song(self, mock_add, mock_crop):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         prev_playlist = playlist_manager.get_ordered_playlist()
         self._stream_controller.transition_to_next_song()
         after_playlist = playlist_manager.get_ordered_playlist()
         assert prev_playlist != after_playlist
         self._stream_controller.transition_to_next_song()
     assert True == mock_add.called
     assert True == mock_crop.called
Ejemplo n.º 29
0
 def test_find_artist_by_name(self):
     artist_name = 'test_artist'
     url = '/api/artist/find?name={0}'.format(artist_name)
     response = self._fetch_response_data_from_url(url)
     assert response.code == 200
     json_data = json.loads(response.body)
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         expected_data = song_manager.get_artist_by_name(artist_name)
     assert expected_data == json_data
Ejemplo n.º 30
0
 def test_find_song_by_id(self):
     song_id = 1
     url = '/api/song/find?song-id={0}'.format(song_id)
     response = self._fetch_response_data_from_url(url)
     assert response.code == 200
     json_data = json.loads(response.body)
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         expected_data = song_manager.get_song_by_id(song_id)
         expected_data['datetime_added'] = \
             expected_data['datetime_added'].strftime(config.TIME_FORMAT)
     assert expected_data == json_data
Ejemplo n.º 31
0
 def test_get_random_song(self):
     test_song_paths = [
         self.test_song_1_path, self.test_song_2_path, self.test_song_3_path
     ]
     with mock.patch.object(config, 'paths',
                            testing_utils.MOCK_CONFIG_PATHS):
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             for test_song_path in test_song_paths:
                 song_manager.add_song_from_path(test_song_path)
     song_access_count = {1: 0, 2: 0, 3: 0}
     total_random_queries = 50
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         for random_query in range(total_random_queries):
             random_song = song_manager.get_random_song()
             song_access_count[random_song.id] += 1
     query_count_threshold = total_random_queries // len(
         song_access_count) // 1.4
     for song_id, access_count in song_access_count.iteritems():
         assert access_count >= query_count_threshold
Ejemplo n.º 32
0
 def get(self):
     if song_cache.get_playlist():
         current_playlist = json.loads(song_cache.get_playlist())
     else:
         with db_operations.session_scope() as session:
             playlist_manager = stream_playlist.PlaylistManager(session)
             current_playlist = playlist_manager.get_ordered_playlist()
             song_manager = song.SongManager(session)
             for playlist_order, playlist_data in current_playlist.iteritems():
                 self._add_song_data_to_playlist_data(playlist_data, song_manager)
         song_cache.set_playlist(json.dumps(current_playlist))
     self.write(current_playlist)
Ejemplo n.º 33
0
 def test_find_song_by_id(self):
     song_id = 1
     url = '/api/song/find?song-id={0}'.format(song_id)
     response = self._fetch_response_data_from_url(url)
     assert response.code == 200
     json_data = json.loads(response.body)
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         expected_data = song_manager.get_song_by_id(song_id)
         expected_data['datetime_added'] = \
             expected_data['datetime_added'].strftime(config.TIME_FORMAT)
     assert expected_data == json_data
Ejemplo n.º 34
0
 def transition_to_next_song(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         song_manager = song.SongManager(session)
         playlist_manager.pop_first_song()
         playlist_manager.set_first_song_as_currently_playing()
         ordered_playlist = playlist_manager.get_ordered_playlist(as_list=True)
         next_two_songs = ordered_playlist[1:3]
         self._stream_player.crop()
         for coming_song in next_two_songs:
             song_data = song_manager.get_song_by_id(coming_song['song_id'])
             self._stream_player.add(song_data['file_path'])
     self.add_random_songs_to_playlist_until_max_length()
Ejemplo n.º 35
0
 def transition_to_next_song(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         song_manager = song.SongManager(session)
         playlist_manager.pop_first_song()
         playlist_manager.set_first_song_as_currently_playing()
         ordered_playlist = playlist_manager.get_ordered_playlist(
             as_list=True)
         next_two_songs = ordered_playlist[1:3]
         self._stream_player.crop()
         for coming_song in next_two_songs:
             song_data = song_manager.get_song_by_id(coming_song['song_id'])
             self._stream_player.add(song_data['file_path'])
     self.add_random_songs_to_playlist_until_max_length()
Ejemplo n.º 36
0
    def test_add_song_by_id(self):
        with db_operations.session_scope() as session:
            playlist_manager = stream_playlist.PlaylistManager(session)
            playlist_manager.add_song_by_id(1)
            playlist_manager.add_song_by_id(2, True)
        expected_row_1 = {
            'id': 1,
            'song_id': 1,
            'user_requested': False,
            'currently_playing': False
        }
        expected_row_2 = {
            'id': 2,
            'song_id': 2,
            'user_requested': True,
            'currently_playing': False
        }
        with db_operations.session_scope() as session:
            playlist_manager = stream_playlist.PlaylistManager(session)
            playlist_song_1 = session.query(
                stream_playlist.Playlist).filter_by(id=1).first()
            playlist_song_2 = session.query(
                stream_playlist.Playlist).filter_by(id=2).first()
            playlist_song_1_contents = \
                playlist_manager.format_query_rows_to_dict(playlist_song_1)
            playlist_song_2_contents = \
                playlist_manager.format_query_rows_to_dict(playlist_song_2)
            playlist_song_1_time = playlist_song_1_contents.pop(
                'datetime_added')
            playlist_song_2_time = playlist_song_2_contents.pop(
                'datetime_added')

            assert expected_row_1 == playlist_song_1_contents
            assert type(datetime.datetime.now()) == type(playlist_song_1_time)
            assert expected_row_2 == playlist_song_2_contents
            assert type(datetime.datetime.now()) == type(playlist_song_2_time)
Ejemplo n.º 37
0
    def test_add_song_with_user_request_to_playlist(self):
        with db_operations.session_scope() as session:
            test_songs = session.query(song.Song).all()
            self._stream_controller.add_song_with_user_request_to_playlist(
                test_songs[0].id, user_requested=False)
            assert 1 == session.query(stream_playlist.Playlist.id).count()
            self._stream_controller.add_song_with_user_request_to_playlist(
                test_songs[1].id, user_requested=True)
            assert 2 == session.query(stream_playlist.Playlist.id).count()

            first_song = session.query(
                stream_playlist.Playlist).filter_by(id=1).one()
            assert False == first_song.user_requested
            second_song = session.query(
                stream_playlist.Playlist).filter_by(id=2).one()
            assert True == second_song.user_requested
Ejemplo n.º 38
0
    def test_add_song_with_user_request_to_playlist(self):
        with db_operations.session_scope() as session:
            test_songs = session.query(song.Song).all()
            self._stream_controller.add_song_with_user_request_to_playlist(
                test_songs[0].id, user_requested=False
            )
            assert 1 == session.query(stream_playlist.Playlist.id).count()
            self._stream_controller.add_song_with_user_request_to_playlist(
                test_songs[1].id, user_requested=True
            )
            assert 2 == session.query(stream_playlist.Playlist.id).count()

            first_song = session.query(stream_playlist.Playlist).filter_by(id=1).one()
            assert False == first_song.user_requested
            second_song = session.query(stream_playlist.Playlist).filter_by(id=2).one()
            assert True == second_song.user_requested
Ejemplo n.º 39
0
 def test_get_artist_by_name(self):
     with mock.patch.object(config, 'paths', testing_utils.MOCK_CONFIG_PATHS):
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             song_manager.add_song_from_path(self.test_song_1_path)
             artist_name = 'test_artist'
             artist_data = song_manager.get_artist_by_name(artist_name)
     expected_artist_data = {
         u'0': {
             'title': u'test_title',
             'id': 1,
             'trackno': u'1',
             'date': u'2014',
             'album': u'test_album',
             'fave_count': 0,
             'play_count': 0
         }
     }
     assert expected_artist_data == artist_data
Ejemplo n.º 40
0
 def test_get_artist_by_name(self):
     with mock.patch.object(config, 'paths',
                            testing_utils.MOCK_CONFIG_PATHS):
         with db_operations.session_scope() as session:
             song_manager = song.SongManager(session)
             song_manager.add_song_from_path(self.test_song_1_path)
             artist_name = 'test_artist'
             artist_data = song_manager.get_artist_by_name(artist_name)
     expected_artist_data = {
         u'0': {
             'title': u'test_title',
             'id': 1,
             'trackno': u'1',
             'date': u'2014',
             'album': u'test_album',
             'fave_count': 0,
             'play_count': 0
         }
     }
     assert expected_artist_data == artist_data
Ejemplo n.º 41
0
 def test_update_song_db(self):
     with mock.patch.object(config, 'paths', testing_utils.MOCK_CONFIG_PATHS):
         self._database_controller.update_song_db()
     with db_operations.session_scope() as session:
         all_songs = session.query(song.Song).all()
         assert 3 == len(all_songs)
Ejemplo n.º 42
0
 def test_add_random_song_with_user_request_to_playlist(self):
     self._stream_controller.add_random_song_with_user_request_to_playlist()
     with db_operations.session_scope() as session:
         assert 1 == session.query(stream_playlist.Playlist).count()
Ejemplo n.º 43
0
 def add_random_songs_to_playlist_until_max_length(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         max_playlist_size = config.stream_options['playlist_size']
         while playlist_manager.get_playlist_length() < max_playlist_size:
             self.add_random_song_with_user_request_to_playlist()
Ejemplo n.º 44
0
 def add_random_songs_to_playlist_until_max_length(self):
     with db_operations.session_scope() as session:
         playlist_manager = stream_playlist.PlaylistManager(session)
         max_playlist_size = config.stream_options['playlist_size']
         while playlist_manager.get_playlist_length() < max_playlist_size:
             self.add_random_song_with_user_request_to_playlist()
Ejemplo n.º 45
0
 def test_add_random_song_with_user_request_to_playlist(self):
     self._stream_controller.add_random_song_with_user_request_to_playlist()
     with db_operations.session_scope() as session:
         assert 1 == session.query(stream_playlist.Playlist).count()
Ejemplo n.º 46
0
 def get(self):
     artist_name = self.request.arguments['name'][0]
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         artist_name = song_manager.get_artist_by_name(artist_name)
     self.write(artist_name)
Ejemplo n.º 47
0
 def update_song_db(self):
     song_directory = config.paths['song_directory']
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         self._traverse_and_add_all_songs_in_directory(song_manager, song_directory)
Ejemplo n.º 48
0
 def get(self):
     artist_name = self.request.arguments['name'][0]
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         artist_name = song_manager.get_artist_by_name(artist_name)
     self.write(artist_name)
Ejemplo n.º 49
0
 def update_song_db(self):
     song_directory = config.paths['song_directory']
     with db_operations.session_scope() as session:
         song_manager = song.SongManager(session)
         self._traverse_and_add_all_songs_in_directory(
             song_manager, song_directory)