///|
fn request(page : Int) -> @moonvcr.Request {
{
method: "GET",
url: "https://api.example.test/items?page=" + page.to_string(),
headers: [{ name: "Accept", value: "application/json", }],
body: @moonvcr.Empty,
}
}
///|
fn main {
let cassette : @moonvcr.Cassette = {
format_version: @moonvcr.CURRENT_FORMAT_VERSION,
interactions: [
{
request: request(1),
response: { status: 200, headers: [], body: @moonvcr.Text("{}"), },
},
],
}
let session = @moonvcr.Session::with_defaults(
cassette,
@moonvcr.StrictOffline,
)
match session.replay(request(3)) {
Err(error) => abort(error.summary())
Ok(_) => abort("pagination failure scenario unexpectedly passed")
}
}