public async Task When_TicketIsExpired_Then_Exception_Is_Thrown() { // ARRANGE const string ticketId = "ticket_id"; const string clientId = "client_id"; InitializeFakeObjects(); var getAuthorizationActionParameter = new GetAuthorizationActionParameter { TicketId = ticketId }; var ticket = new Ticket { Id = ticketId, ClientId = clientId, ExpirationDateTime = DateTime.UtcNow.AddSeconds(-40) }; _ticketRepositoryStub.Setup(t => t.Get(It.IsAny <IEnumerable <string> >())) .Returns(Task.FromResult((IEnumerable <Ticket>) new List <Ticket> { ticket })); // ACT & ASSERTS var exception = await Assert.ThrowsAsync <BaseUmaException>(() => _getAuthorizationAction.Execute(getAuthorizationActionParameter, clientId)); Assert.NotNull(exception); Assert.True(exception.Code == ErrorCodes.ExpiredTicket); Assert.True(exception.Message == ErrorDescriptions.TheTicketIsExpired); }
public async Task When_TicketId_IsNot_Specified_Then_Exception_Is_Thrown() { // ARRANGE InitializeFakeObjects(); var getAuthorizationActionParameter = new GetAuthorizationActionParameter(); // ACT & ASSERTS var exception = await Assert.ThrowsAsync <BaseUmaException>(() => _getAuthorizationAction.Execute(getAuthorizationActionParameter, "value")); Assert.NotNull(exception); Assert.True(exception.Code == ErrorCodes.InvalidRequestCode); Assert.True(exception.Message == string.Format(ErrorDescriptions.TheParameterNeedsToBeSpecified, PostAuthorizationNames.TicketId)); }
public async Task When_Ticket_DoesntExist_Then_Exception_Is_Thrown() { // ARRANGE const string ticketId = "ticket_id"; InitializeFakeObjects(); var getAuthorizationActionParameter = new GetAuthorizationActionParameter { TicketId = ticketId }; _ticketRepositoryStub.Setup(t => t.Get(It.IsAny <IEnumerable <string> >())) .Returns(Task.FromResult((IEnumerable <Ticket>) new List <Ticket>())); // ACT & ASSERTS var exception = await Assert.ThrowsAsync <BaseUmaException>(() => _getAuthorizationAction.Execute(getAuthorizationActionParameter, "clientId")); Assert.NotNull(exception); Assert.True(exception.Code == ErrorCodes.InvalidTicket); Assert.True(exception.Message == string.Format(ErrorDescriptions.TheTicketDoesntExist, ticketId)); }
public async Task When_Requesting_Authorized_Access_Then_Rpt_Is_Returned() { // ARRANGE const string ticketId = "ticket_id"; const string clientId = "client_id"; InitializeFakeObjects(); var getAuthorizationActionParameter = new GetAuthorizationActionParameter { TicketId = ticketId }; var ticket = new Ticket { Id = ticketId, ClientId = clientId, ExpirationDateTime = DateTime.UtcNow.AddSeconds(40) }; _ticketRepositoryStub.Setup(t => t.Get(It.IsAny <IEnumerable <string> >())) .Returns(Task.FromResult((IEnumerable <Ticket>) new List <Ticket> { ticket })); _authorizationPolicyValidatorStub.Setup(a => a.IsAuthorized(It.IsAny <Ticket>(), It.IsAny <string>(), It.IsAny <List <ClaimTokenParameter> >())) .Returns(Task.FromResult(new AuthorizationPolicyResult { Type = AuthorizationPolicyResultEnum.Authorized })); _repositoryExceptionHandlerStub.Setup(r => r.HandleException(It.IsAny <string>(), It.IsAny <Func <bool> >())) .Returns(true); // ACT var result = await _getAuthorizationAction.Execute(getAuthorizationActionParameter, clientId); // ASSERTS Assert.NotNull(result); Assert.True(result.AuthorizationPolicyResult == AuthorizationPolicyResultEnum.Authorized); Assert.NotEmpty(result.Rpt); }
public async Task <AuthorizationResponse> Execute(GetAuthorizationActionParameter getAuthorizationActionParameter, string clientId) { var result = await Execute(new[] { getAuthorizationActionParameter }, clientId); return(result.First()); }
public async Task <AuthorizationResponse> GetAuthorization( GetAuthorizationActionParameter getAuthorizationActionParameter, string clientId) { return(await _getAuthorizationAction.Execute(getAuthorizationActionParameter, clientId)); }