public void MapType_Should_ReturnFormattedExceptionName_UsingDefaultExceptionTypeMapping_WhenDefaultHelpLinkIsNull() { var optionsMock = TestHelper.CreateHttpExceptionsOptionsMock(false, null); var mapper = new ExposeProtectedProblemDetailsExceptionMapper(optionsMock.Object); var exception = new DivideByZeroException(); var result = mapper.MapType(exception, new DefaultHttpContext()); result.Should().Be("error:divide-by-zero"); }
public void MapType_Should_ReturnTypeAsErrorUri_WhenUseHelpLinkAsProblemDetailsTypeTrueAndDefaultHelpLinkForProblemDetailsTypeNull() { var options = new HttpExceptionsOptions { UseHelpLinkAsProblemDetailsType = true }; var optionsMock = new Mock <IOptions <HttpExceptionsOptions> >(); optionsMock.Setup(o => o.Value).Returns(options); var mapper = new ExposeProtectedProblemDetailsExceptionMapper(optionsMock.Object); var exception = new ApplicationException(); var result = mapper.MapType(exception, new DefaultHttpContext()); result.Should().Be("error:application"); }
public void MapType_Should_ReturnUri_UsingOptionsExceptionTypeMappingOverride() { var uri = new Uri("https://example.com/ExceptionTypeMapping"); var optionsMock = TestHelper.CreateHttpExceptionsOptionsMock(false, new Uri("http://www.example.com/help-page")); var options = optionsMock.Object; options.Value.ExceptionTypeMapping = (Exception ex) => { return(uri); }; var mapper = new ExposeProtectedProblemDetailsExceptionMapper(options); var result = mapper.MapType(new ApplicationException(), new DefaultHttpContext()); result.Should().Be(uri.ToString()); }
public void MapStatus_Should_ReturnStatus_UsingOptionsExceptionStatusMappingOverride() { int?status = 9999999; var optionsMock = TestHelper.CreateHttpExceptionsOptionsMock(false, new Uri("http://www.example.com/help-page")); var options = optionsMock.Object; options.Value.ExceptionStatusMapping = (Exception ex) => { return(status); }; var mapper = new ExposeProtectedProblemDetailsExceptionMapper(options); var result = mapper.MapStatus(new ApplicationException(), new DefaultHttpContext()); result.Should().Be(status); }
public void MapType_Should_ReturnDefaultHelpLink_WhenUseHelpLinkAsProblemDetailsTypeTrue() { var options = new HttpExceptionsOptions { UseHelpLinkAsProblemDetailsType = true, DefaultHelpLink = new Uri("http://www.example.com/help-page") }; var optionsMock = new Mock <IOptions <HttpExceptionsOptions> >(); optionsMock.Setup(o => o.Value).Returns(options); var mapper = new ExposeProtectedProblemDetailsExceptionMapper(optionsMock.Object); var exception = new ApplicationException(); var result = mapper.MapType(exception, new DefaultHttpContext()); result.Should().Be("http://www.example.com/help-page"); }
public void MapType_Should_ReturnExceptionHelpLink_WhenUseHelpLinkAsProblemDetailsTypeTrue() { var options = new HttpExceptionsOptions { UseHelpLinkAsProblemDetailsType = true, DefaultHelpLink = new Uri("http://www.example.com/help-page") }; var optionsMock = new Mock <IOptions <HttpExceptionsOptions> >(); optionsMock.Setup(o => o.Value).Returns(options); var mapper = new ExposeProtectedProblemDetailsExceptionMapper(optionsMock.Object); var helpLink = "https://docs.microsoft.com/en-us/dotnet/api/system.exception.helplink?view=netcore-2.2"; var exception = new ApplicationException { HelpLink = helpLink }; var result = mapper.MapType(exception, new DefaultHttpContext()); result.Should().Be(helpLink); }
public ProblemDetailsExceptionMapperTests() { var optionsMock = TestHelper.CreateHttpExceptionsOptionsMock(false); _mapper = new ExposeProtectedProblemDetailsExceptionMapper(optionsMock.Object); }
public ProblemDetailsExceptionMapperTests() { var optionsMock = TestHelper.CreateHttpExceptionsOptionsMock(false, new Uri("http://www.example.com/help-page")); _mapper = new ExposeProtectedProblemDetailsExceptionMapper(optionsMock.Object); }