private RemoteV2FindPackageByIdResourceTest( RemoteV2FindPackageByIdResource resource, PackageSource packageSource, FileInfo package, PackageIdentity packageIdentity, SourceCacheContext sourceCacheContext, TestHttpSource httpSource, TestDirectory testDirectory) { Resource = resource; PackageSource = packageSource; Package = package; PackageIdentity = packageIdentity; SourceCacheContext = sourceCacheContext; _httpSource = httpSource; TestDirectory = testDirectory; }
internal static RemoteV2FindPackageByIdResourceTest Create() { var serviceAddress = ProtocolUtility.CreateServiceAddress(); var packageIdentity = new PackageIdentity( id: "xunit", version: NuGetVersion.Parse("2.2.0-beta1-build3239")); var testDirectory = TestDirectory.Create(); var packageSource = new PackageSource(serviceAddress); var package = SimpleTestPackageUtility.CreateFullPackage( testDirectory.Path, packageIdentity.Id, packageIdentity.Version.ToNormalizedString()); var packageBytes = File.ReadAllBytes(package.FullName); var responses = new Dictionary <string, Func <HttpRequestMessage, Task <HttpResponseMessage> > > { { serviceAddress, request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new TestContent(string.Empty) }) }, { serviceAddress + $"FindPackagesById()?id='{packageIdentity.Id}'", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new TestContent( ProtocolUtility.GetResource( "NuGet.Protocol.Tests.compiler.resources.XunitFindPackagesById.xml", typeof(RemoteV2FindPackageByIdResourceTest))) }) }, { serviceAddress + $"FindPackagesById()?id='{packageIdentity.Id.ToUpper()}'", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new TestContent( ProtocolUtility.GetResource( "NuGet.Protocol.Tests.compiler.resources.XunitFindPackagesById.xml", typeof(RemoteV2FindPackageByIdResourceTest))) }) }, { "https://www.nuget.org/api/v2/package/xunit/2.2.0-beta1-build3239", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(packageBytes) }) }, { serviceAddress + $"FindPackagesById()?id='a'", request => Task.FromResult(new HttpResponseMessage(HttpStatusCode.NoContent)) } }; var httpSource = new TestHttpSource(packageSource, responses); var resource = new RemoteV2FindPackageByIdResource( packageSource, httpSource); return(new RemoteV2FindPackageByIdResourceTest( resource, packageSource, package, packageIdentity, new SourceCacheContext(), httpSource, testDirectory)); }