use serde::{Deserialize, Serialize};
use crate::prelude::*;
fn default_true() -> bool {
true
}
fn default_false() -> bool {
false
}
#[derive(Deserialize, Serialize)]
pub(crate) struct Story {
#[serde(default = "default_true")]
pub enabled: bool,
pub name: String,
pub function: String,
pub filename: Option<String>,
pub docker_image: Option<String>,
#[serde(default = "default_false")]
pub expect_failure: bool,
#[serde(default)]
pub messages: Vec<Message>,
}
#[derive(Deserialize, Serialize)]
pub(crate) struct JunitConfiguration {
pub filename: String,
}
#[derive(Deserialize, Serialize)]
pub(crate) struct MarkdownConfiguration {
pub directory: String,
}
#[derive(Deserialize, Serialize)]
pub(crate) struct ReportGeneratorsConfiguration {
pub junit: Option<JunitConfiguration>,
pub markdown: Option<MarkdownConfiguration>,
}
#[derive(Deserialize, Serialize)]
pub(crate) struct Stories {
pub stories: Vec<Story>,
pub filename: Option<String>,
pub report_generators: Option<ReportGeneratorsConfiguration>,
}