private PackageMetadataResourceV3 GetPackageMetadataResource() { RegistrationResourceV3 regResource = _sourceRepository.GetResource <RegistrationResourceV3>(); ReportAbuseResourceV3 reportAbuseResource = _sourceRepository.GetResource <ReportAbuseResourceV3>(); var packageMetadataRes = new PackageMetadataResourceV3(_httpSource.HttpSource, regResource, reportAbuseResource); return(packageMetadataRes); }
private PackageSearchResourceV3 GetSearch() { PackageMetadataResourceV3 packageMetadataRes = GetPackageMetadataResource(); RawSearchResourceV3 rawSearchResource = _sourceRepository.GetResource <RawSearchResourceV3>(); Assert.NotNull(rawSearchResource); var search = new PackageSearchResourceV3(rawSearchResource, packageMetadataRes); return(search); }
[Trait("Category", "integration")] // because it talks to nuget.org public async Task CacheGetPackageMetadata() { InitializeClient(CacheIndex); PackageMetadataResourceV3 packageMetadataRes = GetPackageMetadataResource(); var meta = await packageMetadataRes.GetMetadataAsync("log4net", true, true, _cacheContext, logger, CancellationToken.None); Assert.NotEmpty(meta); var versions = meta.Select(m => m.Identity.Version); Assert.Contains(versions, one => NuGetVersion.Parse("2.0.8").Equals(one)); }
[Trait("Category", "integration")] // because it uses external nupkg files public async Task PushAndDeletePackage() { InitializeClient(MainIndex); var packageResource = await _sourceRepository.GetResourceAsync <PackageUpdateResource>(); await packageResource.Push(TestResources.GetNupkgBagetTest1(), null, 5, false, GetApiKey, GetApiKey, false, logger); await packageResource.Delete( "liget-test1", "1.0.0", GetApiKey, _ => true, false, logger); PackageMetadataResourceV3 packageMetadataRes = GetPackageMetadataResource(); var meta = await packageMetadataRes.GetMetadataAsync("liget-test1", true, true, _cacheContext, logger, CancellationToken.None); Assert.Empty(meta); }
[Trait("Category", "integration")] // because it uses external nupkg files public async Task PushValidPackage() { InitializeClient(MainIndex); var packageResource = await _sourceRepository.GetResourceAsync <PackageUpdateResource>(); await packageResource.Push(TestResources.GetNupkgBagetTest1(), null, 5, false, GetApiKey, GetApiKey, false, logger); PackageMetadataResourceV3 packageMetadataRes = GetPackageMetadataResource(); var meta = await packageMetadataRes.GetMetadataAsync("liget-test1", true, true, _cacheContext, logger, CancellationToken.None); Assert.NotEmpty(meta); var one = meta.First(); Assert.Equal(new PackageIdentity("liget-test1", NuGetVersion.Parse("1.0.0")), one.Identity); }
public NuRepository(List <Lazy <INuGetResourceProvider> > providers, Uri repositoryUrl, Microsoft.Extensions.Logging.ILogger <NuGetClient> logger) { this.providers = providers; this.repositoryUrl = repositoryUrl; this._logger = logger; PackageSource packageSource = new PackageSource(repositoryUrl.AbsoluteUri); _sourceRepository = new SourceRepository(packageSource, providers); _cacheContext = new SourceCacheContext(); var httpSource = _sourceRepository.GetResource <HttpSourceResource>(); _regResource = _sourceRepository.GetResource <RegistrationResourceV3>(); ReportAbuseResourceV3 reportAbuseResource = _sourceRepository.GetResource <ReportAbuseResourceV3>(); _metadataSearch = new PackageMetadataResourceV3(httpSource.HttpSource, _regResource, reportAbuseResource); _versionSearch = new RemoteV3FindPackageByIdResource(_sourceRepository, httpSource.HttpSource); this._loggerAdapter = new NuGetLoggerAdapter <NuGetClient>(logger); }
[Trait("Category", "integration")] // because it uses external nupkg files public async Task PushAndDownloadPackageWithNoDependencies() { InitializeClient(MainIndex); var packageResource = await _sourceRepository.GetResourceAsync <PackageUpdateResource>(); await packageResource.Push(TestResources.GetNupkgExample3(), null, 5, false, GetApiKey, GetApiKey, false, logger); PackageMetadataResourceV3 packageMetadataRes = GetPackageMetadataResource(); var meta = await packageMetadataRes.GetMetadataAsync("example3", true, true, _cacheContext, logger, CancellationToken.None); Assert.NotEmpty(meta); var one = meta.First(); Assert.Equal(new PackageIdentity("example3", NuGetVersion.Parse("1.0.0")), one.Identity); var findByIdRes = new RemoteV3FindPackageByIdResource(_sourceRepository, _httpSource.HttpSource); var downloader = await findByIdRes.GetPackageDownloaderAsync( new PackageIdentity("example3", NuGetVersion.Parse("1.0.0")), _cacheContext, logger, CancellationToken.None); string tempPath = Path.Combine(tempDir.UniqueTempFolder, "test.nupkg"); await downloader.CopyNupkgFileToAsync(tempPath, CancellationToken.None); }