public void V2FeedGetUpdatesReturnsEmptyResultsIfInputIsMalformed(string id, string version) { // Arrange var repo = Mock.Of<IEntityRepository<Package>>(); var configuration = Mock.Of<IGalleryConfigurationService>(); var v2Service = new TestableV2Feed(repo, configuration, null); v2Service.Request = new HttpRequestMessage(HttpMethod.Get, "https://localhost:8081/"); // Act var result = v2Service.GetUpdates( new ODataQueryOptions<V2FeedPackage>(new ODataQueryContext(NuGetODataV2FeedConfig.GetEdmModel(), typeof(V2FeedPackage)), v2Service.Request), id, version, includePrerelease: false, includeAllVersions: true, targetFrameworks: null, versionConstraints: null) .ExpectOkNegotiatedContentResult<IQueryable<V2FeedPackage>>(); // Assert Assert.Empty(result); }
public void V2FeedGetUpdatesReturnsVersionsNewerThanListedVersion() { // Arrange var packageRegistrationA = new PackageRegistration { Id = "Foo" }; var packageRegistrationB = new PackageRegistration { Id = "Qux" }; var repo = new Mock<IEntityRepository<Package>>(MockBehavior.Strict); repo.Setup(r => r.GetAll()).Returns( new[] { new Package { PackageRegistration = packageRegistrationA, Version = "1.0.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationA, Version = "1.1.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationA, Version = "1.2.0-alpha", IsPrerelease = true, Listed = true }, new Package { PackageRegistration = packageRegistrationA, Version = "1.2.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationB, Version = "2.0", IsPrerelease = false, Listed = true }, }.AsQueryable()); var configuration = new Mock<IGalleryConfigurationService>(MockBehavior.Strict); configuration.Setup(c => c.GetSiteRoot(It.IsAny<bool>())).Returns("https://localhost:8081/"); configuration.Setup(c => c.Features).Returns(new FeatureConfiguration() { FriendlyLicenses = true }); var v2Service = new TestableV2Feed(repo.Object, configuration.Object, null); v2Service.Request = new HttpRequestMessage(HttpMethod.Get, "https://localhost:8081/"); // Act var result = v2Service.GetUpdates( new ODataQueryOptions<V2FeedPackage>(new ODataQueryContext(NuGetODataV2FeedConfig.GetEdmModel(), typeof(V2FeedPackage)), v2Service.Request), "Foo|Qux", "1.0.0|0.9", includePrerelease: false, includeAllVersions: true, targetFrameworks: null, versionConstraints: null) .ExpectQueryResult<V2FeedPackage>() .GetInnerResult() .ExpectOkNegotiatedContentResult<IQueryable<V2FeedPackage>>() .ToArray(); // Assert Assert.Equal(3, result.Length); AssertPackage(new { Id = "Foo", Version = "1.1.0" }, result[0]); AssertPackage(new { Id = "Foo", Version = "1.2.0" }, result[1]); AssertPackage(new { Id = "Qux", Version = "2.0" }, result[2]); }
public void V2FeedGetUpdatesReturnsEmptyIfVersionConstraintsContainWrongNumberOfElements(string constraintString) { // Arrange var packageRegistrationA = new PackageRegistration { Id = "Foo" }; var packageRegistrationB = new PackageRegistration { Id = "Qux" }; var repo = new Mock<IEntityRepository<Package>>(MockBehavior.Strict); repo.Setup(r => r.GetAll()).Returns( new[] { new Package { PackageRegistration = packageRegistrationA, Version = "1.0.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationA, Version = "1.1.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationA, Version = "1.2.0-alpha", IsPrerelease = true, Listed = true }, new Package { PackageRegistration = packageRegistrationA, Version = "1.2.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationB, Version = "2.0", IsPrerelease = false, Listed = true }, new Package { PackageRegistration = packageRegistrationB, Version = "3.0", IsPrerelease = false, Listed = true }, }.AsQueryable()); var configuration = new Mock<ConfigurationService>(MockBehavior.Strict); configuration.Setup(c => c.GetSiteRoot(false)).Returns("https://localhost:8081/"); configuration.Setup(c => c.Features).Returns(new FeatureConfiguration() { FriendlyLicenses = true }); var v2Service = new TestableV2Feed(repo.Object, configuration.Object, null); v2Service.Request = new HttpRequestMessage(HttpMethod.Get, "https://localhost:8081/"); // Act var result = v2Service.GetUpdates( new ODataQueryOptions<V2FeedPackage>(new ODataQueryContext(NuGetODataV2FeedConfig.GetEdmModel(), typeof(V2FeedPackage)), v2Service.Request), "Foo|Qux", "1.0.0|0.9", includePrerelease: false, includeAllVersions: true, targetFrameworks: null, versionConstraints: constraintString) .ExpectOkNegotiatedContentResult<IQueryable<V2FeedPackage>>(); // Assert Assert.Equal(0, result.Count()); }