Skip to main content

cdevents_sdk/generated/
testcaserun_started_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 = "testCase", default, skip_serializing_if = "Option::is_none",)]
14    pub test_case: Option<ContentTestCase>,
15    #[serde(rename = "testSuiteRun", default, skip_serializing_if = "Option::is_none",)]
16    pub test_suite_run: Option<ContentTestSuiteRun>,
17    #[serde(rename = "trigger", default, skip_serializing_if = "Option::is_none",)]
18    pub trigger: Option<ContentTrigger>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
22#[cfg_attr(feature = "testkit", derive(Arbitrary))]
23#[serde(deny_unknown_fields)]
24pub struct ContentTrigger {
25    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none",)]
26    pub ty: Option<ContentTriggerType>,
27    #[serde(rename = "uri", default, skip_serializing_if = "Option::is_none",)]
28    pub uri: Option<crate::Uri>,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
32#[cfg_attr(feature = "testkit", derive(Arbitrary))]
33#[serde(deny_unknown_fields)]
34pub struct ContentTestSuiteRun {
35    #[serde(rename = "id",)]
36    pub id: crate::Id,
37    #[serde(rename = "source", default, skip_serializing_if = "Option::is_none",)]
38    pub source: Option<String>,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
42#[cfg_attr(feature = "testkit", derive(Arbitrary))]
43#[serde(deny_unknown_fields)]
44pub struct ContentTestCase {
45    #[serde(rename = "id",)]
46    pub id: crate::Id,
47    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none",)]
48    pub name: Option<String>,
49    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none",)]
50    pub ty: Option<ContentTestCaseType>,
51    #[serde(rename = "uri", default, skip_serializing_if = "Option::is_none",)]
52    pub uri: Option<crate::Uri>,
53    #[serde(rename = "version", default, skip_serializing_if = "Option::is_none",)]
54    pub version: Option<String>,
55}
56
57#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
58#[cfg_attr(feature = "testkit", derive(Arbitrary))]
59#[serde(deny_unknown_fields)]
60pub struct ContentEnvironment {
61    #[serde(rename = "id",)]
62    pub id: crate::Id,
63    #[serde(rename = "source", default, skip_serializing_if = "Option::is_none",)]
64    pub source: Option<crate::UriReference>,
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
68#[cfg_attr(feature = "testkit", derive(Arbitrary))]
69pub enum ContentTestCaseType {
70    #[serde(rename = "performance")]
71    Performance,
72    #[serde(rename = "functional")]
73    Functional,
74    #[serde(rename = "unit")]
75    Unit,
76    #[serde(rename = "security")]
77    Security,
78    #[serde(rename = "compliance")]
79    Compliance,
80    #[serde(rename = "integration")]
81    Integration,
82    #[serde(rename = "e2e")]
83    E2E,
84    #[serde(rename = "other")]
85    Other,
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
89#[cfg_attr(feature = "testkit", derive(Arbitrary))]
90pub enum ContentTriggerType {
91    #[serde(rename = "manual")]
92    Manual,
93    #[serde(rename = "pipeline")]
94    Pipeline,
95    #[serde(rename = "event")]
96    Event,
97    #[serde(rename = "schedule")]
98    Schedule,
99    #[serde(rename = "other")]
100    Other,
101}
102
103#[cfg(test)]
104mod tests {
105    use proptest::prelude::*;
106    use super::*;
107
108    proptest! {
109        #[test]
110        #[cfg(feature = "testkit")]
111        fn arbitraries_are_json_valid(s in any::<Content>()) {
112            let json_str = serde_json::to_string(&s).unwrap();
113            let actual = serde_json::from_str::<Content>(&json_str).unwrap();
114            assert_eq!(s, actual);
115        }
116    }
117}