public void TicketHasCorrectIdentity(PermissionTicketRequest ticketRequest) { // Act var ticket = this.manager.Request(ticketRequest); // Assert ticket.Principal.Should().Be(ticketRequest.Principal); }
public void ValidTicketLifetime(PermissionTicketRequest ticketRequest) { // Act var ticket = this.manager.Request(ticketRequest); // Assert ticket.Expiry.Should().BeAfter(DateTimeOffset.UtcNow.AddMinutes(29)); }
public void InvalidTickets(PermissionTicketRequest ticketRequest) { // Act var result = this.manager.Request(ticketRequest); // Assert result.IsValid.Should().BeFalse(); }
public void ValidTicketIssued(PermissionTicketRequest ticketRequest) { // Act var ticket = this.manager.Request(ticketRequest); // Assert ticket.IsValid.Should().BeTrue(); }
private ValidationResult <CRN, ResourceAction, CPN> ValidateResources(IEnumerable <Resource> resources, PermissionTicketRequest ticketRequest) { foreach (var r in resources) { if (!Validator.TryValidate(() => this.resourceValidator.Validate(r.Identifier), out var resultResource)) { return(ValidationResult <CRN, ResourceAction, CPN> .Invalid(r.Identifier, ticketRequest.Action, ticketRequest.Principal, resultResource.Reason)); } if (!Validator.TryValidate(() => this.resourceValidator.ValidateAction(ticketRequest.Action), out var resultAction)) { return(ValidationResult <CRN, ResourceAction, CPN> .Invalid(ticketRequest.Resource, ticketRequest.Action, ticketRequest.Principal, resultAction.Reason)); } if (!Validator.TryValidate(() => this.resourceValidator.Validate(r.Identifier, ticketRequest.Action), out var resultActionOnResource)) { return(ValidationResult <CRN, ResourceAction, CPN> .Invalid(ticketRequest.Resource, ticketRequest.Action, ticketRequest.Principal, resultActionOnResource.Reason)); } } return(ValidationResult <CRN, ResourceAction, CPN> .Valid(ticketRequest.Resource, ticketRequest.Action, ticketRequest.Principal)); }