Packages
oaspec
0.32.0
0.68.0
0.67.0
0.66.0
0.65.0
0.64.0
0.63.0
0.62.0
0.61.0
0.60.0
0.59.0
0.58.1
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.0
0.34.0
0.33.0
0.32.0
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.3
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.1.3
Generate Gleam code from OpenAPI 3.x specifications
Current section
Files
Jump to
Current section
Files
src/oaspec/mock.gleam
//// Test helpers for `oaspec/transport`. Each constructor returns a
//// `transport.Send` value that can be passed directly to a generated
//// client function, making it trivial to script fake responses in
//// unit tests without standing up a real HTTP runtime.
import oaspec/transport.{
type Request, type Response, type Send, type TransportError, BytesBody,
EmptyBody, Response, TextBody,
}
// Always respond with the given text body and status. Headers are empty.
pub fn text(status status: Int, body body: String) -> Send {
fn(_req: Request) {
Ok(Response(status: status, headers: [], body: TextBody(body)))
}
}
// Always respond with the given binary body and status. Headers are empty.
pub fn bytes(status status: Int, body body: BitArray) -> Send {
fn(_req: Request) {
Ok(Response(status: status, headers: [], body: BytesBody(body)))
}
}
// Always respond with the given status and an empty body.
pub fn empty(status status: Int) -> Send {
fn(_req: Request) {
Ok(Response(status: status, headers: [], body: EmptyBody))
}
}
// Always fail with `transport.Timeout`.
pub fn timeout() -> Send {
fn(_req: Request) { Error(transport.Timeout) }
}
// Always fail with the given `TransportError`.
pub fn fail(error error: TransportError) -> Send {
fn(_req: Request) { Error(error) }
}
// Build a `Send` from an arbitrary handler — useful for asserting on
// the outbound request shape in tests.
pub fn from(
handler handler: fn(Request) -> Result(Response, TransportError),
) -> Send {
handler
}