public void CanGenerateJwtToken() { var jwtRequest = ValidateJwtTokenHelper.GenerateJwtRequestObject(); var result = _classUnderTest.GenerateJwtToken(jwtRequest); result.Should().NotBeNullOrWhiteSpace(); }
public void CanGenerateJwtTokenWithExpiryDate() { var jwtRequest = ValidateJwtTokenHelper.GenerateJwtRequestObject(_faker.Date.Future()); var result = _classUnderTest.GenerateJwtToken(jwtRequest); var token = ValidateJwtTokenHelper.GetToken(result); result.Should().NotBeNullOrWhiteSpace(); token.ValidTo.Date.Should().Be((DateTime)jwtRequest.ExpiresAt.Value.Date); }
public void CanGenerateJwtTokenWithoutExpiryDate() { var jwtRequest = ValidateJwtTokenHelper.GenerateJwtRequestObject(); var result = _classUnderTest.GenerateJwtToken(jwtRequest); var token = ValidateJwtTokenHelper.GetToken(result); result.Should().NotBeNullOrWhiteSpace(); token.ValidTo.Date.Should().BeSameDateAs(DateTime.Now.AddYears(10).Date); }
public void CanGenerateValidJwtTokenWithClaims() { var jwtRequest = ValidateJwtTokenHelper.GenerateJwtRequestObject(); var token = _classUnderTest.GenerateJwtToken(jwtRequest); var claimsDecrypted = ValidateJwtTokenHelper.GetJwtClaims(token, _jwtSecret); claimsDecrypted.Find(x => x.Type == "id").Value.Should().Be(jwtRequest.Id.ToString(CultureInfo.InvariantCulture)); claimsDecrypted.Find(x => x.Type == "consumerName").Value.Should().Be(jwtRequest.ConsumerName); claimsDecrypted.Find(x => x.Type == "consumerType").Value.Should() .Be(jwtRequest.ConsumerType.ToString(CultureInfo.InvariantCulture)); }
public async Task CanGenerateAnAuthTokenAsync() { var(apiLookup, apiEndpointLookup, consumerTypeLookup) = AddLookupsToDatabase(); var tokenRequest = new TokenRequestObject { Consumer = _faker.Random.AlphaNumeric(10), ConsumerType = consumerTypeLookup.Id, ExpiresAt = _faker.Date.Future(), ApiEndpoint = apiEndpointLookup.Id, ApiName = apiLookup.Id, HttpMethodType = "GET", AuthorizedBy = _faker.Person.Email, Environment = _faker.Random.AlphaNumeric(5), RequestedBy = _faker.Person.Email }; Environment.SetEnvironmentVariable("jwtSecret", _faker.Random.String()); var jwtSecret = Environment.GetEnvironmentVariable("jwtSecret"); var url = new Uri($"/api/v1/tokens", UriKind.Relative); var content = new StringContent(JsonConvert.SerializeObject(tokenRequest), Encoding.UTF8, "application/json"); var response = await Client.PostAsync(url, content).ConfigureAwait(true); content.Dispose(); var data = await response.Content.ReadAsStringAsync().ConfigureAwait(true); var apiResponse = JsonConvert.DeserializeObject <GenerateTokenResponse>(data); var claimsDecrypted = ValidateJwtTokenHelper.GetJwtClaims(apiResponse.Token, jwtSecret); response.StatusCode.Should().Be(201); claimsDecrypted.Find(x => x.Type == "id").Value.Should().Be(apiResponse.Id.ToString(CultureInfo.InvariantCulture)); claimsDecrypted.Find(x => x.Type == "consumerName").Value.Should().Be(tokenRequest.Consumer); claimsDecrypted.Find(x => x.Type == "consumerType").Value.Should() .Be(tokenRequest.ConsumerType.ToString(CultureInfo.InvariantCulture)); apiResponse.Should().BeOfType <GenerateTokenResponse>(); apiResponse.GeneratedAt.Date.Should().Be(DateTime.Now.Date); apiResponse.ExpiresAt.Value.Should().BeSameDateAs(tokenRequest.ExpiresAt.Value); }