public async Task NotFoundRequestIsMarked() { var fetcher = Substitute.For <IArtworkFetcher>(); fetcher.RetrieveAsync(Arg.Any <string>(), Arg.Any <string>()).Returns(Task.FromResult <Uri>(null)); var blobCache = new InMemoryBlobCache(); var fixture = new ArtworkCache(blobCache, fetcher); string artist = "A"; string album = "B"; string lookupKey = BlobCacheKeys.GetKeyForOnlineArtwork(artist, album); await fixture.FetchOnline(artist, album); Assert.Equal("FAILED", await blobCache.GetObject <string>(lookupKey)); }
public async Task PullsSearchesFromCache() { string artist = "A"; string album = "B"; string key = BlobCacheKeys.GetKeyForOnlineArtwork(artist, album); var fetcher = Substitute.For <IArtworkFetcher>(); var blobCache = new InMemoryBlobCache(); await blobCache.InsertObject(key, "TestArtworkKey"); var fixture = new ArtworkCache(blobCache, fetcher); string returned = await fixture.FetchOnline(artist, album); Assert.Equal("TestArtworkKey", returned); fetcher.DidNotReceiveWithAnyArgs().RetrieveAsync(null, null); }