def test_getVideoIdStatusFromCache_should_call_cache_GetMulti_to_request_information(self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        storage.getVideoIdStatusFromCache("some_id", [{"videoid": "vid1"}, {"other_id": "stuff"}])

        assert sys.modules["__main__"].cache.getMulti.call_count == 1
    def test_getVideoIdStatusFromCache_should_not_request_information_for_items_without_a_videoid(self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        storage.getVideoIdStatusFromCache("some_id", [{"videoid": "vid1"}, {"other_id": "stuff"}])

        sys.modules["__main__"].cache.getMulti.assert_any_call("some_id", ["vid1"])
    def test_getVideoIdStatusFromCache_should_call_cache_GetMulti_to_request_information(
            self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        storage.getVideoIdStatusFromCache("some_id", [{
            "videoid": "vid1"
        }, {
            "other_id": "stuff"
        }])

        assert (sys.modules["__main__"].cache.getMulti.call_count == 1)
    def test_getVideoIdStatusFromCache_should_not_request_information_for_items_without_a_videoid(
            self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        storage.getVideoIdStatusFromCache("some_id", [{
            "videoid": "vid1"
        }, {
            "other_id": "stuff"
        }])

        sys.modules["__main__"].cache.getMulti.assert_any_call(
            "some_id", ["vid1"])
    def test_getVideoIdStatusFromCache_should_set_overlay_information_on_requested(self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        result = storage.getVideoIdStatusFromCache("some_id", [{"videoid": "vid1", "Overlay": "1"}])

        assert result[0]["Overlay"] == "2"
    def test_getVideoIdStatusFromCache_should_result_sets_with_missing_items(self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        result = storage.getVideoIdStatusFromCache(
            "some_id", [{"videoid": "vid1", "Overlay": "1"}, {"videoid": "vid2", "Overlay": "1"}]
        )

        assert result[0]["Overlay"] == "2"
        assert result[1]["Overlay"] == "1"
    def test_getVideoIdStatusFromCache_should_set_overlay_information_on_requested(
            self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        result = storage.getVideoIdStatusFromCache("some_id", [{
            "videoid": "vid1",
            "Overlay": "1"
        }])

        assert (result[0]["Overlay"] == "2")
    def test_getVideoIdStatusFromCache_should_result_sets_with_missing_items(
            self):
        storage = YouTubeStorage()
        sys.modules["__main__"].cache.getMulti.return_value = ["2"]

        result = storage.getVideoIdStatusFromCache("some_id", [{
            "videoid": "vid1",
            "Overlay": "1"
        }, {
            "videoid": "vid2",
            "Overlay": "1"
        }])

        assert (result[0]["Overlay"] == "2")
        assert (result[1]["Overlay"] == "1")