private ResponseContext RespondWithMock(RouteSpecResponse mediaType) { var body = OpenApiSerializer.Serialize(WriteBody); return(new ResponseContext { StatusCode = mediaType.StatusCodeParsed, ContentType = mediaType.ContentType, Body = body, }); void WriteBody(IOpenApiWriter writer) { var _ = TryWriteExample(writer) || DataProvider.TryWriteValue(writer, mediaType.Schema); } bool TryWriteExample(IOpenApiWriter writer) { if (mediaType.Examples?.Count > 0) { var example = mediaType.Examples.First(); writer.WriteRaw(example); return(true); } return(false); } }
public RouteSpecBuilder WithResponse(JSchema schema, HttpStatusCode statusCode = HttpStatusCode.OK, string contentType = "application/json") { var statusCodeNum = (int)statusCode; var response = new RouteSpecResponse(contentType, statusCodeNum.ToString(), schema, new List <string>()); Responses.Add(response); return(this); }