public async Task GetPackageDownloaderAsync_IgnoreWarningControlsWarningLogging(bool ignoreWarning) { using (var test = SourceRepositoryDependencyProviderTest.Create(ignoreWarning: ignoreWarning)) { var resource = new Mock <FindPackageByIdResource>(); resource.Setup(x => x.GetPackageDownloaderAsync( It.IsNotNull <PackageIdentity>(), It.IsNotNull <SourceCacheContext>(), It.IsNotNull <ILogger>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new FatalProtocolException("simulated")); test.SourceRepository.Setup(s => s.GetResourceAsync <FindPackageByIdResource>()) .ReturnsAsync(resource.Object); Assert.Equal(0, test.Logger.Warnings); await test.Provider.GetPackageDownloaderAsync( new PackageIdentity(id : "a", version : NuGetVersion.Parse("1.0.0")), test.SourceCacheContext, test.Logger, CancellationToken.None); var expectedWarningCount = ignoreWarning ? 0 : 1; Assert.Equal(expectedWarningCount, test.Logger.Warnings); } }
public async Task GetPackageDownloaderAsync_ReturnsPackageDownloader() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var expectedPackageDownloader = Mock.Of <IPackageDownloader>(); var resource = new Mock <FindPackageByIdResource>(); resource.Setup(x => x.GetPackageDownloaderAsync( It.IsNotNull <PackageIdentity>(), It.IsNotNull <SourceCacheContext>(), It.IsNotNull <ILogger>(), It.IsAny <CancellationToken>())) .ReturnsAsync(expectedPackageDownloader); test.SourceRepository.Setup(s => s.GetResourceAsync <FindPackageByIdResource>()) .ReturnsAsync(resource.Object); var actualPackageDownloader = await test.Provider.GetPackageDownloaderAsync( new PackageIdentity(id : "a", version : NuGetVersion.Parse("1.0.0")), test.SourceCacheContext, NullLogger.Instance, CancellationToken.None); Assert.Same(expectedPackageDownloader, actualPackageDownloader); } }
public async Task GetPackageDownloaderAsync_ReturnsNullForFailedSourceIfIgnoreFailedSourcesIsTrue() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var resource = new Mock <FindPackageByIdResource>(); resource.Setup(x => x.GetPackageDownloaderAsync( It.IsNotNull <PackageIdentity>(), It.IsNotNull <SourceCacheContext>(), It.IsNotNull <ILogger>(), It.IsAny <CancellationToken>())) .ThrowsAsync(new FatalProtocolException("simulated")); test.SourceRepository.Setup(s => s.GetResourceAsync <FindPackageByIdResource>()) .ReturnsAsync(resource.Object); var packageDownloader = await test.Provider.GetPackageDownloaderAsync( new PackageIdentity(id : "a", version : NuGetVersion.Parse("1.0.0")), test.SourceCacheContext, NullLogger.Instance, CancellationToken.None); Assert.Null(packageDownloader); } }
public void Constructor_InitializesProperties() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { Assert.Equal(test.PackageSource.IsHttp, test.Provider.IsHttp); Assert.Same(test.PackageSource, test.Provider.Source); } }
public async Task GetPackageDownloaderAsync_ThrowsIfCancelled() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { await Assert.ThrowsAsync <OperationCanceledException>( () => test.Provider.GetPackageDownloaderAsync( new PackageIdentity(id: "a", version: NuGetVersion.Parse("1.0.0")), test.SourceCacheContext, NullLogger.Instance, new CancellationToken(canceled: true))); } }
public async Task FindLibraryAsync_ThrowsIfCancelled() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { await Assert.ThrowsAsync <OperationCanceledException>( () => test.Provider.FindLibraryAsync( new LibraryIdentity("a", NuGetVersion.Parse("1.0.0"), LibraryType.Package), NuGetFramework.Parse("net45"), test.SourceCacheContext, NullLogger.Instance, new CancellationToken(canceled: true))); } }
public async Task GetPackageDownloaderAsync_ThrowsForNullLogger() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var exception = await Assert.ThrowsAsync <ArgumentNullException>( () => test.Provider.GetPackageDownloaderAsync( new PackageIdentity(id: "a", version: NuGetVersion.Parse("1.0.0")), test.SourceCacheContext, logger: null, cancellationToken: CancellationToken.None)); Assert.Equal("logger", exception.ParamName); } }
public async Task GetPackageDownloaderAsync_ThrowsForNullPackageIdentity() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var exception = await Assert.ThrowsAsync <ArgumentNullException>( () => test.Provider.GetPackageDownloaderAsync( packageIdentity: null, cacheContext: test.SourceCacheContext, logger: NullLogger.Instance, cancellationToken: CancellationToken.None)); Assert.Equal("packageIdentity", exception.ParamName); } }
public async Task GetDependenciesAsync_ThrowsForNullLibraryIdentity() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var exception = await Assert.ThrowsAsync <ArgumentNullException>( () => test.Provider.GetDependenciesAsync( libraryIdentity: null, targetFramework: NuGetFramework.Parse("net45"), cacheContext: test.SourceCacheContext, logger: NullLogger.Instance, cancellationToken: CancellationToken.None)); Assert.Equal("libraryIdentity", exception.ParamName); } }
public async Task FindLibraryAsync_ThrowsForNullLogger() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var exception = await Assert.ThrowsAsync <ArgumentNullException>( () => test.Provider.FindLibraryAsync( new LibraryIdentity("a", NuGetVersion.Parse("1.0.0"), LibraryType.Package), NuGetFramework.Parse("net45"), test.SourceCacheContext, logger: null, cancellationToken: CancellationToken.None)); Assert.Equal("logger", exception.ParamName); } }
public async Task GetPackageDownloaderAsync_ReturnsPackageDownloader() { using (var test = SourceRepositoryDependencyProviderTest.Create()) { var expectedPackageDownloader = new Mock <IPackageDownloader>(MockBehavior.Strict); var resource = new Mock <FindPackageByIdResource>(); if (RuntimeEnvironmentHelper.IsMacOSX) { expectedPackageDownloader.Setup(x => x.SetThrottle(It.IsNotNull <SemaphoreSlim>())); } else { expectedPackageDownloader.Setup(x => x.SetThrottle(It.Is <SemaphoreSlim>(s => s == null))); } expectedPackageDownloader.Setup( x => x.SetExceptionHandler(It.IsNotNull <Func <Exception, Task <bool> > >())); resource.Setup(x => x.GetPackageDownloaderAsync( It.IsNotNull <PackageIdentity>(), It.IsNotNull <SourceCacheContext>(), It.IsNotNull <ILogger>(), It.IsAny <CancellationToken>())) .ReturnsAsync(expectedPackageDownloader.Object); test.SourceRepository.Setup(s => s.GetResourceAsync <FindPackageByIdResource>()) .ReturnsAsync(resource.Object); var actualPackageDownloader = await test.Provider.GetPackageDownloaderAsync( new PackageIdentity(id : "a", version : NuGetVersion.Parse("1.0.0")), test.SourceCacheContext, NullLogger.Instance, CancellationToken.None); Assert.Same(expectedPackageDownloader.Object, actualPackageDownloader); expectedPackageDownloader.VerifyAll(); } }