public async Task NewNamespaceIsReservedCorrectly(string value, bool isShared, bool isPrefix) { var newNamespace = new ReservedNamespace(value, isSharedNamespace: isShared, isPrefix: isPrefix); var service = new TestableReservedNamespaceService(); await service.AddReservedNamespaceAsync(newNamespace); service.MockReservedNamespaceRepository.Verify( x => x.InsertOnCommit( It.Is <ReservedNamespace>( rn => rn.Value == newNamespace.Value && rn.IsPrefix == newNamespace.IsPrefix && rn.IsSharedNamespace == newNamespace.IsSharedNamespace))); service.MockReservedNamespaceRepository.Verify(x => x.CommitChangesAsync()); }
public async Task LiberalNamespaceForExactMatchIsAllowed() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); // test case has a namespace with "Microsoft." as the value. var newNamespace = new ReservedNamespace("Micro", isSharedNamespace: false, isPrefix: false /*exact match*/); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces); await service.AddReservedNamespaceAsync(newNamespace); service.MockReservedNamespaceRepository.Verify( x => x.InsertOnCommit( It.Is <ReservedNamespace>( rn => rn.Value == newNamespace.Value && rn.IsPrefix == newNamespace.IsPrefix && rn.IsSharedNamespace == newNamespace.IsSharedNamespace))); service.MockReservedNamespaceRepository.Verify(x => x.CommitChangesAsync()); }
public async Task RestrictiveNamespaceUnderPrivateNamespacesIsMarkedAsAppropriate(bool isSharedNamespace) { var namespaces = new List <ReservedNamespace> { new ReservedNamespace("xunit.", isSharedNamespace: false, isPrefix: true), new ReservedNamespace("xunit.extentions.", isSharedNamespace: false, isPrefix: true), }; var newNamespace = new ReservedNamespace("xunit.extentions.someuser.", isSharedNamespace, isPrefix: true); var service = new TestableReservedNamespaceService(reservedNamespaces: namespaces); await service.AddReservedNamespaceAsync(newNamespace); service.MockReservedNamespaceRepository.Verify( x => x.InsertOnCommit( It.Is <ReservedNamespace>( rn => rn.Value == newNamespace.Value && rn.IsPrefix == newNamespace.IsPrefix && rn.IsSharedNamespace == isSharedNamespace))); service.MockReservedNamespaceRepository.Verify(x => x.CommitChangesAsync()); }
public async Task EmptyOrNullNamespaceThrowsException(string value) { var service = new TestableReservedNamespaceService(); var addNamespace = new ReservedNamespace(value, isSharedNamespace: false, isPrefix: true); await Assert.ThrowsAsync <ArgumentException>(async() => await service.AddReservedNamespaceAsync(addNamespace)); }
public async Task LiberalNamespaceThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); // test case has a namespace with "Microsoft." as the value. var newNamespace = new ReservedNamespace("Micro", isSharedNamespace: false, isPrefix: true); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.AddReservedNamespaceAsync(newNamespace)); }
public async Task ExistingNamespaceWithDifferentPrefixStateThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var newNamespace = testNamespaces.FirstOrDefault(x => x.Value == "jquery"); newNamespace.IsPrefix = !newNamespace.IsPrefix; var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.AddReservedNamespaceAsync(newNamespace)); }
public async Task ExistingNamespaceThrowsException() { var testNamespaces = ReservedNamespaceServiceTestData.GetTestNamespaces(); var newNamespace = testNamespaces.FirstOrDefault(); var service = new TestableReservedNamespaceService(reservedNamespaces: testNamespaces); await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.AddReservedNamespaceAsync(newNamespace)); }