Mark as noncompliant the edge cases

This commit is contained in:
Gregory Paidis 2024-04-10 14:42:16 +02:00
parent b3111107ed
commit f554b6cbb5

View File

@ -207,36 +207,41 @@ namespace Things
} }
} }
// For the implementation: If this seems too cumbersome, consider dropping it and documenting it as FN
[ApiController] [ApiController]
public class ExplicitErrorCodes : Controller public class ExplicitErrorCodes_NewObjects : Controller
{ {
[HttpGet("foo")] [HttpGet("foo")]
public ObjectResult NewObjectResult() => // ??? public ObjectResult NewObjectResult() => // Noncompliant
new ObjectResult(42) { StatusCode = StatusCodes.Status418ImATeapot }; new ObjectResult(42) { StatusCode = StatusCodes.Status418ImATeapot }; // Secondary
[HttpGet("foo")] [HttpGet("foo")]
public StatusCodeResult NewStatusCodeResult() => // ??? public StatusCodeResult NewStatusCodeResult() => // Noncompliant
new StatusCodeResult(StatusCodes.Status418ImATeapot); new StatusCodeResult(statusCode: 42); // Secondary
[HttpGet("foo")] [HttpGet("foo")]
public IActionResult NewContentResult() => // ??? public IActionResult NewContentResult() => // Noncompliant
new ContentResult { StatusCode = StatusCodes.Status418ImATeapot }; new ContentResult { StatusCode = StatusCodes.Status418ImATeapot }; // Secondary
[HttpGet("foo")] [HttpGet("foo")]
public IActionResult NewRedirectResult() => // ??? public IActionResult NewRedirectResult() => // Noncompliant
new RedirectResult("url", permanent: true, preserveMethod: false); new RedirectResult("url", permanent: true, preserveMethod: false); // Secondary
}
[ApiController]
public class ExplicitErrorCodes_Methods : ControllerBase
{
[HttpGet("foo")]
public IActionResult StatusCodeMethod() => // Noncompliant
StatusCode(StatusCodes.Status404NotFound); // Secondary
[HttpGet("foo")] [HttpGet("foo")]
public IActionResult StatusCodeMethod() => // ??? public IActionResult StatusCodeMethodWithValue() => // Noncompliant
StatusCode(StatusCodes.Status404NotFound); StatusCode(statusCode: 42, null);
[HttpGet("foo")] [HttpGet("foo")]
public IActionResult StatusCodeMethodWithValue() => // ??? public IActionResult ProblemMethodWithStatusCode() => // Noncompliant
StatusCode(StatusCodes.Status403Forbidden, null); Problem(statusCode: StatusCodes.Status418ImATeapot); // Secondary
[HttpGet("foo")]
public IActionResult ProblemMethodWithStatusCode() => // ???
Problem(statusCode: StatusCodes.Status418ImATeapot);
[HttpGet("foo")] [HttpGet("foo")]
public IActionResult ProblemMethodWithoutStatusCode() => // Compliant public IActionResult ProblemMethodWithoutStatusCode() => // Compliant