def test_getStoredArtists_should_call_retrieve_to_get_list_of_artists(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = []
        # storage.retrieve.return_value = [("some_title", "some_artist")]

        storage.getStoredArtists({"store": "somestore"})

        storage.retrieve.assert_called_with({"store": "somestore"})
    def test_getStoredArtists_should_call_retrieve_to_get_list_of_artists(
            self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = []
        #storage.retrieve.return_value = [("some_title", "some_artist")]

        storage.getStoredArtists({"store": "somestore"})

        storage.retrieve.assert_called_with({"store": "somestore"})
    def test_list_should_call_getStoredArtists_if_store_artist_is_in_params(self):
        storage = YouTubeStorage()
        storage.getStoredArtists = Mock()
        storage.getStoredArtists.return_value = ("", 200)

        storage.list({"store": "artists"})

        storage.getStoredArtists.assert_called_with({"store": "artists"})
    def test_list_should_call_getStoredArtists_if_store_artist_is_in_params(
            self):
        storage = YouTubeStorage()
        storage.getStoredArtists = Mock()
        storage.getStoredArtists.return_value = ("", 200)

        storage.list({"store": "artists"})

        storage.getStoredArtists.assert_called_with({"store": "artists"})
    def test_getStoredArtists_should_call_retrieve_to_get_artist_thumbnails(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = [("some_title", "some_artist")]

        storage.getStoredArtists({"path": "some_path", "store": "somestore"})

        storage.retrieve.assert_called_with(
            {"path": "some_path", "store": "somestore"},
            "thumbnail",
            {
                "artist": "some_artist",
                "Title": "some_title",
                "scraper": "music_artist",
                "path": "some_path",
                "thumbnail": [("some_title", "some_artist")],
                "icon": "music",
            },
        )
    def test_getStoredArtists_should_return_proper_list_structure(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = [("some_title", "some_artist")]

        (result, status) = storage.getStoredArtists({"path": "some_path", "store": "somestore"})
        assert result[0]["artist"] == "some_artist"
        assert result[0]["Title"] == "some_title"
        assert result[0]["scraper"] == "music_artist"
        assert result[0].has_key("icon")
        assert result[0].has_key("thumbnail")
    def test_getStoredArtists_should_call_retrieve_to_get_artist_thumbnails(
            self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = [("some_title", "some_artist")]

        storage.getStoredArtists({"path": "some_path", "store": "somestore"})

        storage.retrieve.assert_called_with(
            {
                "path": "some_path",
                "store": "somestore"
            }, "thumbnail", {
                'artist': 'some_artist',
                'Title': 'some_title',
                'scraper': 'music_artist',
                'path': "some_path",
                'thumbnail': [('some_title', 'some_artist')],
                'icon': 'music'
            })
    def test_getStoredArtists_should_return_proper_list_structure(self):
        storage = YouTubeStorage()
        storage.retrieve = Mock()
        storage.retrieve.return_value = [("some_title", "some_artist")]

        (result, status) = storage.getStoredArtists({
            "path": "some_path",
            "store": "somestore"
        })
        assert (result[0]["artist"] == "some_artist")
        assert (result[0]["Title"] == "some_title")
        assert (result[0]["scraper"] == "music_artist")
        assert (result[0].has_key("icon"))
        assert (result[0].has_key("thumbnail"))