1use crate::{impl_extra, test::Status};
3
4use std::collections::HashMap;
6
7use serde::{Deserialize, Serialize};
9use serde_json::Value;
10
11#[derive(Deserialize, Serialize, Debug, PartialEq)]
14#[serde(rename_all = "camelCase")]
15pub struct Step {
16 pub name: String,
18 pub status: Status,
20 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
21 extra: HashMap<String, Value>,
22}
23
24impl Step {
25 pub fn new(name: String, status: Status) -> Self {
27 Self {
28 name,
29 status,
30 extra: HashMap::new(),
31 }
32 }
33}
34
35impl_extra!(Step);