protected override void Act() { // Execute code under test var provider = new ClaimsIdentityProvider( _apiKeyContextProvider, _securityRepository); _actualIdentity = provider.GetClaimsIdentity(); }
// Supplied values // Actual values // Dependencies /// <summary> /// Executes the code to be tested. /// </summary> protected override void Act() { var apiKeyContextProvider = A.Fake <IApiKeyContextProvider>(); A.CallTo(() => apiKeyContextProvider.GetApiKeyContext()).Returns(ApiKeyContext.Empty); var provider = new ClaimsIdentityProvider(apiKeyContextProvider, null); var unused = provider.GetClaimsIdentity(); }
/// <summary> /// Prepares the state of the scenario (creating stubs, test data, etc.). /// </summary> protected override void Arrange() { Supplied(Guid.NewGuid()); A.CallTo(() => Given <IGetEntityById <Student> >().GetByIdAsync(Supplied <Guid>(), A <CancellationToken> ._)) .Returns(Task.FromResult(Supplied(new Student()))); A.CallTo(() => Given <IAuthorizationContextProvider>().GetAction()) .Returns("Action"); A.CallTo(() => Given <IAuthorizationContextProvider>().GetResourceUris()) .Returns(new[] { "Resource" }); var claimsIdentityProvider = new ClaimsIdentityProvider( new ApiKeyContextProvider(new CallContextStorage()), new StubSecurityRepository()); var apiClientDetails = new ApiClientDetails { ApiKey = Guid.NewGuid() .ToString("n"), ApplicationId = 999, ClaimSetName = "SomeClaimSet", NamespacePrefixes = new List <string> { "Namespace" }, EducationOrganizationIds = new List <int> { 123, 234 }, OwnershipTokenIds = new List <short?> { 1 } }; var claimsIdentity = claimsIdentityProvider.GetClaimsIdentity( apiClientDetails.EducationOrganizationIds, apiClientDetails.ClaimSetName, apiClientDetails.NamespacePrefixes, apiClientDetails.Profiles.ToList(), apiClientDetails.OwnershipTokenIds.ToList()); ClaimsPrincipal.ClaimsPrincipalSelector = () => new ClaimsPrincipal(claimsIdentity); }
public SecurityTestHelper( IActorInfoProvider actorInfoProvider, ISecurityRepository securityRepository, RoleService roleService, BrandQueries brandQueries, IAuthQueries authQueries, ApplicationSeeder applicationSeeder, IAuthCommands authCommands, IAuthRepository authRepository, IAdminCommands adminCommands, ClaimsIdentityProvider identityProvider, BrandIpRegulationService brandIpRegulationService) { _actorInfoProvider = actorInfoProvider; _securityRepository = securityRepository; _roleService = roleService; _brandQueries = brandQueries; _authQueries = authQueries; _applicationSeeder = applicationSeeder; _authCommands = authCommands; _authRepository = authRepository; _adminCommands = adminCommands; _identityProvider = identityProvider; _brandIpRegulationService = brandIpRegulationService; }
/// <summary> /// Prepares the state of the scenario (creating stubs, test data, etc.). /// </summary> protected override void Arrange() { Given <IEdFiAuthorizationProvider>( new FakeAuthorizationProvider( SuppliedFilterName, SuppliedParameterName, SuppliedParameterValue)); var suppliedFilterText = $"TheField = :{SuppliedParameterName}"; A.CallTo(() => Given <INHibernateFilterTextProvider>() .TryGetHqlFilterText( A <Type> .Ignored, A <string> .Ignored, out suppliedFilterText)) .Returns(true); Supplied("ResourceUriValue", "uri://some-value"); A.CallTo(() => Given <IResourceClaimUriProvider>() .GetResourceClaimUris(A <Resource> .Ignored)) .Returns(new[] { Supplied <string>("ResourceUriValue") }); var claimsIdentityProvider = new ClaimsIdentityProvider( new ApiKeyContextProvider(new CallContextStorage()), new StubSecurityRepository()); var apiClientDetails = new ApiClientDetails { ApiKey = Guid.NewGuid() .ToString("n"), ApplicationId = 999, ClaimSetName = "SomeClaimSet", NamespacePrefixes = new List <string> { "Namespace" }, EducationOrganizationIds = new List <int> { 123, 234 } }; var claimsIdentity = claimsIdentityProvider.GetClaimsIdentity( apiClientDetails.EducationOrganizationIds, apiClientDetails.ClaimSetName, apiClientDetails.NamespacePrefixes, apiClientDetails.Profiles.ToList()); _expectedClaimsPrincipal = new ClaimsPrincipal(claimsIdentity); ClaimsPrincipal.ClaimsPrincipalSelector = () => _expectedClaimsPrincipal; Resource resource = CreateStudentResource(); // Create the builder context _hqlBuilderContext = new HqlBuilderContext( new StringBuilder(), new StringBuilder(), new StringBuilder(), new StringBuilder(), new Dictionary <string, object>(), null, 0, new Dictionary <string, CompositeSpecificationParameter>(), new Dictionary <string, object>(StringComparer.InvariantCultureIgnoreCase), new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase), new AliasGenerator()); // Create the processor context _processorContext = new CompositeDefinitionProcessorContext( null, null, new XElement("BaseResource"), resource, null, null, null, int.MinValue, null); }
/// <summary> /// Prepares the state of the scenario (creating stubs, test data, etc.). /// </summary> protected override void Arrange() { Given <IAuthorizationFilteringProvider>( new FakeAuthorizationFilteringProvider( SuppliedFilterName, SuppliedParameterName, SuppliedParameterValue)); var suppliedFilterText = $"TheField = :{SuppliedParameterName}"; A.CallTo(() => Given <IEducationOrganizationIdNamesProvider>() .GetAllNames()) .Returns(Array.Empty <string>()); AuthorizationFilterDefinition ignored; A.CallTo( () => Given <IAuthorizationFilterDefinitionProvider>() .TryGetAuthorizationFilterDefinition(SuppliedFilterName, out ignored)) .Returns(true) .AssignsOutAndRefParameters( new AuthorizationFilterDefinition( SuppliedFilterName, // This is how the HQL filter text is now obtained (with elimination of the INHibernateFilterTextProvider) suppliedFilterText, (criteria, junction, arg3, arg4) => { }, (ctx1, ctx2) => null, (t, props) => false)); Supplied("ResourceUriValue", "uri://some-value"); A.CallTo(() => Given <IResourceClaimUriProvider>() .GetResourceClaimUris(A <Resource> .Ignored)) .Returns(new[] { Supplied <string>("ResourceUriValue") }); var claimsIdentityProvider = new ClaimsIdentityProvider( new ApiKeyContextProvider(new CallContextStorage()), new StubSecurityRepository()); var apiClientDetails = new ApiClientDetails { ApiKey = Guid.NewGuid() .ToString("n"), ApplicationId = 999, ClaimSetName = "SomeClaimSet", NamespacePrefixes = new List <string> { "Namespace" }, EducationOrganizationIds = new[] { 123, 234 }, OwnershipTokenIds = new List <short?> { 1 } }; var claimsIdentity = claimsIdentityProvider.GetClaimsIdentity( apiClientDetails.EducationOrganizationIds, apiClientDetails.ClaimSetName, apiClientDetails.NamespacePrefixes, apiClientDetails.Profiles.ToList(), apiClientDetails.OwnershipTokenIds.ToList()); _expectedClaimsPrincipal = new ClaimsPrincipal(claimsIdentity); ClaimsPrincipal.ClaimsPrincipalSelector = () => _expectedClaimsPrincipal; Resource resource = CreateStudentResource(); // Create the builder context _hqlBuilderContext = new HqlBuilderContext( new StringBuilder(), new StringBuilder(), new StringBuilder(), new StringBuilder(), new Dictionary <string, object>(), null, 0, new Dictionary <string, CompositeSpecificationParameter>(), new Dictionary <string, object>(StringComparer.InvariantCultureIgnoreCase), new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase), new AliasGenerator()); // Create the processor context _processorContext = new CompositeDefinitionProcessorContext( null, null, new XElement("BaseResource"), resource, null, null, null, int.MinValue, null); }