Beispiel #1
0
        public async Task AskServerForVersionsOfExistingPackageID()
        {
            var pkgService = new Mock <IPackageService>(MockBehavior.Strict);

            pkgService.Setup(p => p.FindAsync("abc", false, false)).ReturnsAsync(new Package[] {
                new Package()
                {
                    Id = "abc", VersionString = "1.2.3"
                },
                new Package()
                {
                    Id = "abc", VersionString = "1.4.7"
                }
            });
            using (TestServer server = TestServerBuilder.Create()
                                       .TraceToTestOutputHelper(Helper, LogLevel.Error)
                                       .WithMock(typeof(IPackageService), pkgService)
                                       .Build())
            {
                var services = server.Host.Services;
                Assert.Equal(pkgService.Object, services.GetRequiredService <IPackageService>());
                // https://docs.microsoft.com/en-us/nuget/api/package-base-address-resource#enumerate-package-versions
                var response = await server.CreateClient().GetAsync(string.Format(IndexUrlFormatString, "abc"));

                Assert.Equal(System.Net.HttpStatusCode.OK, response.StatusCode);
                var jsonString = await response.Content.ReadAsStringAsync();

                var actual   = JObject.Parse(jsonString);
                var expected = new JObject {
                    { "versions", new JArray(
                          "1.2.3",
                          "1.4.7") }
                };
                Assert.True(JToken.DeepEquals(expected, actual));
            }
        }