def test_getStorageKey_should_call_getThumbnailStorageKey_if_type_is_thumbnail(self):
        storage = YouTubeStorage()
        storage._getThumbnailStorageKey = Mock()

        result = storage.getStorageKey({"some_param": "param_value"}, "thumbnail")

        storage._getThumbnailStorageKey.assert_called_with({"some_param": "param_value"}, {})
    def test_getThumbnailStorageKey_should_appen_thumb_to_key(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"some_param": "something"},
                                                 {"search": "some_search"})

        assert (result[result.rfind("_"):] == "_thumb")
    def test_getThumbnailStorageKey_should_return_correct_key_for_user_feed_path(
            self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"user_feed": "something"})

        assert (result == "something_thumb")
    def test_getThumbnailStorageKey_should_return_correct_key_for_disco_search_path(
            self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"search": "some_search"})

        assert (result == "disco_search_some_search_thumb")
    def test_getThumbnailStorageKey_should_return_correct_key_for_artist_item(
            self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({}, {"artist": "some_artist"})

        assert (result == "artist_some_artist_thumb")
    def test_getThumbnailStorageKey_should_return_correct_key_for_search_item(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey(
            {"some_param": "something"}, {"search": "some_search", "feed": "search"}
        )

        assert result == "search_some_search_thumb"
    def test_getThumbnailStorageKey_should_return_correct_key_for_playlist_item(
            self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"user_feed": "something"},
                                                 {"playlist": "some_playlist"})

        assert (result == "playlist_some_playlist_thumb")
    def test_getThumbnailStorageKey_should_return_correct_key_for_channel_item(
            self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"user_feed": "something"},
                                                 {"channel": "some_channel"})

        assert (result == "subscriptions_some_channel_thumb")
    def test_getThumbnailStorageKey_should_return_correct_key_for_search_item(
            self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"some_param": "something"}, {
            "search": "some_search",
            "feed": "search"
        })

        assert (result == "search_some_search_thumb")
    def test_getStorageKey_should_call_getThumbnailStorageKey_if_type_is_thumbnail(
            self):
        storage = YouTubeStorage()
        storage._getThumbnailStorageKey = Mock()

        result = storage.getStorageKey({"some_param": "param_value"},
                                       "thumbnail")

        storage._getThumbnailStorageKey.assert_called_with(
            {"some_param": "param_value"}, {})
    def test_getThumbnailStorageKey_should_appen_thumb_to_key(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"some_param": "something"}, {"search": "some_search"})

        assert result[result.rfind("_") :] == "_thumb"
    def test_getThumbnailStorageKey_should_return_correct_key_for_playlist_item(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"user_feed": "something"}, {"playlist": "some_playlist"})

        assert result == "playlist_some_playlist_thumb"
    def test_getThumbnailStorageKey_should_return_correct_key_for_channel_item(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"user_feed": "something"}, {"channel": "some_channel"})

        assert result == "subscriptions_some_channel_thumb"
    def test_getThumbnailStorageKey_should_return_correct_key_for_user_feed_path(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"user_feed": "something"})

        assert result == "something_thumb"
    def test_getThumbnailStorageKey_should_return_correct_key_for_disco_search_path(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({"search": "some_search"})

        assert result == "disco_search_some_search_thumb"
    def test_getThumbnailStorageKey_should_return_correct_key_for_artist_item(self):
        storage = YouTubeStorage()

        result = storage._getThumbnailStorageKey({}, {"artist": "some_artist"})

        assert result == "artist_some_artist_thumb"