public async Task TokenValidationErrorThrowsAnException() { // arrange var fixture = new OAuthTokenValidatorFixture(); var httpMock = HttpMockRepository.At("http://localhost:6889"); var token = fixture.TokenGenerator.GenerateToken(DateTime.UtcNow.AddMinutes(-15), DateTime.UtcNow.AddMinutes(-5), DateTime.UtcNow.AddMinutes(-10)); var keys = new WebKeys { Keys = new List <JsonWebKey> { fixture.TokenGenerator.JsonWebKey } }; httpMock .Stub(x => x.Get("/keyz")) .Return(JsonConvert.SerializeObject(keys)) .OK(); var sut = fixture.Instance; await sut.InitAsync(); var act = new Action(() => sut.ValidateToken(token)); // act // assert act.ShouldThrow <SecurityTokenExpiredException>(); }
public async Task TokenThatPassesValidationIsReturned() { // arrange var fixture = new OAuthTokenValidatorFixture(); var httpMock = HttpMockRepository.At("http://localhost:6889"); var token = fixture.TokenGenerator.GenerateToken(); var keys = new WebKeys { Keys = new List <JsonWebKey> { fixture.TokenGenerator.JsonWebKey } }; httpMock .Stub(x => x.Get("/keyz")) .Return(JsonConvert.SerializeObject(keys)) .OK(); var sut = fixture.Instance; await sut.InitAsync(); // act var result = sut.ValidateToken(token); // assert result.Should().NotBeNull(); result.Issuer.Should().Be(fixture.ValidIssuer); }