public async Task DeleteOwnerFromNamespaceSuccessfully() { 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 service.DeleteOwnerFromReservedNamespaceAsync(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.False(existingNamespace.Owners.Contains(owner)); }
public async Task DeletingInvalidOwnerFromNamespaceThrowsException(string username) { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var existingNamespace = testNamespaces.First(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces); await Assert.ThrowsAsync <ArgumentException>(async() => await service.DeleteOwnerFromReservedNamespaceAsync(existingNamespace.Value, username)); }
public async Task DeletingOwnerFromNamespaceMarksRegistrationsUnverified() { 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); pr1.IsVerified = true; pr2.IsVerified = true; pr3.IsVerified = true; existingNamespace.Owners.Add(owner1); existingNamespace.PackageRegistrations.Add(pr1); existingNamespace.PackageRegistrations.Add(pr2); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers, packageRegistrations: registrations); Assert.True(existingNamespace.PackageRegistrations.Count == 2); await service.DeleteOwnerFromReservedNamespaceAsync(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.False(existingNamespace.Owners.Contains(owner1)); Assert.True(existingNamespace.PackageRegistrations.Count == 0); Assert.False(pr1.IsVerified); Assert.False(pr2.IsVerified); Assert.True(pr3.IsVerified); }
public async Task DeletingNonOwnerFromNamespaceThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var prefix = "microsoft."; var existingNamespace = testNamespaces.FirstOrDefault(rn => rn.Value.Equals(prefix, StringComparison.OrdinalIgnoreCase)); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var user1 = testUsers.First(u => u.Username == "test1"); var user2 = testUsers.First(u => u.Username == "test2"); existingNamespace.Owners.Add(user1); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.DeleteOwnerFromReservedNamespaceAsync(prefix, user2.Username)); }
public async Task DeletingNonExistentUserFromNamespaceThrowsException() { 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.DeleteOwnerFromReservedNamespaceAsync(existingNamespace.Value, "NonExistentUser")); }
public async Task NonExistentNamespaceThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var testUsers = ReservedNamespaceServiceTestData.GetTestUsers(); var existingUser = testUsers.First(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces, users: testUsers); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.DeleteOwnerFromReservedNamespaceAsync("Non.Existent.Namespace.", existingUser.Username)); }
public async Task NullNamespaceThrowsException(string value) { var service = new TestableReservedNamespaceService(); await Assert.ThrowsAsync <ArgumentException>(async() => await service.DeleteOwnerFromReservedNamespaceAsync(value, "test1")); }