Skip to main content

tailfeather_testkit/
report.rs

1use serde::Serialize;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
4#[serde(rename_all = "lowercase")]
5pub enum Status {
6    Pass,
7    Fail,
8}
9
10#[derive(Debug, Serialize)]
11pub struct Check {
12    pub name: &'static str,
13    pub status: Status,
14    pub detail: String,
15}
16
17#[derive(Debug, Serialize)]
18pub struct Report {
19    pub schema_version: u8,
20    pub checks: Vec<Check>,
21}
22
23impl Report {
24    pub fn passed(&self) -> bool {
25        self.checks.iter().all(|check| check.status == Status::Pass)
26    }
27}