#[derive(Debug, Clone)]
pub struct FixtureRoute {
pub method: &'static str,
pub path: &'static str,
pub handler_name: Option<&'static str>,
}
#[must_use]
pub fn sample_routes() -> Vec<FixtureRoute> {
vec![
FixtureRoute {
method: "GET",
path: "/users",
handler_name: Some("list_users"),
},
FixtureRoute {
method: "POST",
path: "/users",
handler_name: Some("create_user"),
},
FixtureRoute {
method: "GET",
path: "/users/{id}",
handler_name: Some("get_user"),
},
]
}
#[derive(Debug, Clone)]
pub struct FixtureValidationError {
pub path: Vec<&'static str>,
pub message: &'static str,
pub code: &'static str,
pub expected: Option<&'static str>,
pub received: Option<&'static str>,
}
#[must_use]
pub fn sample_validation_errors() -> Vec<FixtureValidationError> {
vec![FixtureValidationError {
path: vec!["email"],
message: "Invalid email format",
code: "email",
expected: Some("valid email address"),
received: Some("not-an-email"),
}]
}
#[derive(Debug, Clone)]
pub struct FixtureMiddlewareInfo {
pub name: &'static str,
pub type_name: &'static str,
pub order: usize,
pub can_short_circuit: bool,
pub config_summary: Option<&'static str>,
}
#[must_use]
pub fn sample_middleware() -> Vec<FixtureMiddlewareInfo> {
vec![
FixtureMiddlewareInfo {
name: "RequestLogger",
type_name: "fastapi::middleware::RequestLogger",
order: 0,
can_short_circuit: false,
config_summary: Some("level=INFO"),
},
FixtureMiddlewareInfo {
name: "Auth",
type_name: "fastapi::middleware::Auth",
order: 1,
can_short_circuit: true,
config_summary: Some("scheme=Bearer"),
},
]
}