public async Task ApplySecurityContractAsync_WithApplicationServiceThrowingException_ExceptionThrown() { //Arrange var securityContractClientService = Substitute.For <ISecurityContractClientService>(); var securityContractDefaultConfigurationService = Substitute.For <ISecurityContractDefaultConfigurationService>(); var securityContractApplicationService = Substitute.For <ISecurityContractApplicationService>(); // A security contract with all it's sub components set to null is a valid security contract. var securityContract = new SecurityContract(); securityContract.DefaultConfigurations = new List <SecurityContractDefaultConfiguration> { new SecurityContractDefaultConfiguration { Name = "test default configuration" } }; securityContractDefaultConfigurationService.ApplyDefaultConfigurationDefinitionAsync(Arg.Any <SecurityContractDefaultConfiguration>(), Arg.Any <Guid>(), Arg.Any <bool>(), Arg.Any <SecurityContractDryRunResult>()).Returns(x => throw new Exception()); var securityContractService = new SecurityContractService(securityContractApplicationService, securityContractClientService, securityContractDefaultConfigurationService); Exception caughtException = null; try { await securityContractService.ApplySecurityContractDefinitionAsync(securityContract, Guid.NewGuid()); } catch (Exception ex) { caughtException = ex; } Assert.True(caughtException is Exception); }
public async Task ApplySecurityContractAsync_WithValidNoSectionsInput_NoExceptionsThrown() { //Arrange var securityContractClientService = Substitute.For <ISecurityContractClientService>(); var securityContractDefaultConfigurationService = Substitute.For <ISecurityContractDefaultConfigurationService>(); var securityContractApplicationService = Substitute.For <ISecurityContractApplicationService>(); // A security contract with all it's sub components set to null is a valid security contract. var securityContract = new SecurityContract(); var securityContractService = new SecurityContractService(securityContractApplicationService, securityContractClientService, securityContractDefaultConfigurationService); try { await securityContractService.ApplySecurityContractDefinitionAsync(securityContract, Guid.NewGuid()); Assert.True(true); } catch (Exception e) { Assert.True(false, $"Unexpected Exception: '{e.Message}' thrown when applying security contract"); } }
public async Task ApplySecurityContractAsync_WithValidHighLevelSecurityContractInput_NoExceptionsThrown() { //Arrange var securityContractClientService = Substitute.For <ISecurityContractClientService>(); var securityContractDefaultConfigurationService = Substitute.For <ISecurityContractDefaultConfigurationService>(); var securityContractApplicationService = Substitute.For <ISecurityContractApplicationService>(); // A security contract with all it's sub components set to null is a valid security contract. var securityContract = new SecurityContract(); securityContract.Applications = new List <SecurityContractApplication> { new SecurityContractApplication { Fullname = "Test application" } }; securityContract.Clients = new List <Oauth2ClientSubmit> { new Oauth2ClientSubmit { ClientId = "test-client-id", Name = "Test-Client-Name", AllowedOfflineAccess = true, AllowedCorsOrigins = new List <string> { "http://test-cors-origin.com" }, ClientSecrets = new List <string> { "test-client-secret" }, PostLogoutRedirectUris = new List <string> { "http://test-post-logout-uri.com" }, AllowedGrantTypes = new List <string> { "password" }, AllowedScopes = new List <string> { "test-client-scope" }, RedirectUris = new List <string> { "http://test-redirect-uri.com" } } }; securityContract.DefaultConfigurations = new List <SecurityContractDefaultConfiguration> { new SecurityContractDefaultConfiguration { Name = "test default configuration" } }; var securityContractService = new SecurityContractService(securityContractApplicationService, securityContractClientService, securityContractDefaultConfigurationService); try { await securityContractService.ApplySecurityContractDefinitionAsync(securityContract, Guid.NewGuid()); Assert.True(true); } catch (Exception e) { Assert.True(false, $"Unexpected Exception: '{e.Message}' thrown when applying security contract"); } }