def METHOD_NAME(mock_secrets, mock_bucket, tmpdir, monkeypatch):
    """
    Mock a GCPCache instance, using fakeredis and a mocked GCP bucket
    """
    from code_coverage_backend.gcp import GCPCache
    class MockCache(GCPCache):
        def __init__(self):
            self.redis = fakeredis.FakeStrictRedis()
            self.reports_dir = tmpdir.mkdtemp()
            self.bucket = mock_bucket
    cache = MockCache()
    # Set global cache too
    monkeypatch.setattr(code_coverage_backend.gcp, "__cache", cache)
    return cache