Skip to main content

cdevents_sdk/generated/
testcaserun_finished_0_3_0.rs

1// @generated
2// by cdevents/sdk-rust/generator (subject.hbs)
3
4#[cfg(feature = "testkit")] use proptest_derive::Arbitrary;
5use serde::{Serialize, Deserialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
8#[cfg_attr(feature = "testkit", derive(Arbitrary))]
9#[serde(deny_unknown_fields)]
10pub struct Content {
11    #[serde(rename = "environment",)]
12    pub environment: ContentEnvironment,
13    #[serde(rename = "outcome",)]
14    pub outcome: ContentOutcome,
15    #[serde(rename = "reason", default, skip_serializing_if = "Option::is_none",)]
16    pub reason: Option<String>,
17    #[serde(rename = "severity", default, skip_serializing_if = "Option::is_none",)]
18    pub severity: Option<ContentSeverity>,
19    #[serde(rename = "testCase", default, skip_serializing_if = "Option::is_none",)]
20    pub test_case: Option<ContentTestCase>,
21    #[serde(rename = "testSuiteRun", default, skip_serializing_if = "Option::is_none",)]
22    pub test_suite_run: Option<ContentTestSuiteRun>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
26#[cfg_attr(feature = "testkit", derive(Arbitrary))]
27#[serde(deny_unknown_fields)]
28pub struct ContentTestSuiteRun {
29    #[serde(rename = "id",)]
30    pub id: crate::Id,
31    #[serde(rename = "source", default, skip_serializing_if = "Option::is_none",)]
32    pub source: Option<String>,
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
36#[cfg_attr(feature = "testkit", derive(Arbitrary))]
37#[serde(deny_unknown_fields)]
38pub struct ContentTestCase {
39    #[serde(rename = "id",)]
40    pub id: crate::Id,
41    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none",)]
42    pub name: Option<String>,
43    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none",)]
44    pub ty: Option<ContentTestCaseType>,
45    #[serde(rename = "uri", default, skip_serializing_if = "Option::is_none",)]
46    pub uri: Option<crate::Uri>,
47    #[serde(rename = "version", default, skip_serializing_if = "Option::is_none",)]
48    pub version: Option<String>,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
52#[cfg_attr(feature = "testkit", derive(Arbitrary))]
53#[serde(deny_unknown_fields)]
54pub struct ContentEnvironment {
55    #[serde(rename = "id",)]
56    pub id: crate::Id,
57    #[serde(rename = "source", default, skip_serializing_if = "Option::is_none",)]
58    pub source: Option<crate::UriReference>,
59}
60
61#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
62#[cfg_attr(feature = "testkit", derive(Arbitrary))]
63pub enum ContentOutcome {
64    #[serde(rename = "success")]
65    Success,
66    #[serde(rename = "failure")]
67    Failure,
68    #[serde(rename = "cancel")]
69    Cancel,
70    #[serde(rename = "error")]
71    Error,
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
75#[cfg_attr(feature = "testkit", derive(Arbitrary))]
76pub enum ContentSeverity {
77    #[serde(rename = "low")]
78    Low,
79    #[serde(rename = "medium")]
80    Medium,
81    #[serde(rename = "high")]
82    High,
83    #[serde(rename = "critical")]
84    Critical,
85}
86
87#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
88#[cfg_attr(feature = "testkit", derive(Arbitrary))]
89pub enum ContentTestCaseType {
90    #[serde(rename = "performance")]
91    Performance,
92    #[serde(rename = "functional")]
93    Functional,
94    #[serde(rename = "unit")]
95    Unit,
96    #[serde(rename = "security")]
97    Security,
98    #[serde(rename = "compliance")]
99    Compliance,
100    #[serde(rename = "integration")]
101    Integration,
102    #[serde(rename = "e2e")]
103    E2E,
104    #[serde(rename = "other")]
105    Other,
106}
107
108#[cfg(test)]
109mod tests {
110    use proptest::prelude::*;
111    use super::*;
112
113    proptest! {
114        #[test]
115        #[cfg(feature = "testkit")]
116        fn arbitraries_are_json_valid(s in any::<Content>()) {
117            let json_str = serde_json::to_string(&s).unwrap();
118            let actual = serde_json::from_str::<Content>(&json_str).unwrap();
119            assert_eq!(s, actual);
120        }
121    }
122}