public async Task AddingInvalidOwnerToNamespaceThrowsException(string username) { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var existingNamespace = testNamespaces.First(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces); await Assert.ThrowsAsync <ArgumentException>(async() => await service.AddOwnerToReservedNamespaceAsync(existingNamespace.Value, username)); }
public async Task AddingOwnerToAbsoluteNamespaceMarksOnlyAbsoluteRegistrationsVerified() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var existingNamespace = new ReservedNamespace("Microsoft", isSharedNamespace: false, isPrefix: false); testNamespaces.Add(existingNamespace); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var owner1 = testUsers.First(u => u.Username == "test1"); var registrations = ReservedNamespaceServiceTestData.GetRegistrations(); var pr1 = registrations.ToList().FirstOrDefault(pr => (pr.Id == "Microsoft.Package1")); var pr2 = registrations.ToList().FirstOrDefault(pr => (pr.Id == "Microsoft.Package2")); var pr3 = registrations.ToList().FirstOrDefault(pr => (pr.Id == "Microsoft.AspNet.Package2")); var pr4 = new PackageRegistration { Id = "Microsoft", IsVerified = false }; registrations.Add(pr4); pr1.Owners.Add(owner1); pr2.Owners.Add(owner1); pr3.Owners.Add(owner1); pr4.Owners.Add(owner1); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers, packageRegistrations: registrations); Assert.True(existingNamespace.PackageRegistrations.Count() == 0); await service.AddOwnerToReservedNamespaceAsync(existingNamespace.Value, owner1.Username); service .MockReservedNamespaceRepository .Verify(x => x.CommitChangesAsync()); service .MockPackageService .Verify(p => p.UpdatePackageVerifiedStatusAsync( It.IsAny <IReadOnlyCollection <PackageRegistration> >(), It.IsAny <bool>()), Times.Once); Assert.True(existingNamespace.Owners.Contains(owner1)); // Only Microsoft.Package1 should match the namespace Assert.True(existingNamespace.PackageRegistrations.Count() == 1); existingNamespace .PackageRegistrations .ToList() .ForEach(pr => { Assert.True(pr.IsVerified); Assert.True(pr.Id == pr4.Id); }); Assert.False(pr1.IsVerified); Assert.False(pr3.IsVerified); Assert.False(pr2.IsVerified); }
public async Task AddingOwnerToNamespaceMarksRegistrationsVerified() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var prefix = "microsoft."; var existingNamespace = testNamespaces.FirstOrDefault(rn => rn.Value.Equals(prefix, StringComparison.OrdinalIgnoreCase)); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var owner1 = testUsers.First(u => u.Username == "test1"); var owner2 = testUsers.First(u => u.Username == "test2"); var registrations = ReservedNamespaceServiceTestData.GetRegistrations(); var pr1 = registrations.ToList().FirstOrDefault(pr => (pr.Id == "Microsoft.Package1")); var pr2 = registrations.ToList().FirstOrDefault(pr => (pr.Id == "Microsoft.Package2")); var pr3 = registrations.ToList().FirstOrDefault(pr => (pr.Id == "Microsoft.AspNet.Package2")); pr1.Owners.Add(owner1); pr2.Owners.Add(owner1); pr3.Owners.Add(owner2); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers, packageRegistrations: registrations); Assert.True(existingNamespace.PackageRegistrations.Count() == 0); await service.AddOwnerToReservedNamespaceAsync(prefix, owner1.Username); service .MockReservedNamespaceRepository .Verify(x => x.CommitChangesAsync()); service .MockPackageService .Verify(p => p.UpdatePackageVerifiedStatusAsync( It.IsAny <IReadOnlyCollection <PackageRegistration> >(), It.IsAny <bool>()), Times.Once); Assert.True(existingNamespace.Owners.Contains(owner1)); // Only Microsoft.Package1 should match the namespace Assert.True(existingNamespace.PackageRegistrations.Count() == 2); existingNamespace .PackageRegistrations .ToList() .ForEach(pr => { Assert.True(pr.IsVerified); Assert.True(pr.Id == pr1.Id || pr.Id == pr2.Id); }); }
public async Task AddAnOwnerToNamespaceSuccessfully() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var prefix = "microsoft."; var existingNamespace = testNamespaces.FirstOrDefault(rn => rn.Value.Equals(prefix, StringComparison.OrdinalIgnoreCase)); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var owner = testUsers.First(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers); await service.AddOwnerToReservedNamespaceAsync(prefix, owner.Username); service .MockReservedNamespaceRepository .Verify(x => x.CommitChangesAsync()); service .MockPackageService .Verify(p => p.UpdatePackageVerifiedStatusAsync( It.IsAny <IReadOnlyCollection <PackageRegistration> >(), It.IsAny <bool>()), Times.Never); Assert.True(existingNamespace.Owners.Contains(owner)); }
public async Task AddingExistingOwnerToTheNamespaceThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var prefix = "microsoft."; var existingNamespace = testNamespaces.FirstOrDefault(rn => rn.Value.Equals(prefix, StringComparison.OrdinalIgnoreCase)); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var owner = testUsers.First(); existingNamespace.Owners.Add(owner); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.AddOwnerToReservedNamespaceAsync(existingNamespace.Value, owner.Username)); }
public async Task AddingNonExistentUserToNamespaceThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var existingNamespace = testNamespaces.First(); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.AddOwnerToReservedNamespaceAsync(existingNamespace.Value, "NonExistentUser")); }
public async Task InvalidNamespaceThrowsException(string value) { var service = new TestableReservedNamespaceService(); await Assert.ThrowsAsync <ArgumentException>(async() => await service.AddOwnerToReservedNamespaceAsync(value, "test1")); }
public async Task NonExistentNamespaceThrowsException() { var testNamespaces = GetTestNamespaces(); var testUsers = GetTestUsers(); var existingUser = testUsers.First(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.AddOwnerToReservedNamespaceAsync("NonExistent.Namespace.", existingUser.Username)); }