public async Task Authorized_user_with_access_as_user_scope_can_get_the_forcast() { // Arrange var client = _factory .WithTestSchemeAuth(new List <Claim>() { new Claim("scp", "access_as_user") }) .CreateClient(); // Act var response = await client.GetAsync("WeatherForecast"); // Assert response.EnsureSuccessStatusCode(); // Status Code 200-299 var weather = await response.Content.ReadAsStringAsync(); Assert.Contains("temperatureF", weather); }
public async Task Server_exceptions_are_handled() { // Arrange Log.Logger = new LoggerConfiguration() .MinimumLevel.Error() .Enrich.FromLogContext() .WriteTo.InMemory() .CreateLogger(); var client = _factory .WithTestSchemeAuth(new List <Claim>() { new Claim("scp", "foobar") }) .CreateClient(); var expectedCorrelationId = "SomeBar"; var request = new HttpRequestMessage(HttpMethod.Options, "diagnostic/throw"); request.Headers.Add("CorrelationId", expectedCorrelationId); // Act var response = await client.SendAsync(request); // Assert response.IsSuccessStatusCode.Should().BeFalse(); var errorResponse = await response.Content.ReadAsExample(new { requestId = default(string), correlationId = default(string), message = default(string) }); errorResponse.correlationId.Should().Be(expectedCorrelationId); errorResponse.message.Should().Be("An error occurred in our API. Please refer to the request id with our support team."); InMemorySink.Instance.Should() .HaveMessage("Here is an unhandled exception.") .Appearing().Once() .WithProperty("RequestId").WithValue(errorResponse.requestId); Log.CloseAndFlush(); }