public async Task CacheAsyncShouldDownloadAndAddPackageWhenDoesNotExist() { localPackages.Setup(p => p.ExistsAsync(It.IsAny <PackageIdentity>())).ReturnsAsync(false); await mirrorService.CacheAsync(log4net, CancellationToken.None); downloader.Verify(d => d.DownloadOrNullAsync(It.IsAny <Uri>(), It.IsAny <CancellationToken>()), Times.Once()); localPackages.Verify(p => p.AddPackageAsync(It.IsAny <Stream>()), Times.Once()); }
public async Task CacheAsync_SpecificCacheImplementation_UsesSpecificCache() { var specificCacheImplementationMock = new Mock <ICacheImplementation>(); var cacheOptions = new CacheOptions { CacheImplementation = specificCacheImplementationMock.Object }; var configurationItemMock = new Mock <ICacheConfigurationItem <User> >(); configurationItemMock .SetupGet(i => i.Options) .Returns(cacheOptions); var propertyTrackerMock = new Mock <IPropertyTracker <User> >(); propertyTrackerMock .Setup(p => p.GetStoreKey(It.Is <User>(u => u.Name == "Test name"))) .Returns("User_Key"); configurationItemMock .SetupGet(i => i.Tracker) .Returns(propertyTrackerMock.Object); _cacheConfigurationMock .Setup(c => c.GetItem <User>()) .Returns(configurationItemMock.Object); var genericCacheImplementationMock = new Mock <ICacheImplementation>(); _cacheConfigurationMock .SetupGet(c => c.Current) .Returns(genericCacheImplementationMock.Object); var user = new User { Name = "Test name" }; await _sut.CacheAsync(user); genericCacheImplementationMock .Verify(c => c.CacheAsync( It.IsAny <string>(), It.IsAny <User>(), It.IsAny <CacheOptions>()), Times.Never); specificCacheImplementationMock .Verify(c => c.CacheAsync( "User_Key", It.Is <User>(u => u.Name == "Test name"), It.IsAny <CacheOptions>()), Times.Once); configurationItemMock .VerifyGet(i => i.Options, Times.AtLeastOnce); propertyTrackerMock .Verify(p => p.GetStoreKey(It.Is <User>(u => u.Name == "Test name")), Times.Once); configurationItemMock .VerifyGet(i => i.Tracker, Times.AtLeastOnce); _cacheConfigurationMock .Verify(c => c.GetItem <User>(), Times.Once); }
public async Task CacheAsync() { await mirrorService.CacheAsync(new PackageIdentity("log4net", NuGetVersion.Parse("2.0.8")), CancellationToken.None); Assert.True(await mirrorService.ExistsAsync(log4netId)); }