Beispiel #1
0
            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);
            }
Beispiel #3
0
            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);
                });
            }
Beispiel #4
0
            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));
            }
Beispiel #5
0
            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));
            }
Beispiel #6
0
            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"));
            }
Beispiel #7
0
            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));
            }