public void GetPackagesSpecifiedIdAndVersionWhenExists() { packageRepo.Setup(r => r.FindPackage(It.IsAny <string>(), It.IsAny <NuGetVersion>())).Returns(dummy1_0_0).Verifiable(); var result = browser.Get("/api/v2/Packages(Id='dummy',Version='1.0.0')", with => { with.HttpRequest(); }).Result; Assert.Equal(HttpStatusCode.OK, result.StatusCode); Assert.Equal("application/atom+xml", result.ContentType); packageRepo.Verify(r => r.FindPackage("dummy", NuGetVersion.Parse("1.0.0")), Times.Exactly(1)); var entries = XmlFeedHelper.ParsePage(result.BodyAsXml()); var dummyEntry = Assert.Single(entries); AssertDummyEntry(dummyEntry); }
[Trait("Category", "integration")] // because it uses external nupkg files public async Task GetV2FindPackagesById() { InitializeClient(MainIndex); var packageResource = await _sourceRepository.GetResourceAsync <PackageUpdateResource>(); await packageResource.Push(TestResources.GetNupkgBagetTest1(), null, 5, false, GetApiKey, GetApiKey, false, logger); var response = await _httpClient.GetAsync("/api/v2/FindPackagesById()?id=liget-test1"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var responseText = await response.Content.ReadAsStringAsync(); var entries = XmlFeedHelper.ParsePage(XDocument.Parse(responseText)); var entry = Assert.Single(entries); AssertLiGetTestEntry(entry); }
public void FindPackageByIdWhenEmptyRepository(string queryName) { packageRepo.Setup(r => r.FindPackagesById(It.IsAny <string>(), It.IsAny <ClientCompatibility>())) .Returns(new List <HostedPackage>()).Verifiable(); var result = browser.Get("/api/v2/FindPackagesById()", with => { with.Query("id", queryName); with.HttpRequest(); }).Result; Assert.Equal(HttpStatusCode.OK, result.StatusCode); packageRepo.Verify(r => r.FindPackagesById("aaabbb", It.IsAny <ClientCompatibility>()), Times.Exactly(1)); Assert.Equal("application/atom+xml", result.ContentType); var entries = XmlFeedHelper.ParsePage(result.BodyAsXml()); Assert.Empty(entries); Assert.Contains("http://testhost/api/v2", result.Body.AsString()); }
public async Task FindPackageByIdWhenEmptyRepository(string queryName) { packageRepo.Setup(r => r.FindAsync(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())) .ReturnsAsync(new List <Package>()).Verifiable(); using (TestServer server = serverBuilder.Build()) { var httpClient = server.CreateClient(); var result = await httpClient.GetAsync("/api/v2/FindPackagesById()?id=" + queryName); Assert.Equal(HttpStatusCode.OK, result.StatusCode); packageRepo.Verify(r => r.FindAsync("aaabbb", false, true), Times.Exactly(1)); Assert.Equal("application/atom+xml", result.Content.Headers.ContentType.MediaType); var responseText = await result.Content.ReadAsStringAsync(); var entries = XmlFeedHelper.ParsePage(XDocument.Parse(responseText)); Assert.Empty(entries); Assert.Contains("http://localhost/api/v2", responseText); } }
public async Task GetPackagesSpecifiedIdAndVersionWhenExists(string index) { packageRepo.Setup(r => r.FindOrNullAsync(It.IsAny <PackageIdentity>(), It.IsAny <bool>(), It.IsAny <bool>())) .ReturnsAsync(dummy1_0_0).Verifiable(); using (TestServer server = serverBuilder.Build()) { var httpClient = server.CreateClient(); var result = await httpClient.GetAsync(index + "/Packages(Id='dummy',Version='1.0.0')"); Assert.Equal(HttpStatusCode.OK, result.StatusCode); Assert.Equal("application/atom+xml", result.Content.Headers.ContentType.MediaType); packageRepo.Verify(r => r.FindOrNullAsync(new PackageIdentity("dummy", NuGetVersion.Parse("1.0.0")), false, true), Times.Exactly(1)); var responseText = await result.Content.ReadAsStringAsync(); var entries = XmlFeedHelper.ParsePage(XDocument.Parse(responseText)); var dummyEntry = Assert.Single(entries); AssertDummyEntry(dummyEntry); } }
public void GetFindPackagesByIdWhen3Exist() { var packagesInDropFolder = new Dictionary <string, LocalPackageInfo> { { "test.1.11.nupkg", PackageHelper.CreatePackage(tmpDir.Path, "test", "1.11") }, { "test.1.9.nupkg", PackageHelper.CreatePackage(tmpDir.Path, "test", "1.9") }, { "test.2.0.0-0test.nupkg", PackageHelper.CreatePackage(tmpDir.Path, "test", "2.0.0-0test") }, }; var result = browser.Get("/api/v2/FindPackagesById()?id='test'", with => { with.HttpRequest(); }).Result; Assert.Equal(HttpStatusCode.OK, result.StatusCode); Assert.Equal("application/atom+xml", result.ContentType); var entries = XmlFeedHelper.ParsePage(result.BodyAsXml()).ToList(); Assert.Equal(3, entries.Count); Assert.Equal(new [] { "1.11.0", "1.9.0", "2.0.0-0test" }, entries.Select(e => e.Version.OriginalVersion).OrderBy(v => v)); }
public void GetPackagesSpecifiedIdAndVersionWhenExists() { var packagesInDropFolder = new Dictionary <string, LocalPackageInfo> { { "test.1.11.nupkg", PackageHelper.CreatePackage(tmpDir.Path, "test", "1.11") }, { "test.1.9.nupkg", PackageHelper.CreatePackage(tmpDir.Path, "test", "1.9") }, { "test.2.0.0-0test.nupkg", PackageHelper.CreatePackage(tmpDir.Path, "test", "2.0.0-0test") }, }; var result = browser.Get("/api/v2/Packages(Id='test',Version='2.0.0-0test')", with => { with.HttpRequest(); }).Result; Assert.Equal(HttpStatusCode.OK, result.StatusCode); Assert.Equal("application/atom+xml", result.ContentType); var entries = XmlFeedHelper.ParsePage(result.BodyAsXml()); var entry = Assert.Single(entries); Assert.Equal("2.0.0-0test", entry.Version.OriginalVersion); Assert.Equal("Test Author", Assert.Single(entry.Authors)); Assert.Equal("test", entry.Id); }
public async Task FindPackageByIdWhenOneFound(string index) { packageRepo.Setup(r => r.FindAsync(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())) .ReturnsAsync(new List <Package>() { dummy1_0_0 }).Verifiable(); using (TestServer server = serverBuilder.Build()) { var httpClient = server.CreateClient(); var result = await httpClient.GetAsync(index + "/FindPackagesById()?id=dummy"); Assert.Equal(HttpStatusCode.OK, result.StatusCode); packageRepo.Verify(r => r.FindAsync("dummy", false, true), Times.Exactly(1)); Assert.Equal("application/atom+xml", result.Content.Headers.ContentType.MediaType); var responseText = await result.Content.ReadAsStringAsync(); var entries = XmlFeedHelper.ParsePage(XDocument.Parse(responseText)); var dummyEntry = Assert.Single(entries); AssertDummyEntry(dummyEntry); Assert.Contains("http://localhost" + index, responseText); } }