public void CanUseEntityBuilders() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var result = builder .IncludePage() .ExcludePage(c => c.Special().AdminModule()) .IncludeImageAsset(c => c.Read().Delete()) .IncludeCustomEntity <TestCustomEntityDefinition>(c => c.Read()) .Build(); using (new AssertionScope()) { result.Should().HaveCount(7); result.Should().Contain(p => p is PageReadPermission); result.Should().Contain(p => p is PageCreatePermission); result.Should().Contain(p => p is PageUpdatePermission); result.Should().Contain(p => p is PageDeletePermission); result.Should().Contain(p => p is ImageAssetReadPermission); result.Should().Contain(p => p is ImageAssetDeletePermission); result.Should().Contain(p => p.GetUniqueIdentifier() == TestCustomEntityDefinition.Code + CommonPermissionTypes.ReadPermissionCode); } }
public void IncludeAll_AddAll() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var result = builder .IncludeAll() .Build(); result.Should().HaveCount(allPermissions.Count()); }
public void Build_WhenNoMethodCalled_ReturnsEmpty() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var result = builder.Build(); using (new AssertionScope()) { allPermissions.Should().NotBeNullOrEmpty(); result.Should().NotBeNull(); result.Should().BeEmpty(); } }
public void CanIncludeSinglePermission() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var numCreatePermissions = allPermissions.Count(p => p.PermissionType.Code == CommonPermissionTypes.CreatePermissionCode); var result = builder .Include <CofoundryUserReadPermission>() .Build(); using (new AssertionScope()) { numCreatePermissions.Should().BePositive(); result.Should().HaveCount(1); result.First().Should().BeOfType <CofoundryUserReadPermission>(); } }
public void CanApplyRoleConfiguration() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var anonymousRolePermissions = allPermissions.FilterToAnonymousRoleDefaults(); var result = builder .ApplyAnonymousRoleConfiguration() .Build(); using (new AssertionScope()) { result.Should().HaveSameCount(anonymousRolePermissions); result.Should().Contain(anonymousRolePermissions); result.Should().Contain(p => p is PageReadPermission); } }
public void CanExludeByPermissionType() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var numCreatePermissions = allPermissions.Count(p => p.PermissionType.Code == CommonPermissionTypes.CreatePermissionCode); var result = builder .IncludeAll() .ExcludeAllCreate() .Build(); var numCreatesInResult = result.Count(p => p.PermissionType.Code == CommonPermissionTypes.CreatePermissionCode); using (new AssertionScope()) { numCreatePermissions.Should().BePositive(); result.Should().HaveCount(allPermissions.Count() - numCreatePermissions); } }
public void IncludeAll_WhenInvokedTwice_ReturnsNoDuplicates() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = GetPermissions(serviceProvider); var builder = CreateBuilder(serviceProvider, allPermissions); var result = builder .IncludeAll() .IncludeAll() .Build(); var duplicates = result .GroupBy(p => p.GetUniqueIdentifier()) .Where(g => g.Count() > 1); using (new AssertionScope()) { result.Should().HaveSameCount(allPermissions); duplicates.Should().BeEmpty(); } }
public void WhenNotInAvailablePermissions_DoesNotAdd() { using var serviceProvider = DbDependentTestApplicationServiceProviderFactory.CreateTestHostProvider(); var allPermissions = new IPermission[] { new PageDirectoryReadPermission(), new PageDirectoryDeletePermission() }; var builder = CreateBuilder(serviceProvider, allPermissions); var result = builder .IncludePageDirectory() .IncludeRole() .IncludeAllUpdate() .Build(); using (new AssertionScope()) { result.Should().HaveCount(2); result.Should().Contain(p => p is PageDirectoryReadPermission); result.Should().Contain(p => p is PageDirectoryDeletePermission); } }