Conjecture.OpenApi
0.29.0
dotnet add package Conjecture.OpenApi --version 0.29.0
NuGet\Install-Package Conjecture.OpenApi -Version 0.29.0
<PackageReference Include="Conjecture.OpenApi" Version="0.29.0" />
<PackageVersion Include="Conjecture.OpenApi" Version="0.29.0" />
<PackageReference Include="Conjecture.OpenApi" />
paket add Conjecture.OpenApi --version 0.29.0
#r "nuget: Conjecture.OpenApi, 0.29.0"
#:package Conjecture.OpenApi@0.29.0
#addin nuget:?package=Conjecture.OpenApi&version=0.29.0
#tool nuget:?package=Conjecture.OpenApi&version=0.29.0
Conjecture.OpenApi
OpenAPI-driven strategy generation for Conjecture property-based testing. Loads an OpenAPI 3 document (file, URI, or FileInfo) and produces JsonElement strategies for path parameters, query parameters, request bodies, and response bodies, so you can fuzz any HTTP endpoint that has a published spec.
Install
dotnet add package Conjecture.Core
dotnet add package Conjecture.OpenApi
Usage
using System.Text.Json;
using Conjecture.Core;
using Conjecture.OpenApi;
OpenApiDocument doc = await Strategy.FromOpenApi("openapi.json");
Strategy<JsonElement> idParam = doc.PathParameter("get", "/orders/{id}", "id");
Strategy<JsonElement> orderBody = doc.RequestBody("post", "/orders");
Strategy<JsonElement> okResponse = doc.ResponseBody("get", "/orders/{id}", statusCode: 200);
JsonElement sampleBody = orderBody.Sample();
Pair with Conjecture.AspNetCore — AspNetCoreRequestBuilder.FromOpenApi(doc) substitutes the route-discovery step with the OpenAPI document, useful when the contract is canonical and the routing isn't.
Types
| Type | Role |
|---|---|
OpenApiDocument |
Loaded spec; produces strategies for parameters and bodies. |
OpenApiDocument.PathParameter(method, path, name) |
Strategy for a path placeholder. |
OpenApiDocument.QueryParameter(method, path, name) |
Strategy for a query parameter. |
OpenApiDocument.RequestBody(method, path) |
Strategy for the request body. |
OpenApiDocument.ResponseBody(method, path, statusCode) |
Strategy for the response body of a status code. |
Strategy.FromOpenApi(string \| FileInfo \| Uri) |
Loads the spec and returns an OpenApiDocument. |
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Conjecture.Core (>= 0.29.0)
- Conjecture.JsonSchema (>= 0.29.0)
- Microsoft.OpenApi (>= 1.6.29)
- Microsoft.OpenApi.Readers (>= 1.6.29)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Conjecture.OpenApi:
| Package | Downloads |
|---|---|
|
Conjecture.AspNetCore
Property-based testing for ASP.NET Core minimal APIs and MVC controllers via metadata-driven request synthesis. |
GitHub repositories
This package is not used by any popular GitHub repositories.