cdevents_sdk/generated/
testsuiterun_started_0_3_0.rs1#[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 = "testSuite", default, skip_serializing_if = "Option::is_none",)]
14 pub test_suite: Option<ContentTestSuite>,
15 #[serde(rename = "trigger", default, skip_serializing_if = "Option::is_none",)]
16 pub trigger: Option<ContentTrigger>,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
20#[cfg_attr(feature = "testkit", derive(Arbitrary))]
21#[serde(deny_unknown_fields)]
22pub struct ContentTrigger {
23 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none",)]
24 pub ty: Option<ContentTriggerType>,
25 #[serde(rename = "uri", default, skip_serializing_if = "Option::is_none",)]
26 pub uri: Option<crate::Uri>,
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
30#[cfg_attr(feature = "testkit", derive(Arbitrary))]
31#[serde(deny_unknown_fields)]
32pub struct ContentTestSuite {
33 #[serde(rename = "id",)]
34 pub id: crate::Id,
35 #[serde(rename = "name", default, skip_serializing_if = "Option::is_none",)]
36 pub name: Option<String>,
37 #[serde(rename = "uri", default, skip_serializing_if = "Option::is_none",)]
38 pub uri: Option<crate::Uri>,
39 #[serde(rename = "version", default, skip_serializing_if = "Option::is_none",)]
40 pub version: Option<String>,
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
44#[cfg_attr(feature = "testkit", derive(Arbitrary))]
45#[serde(deny_unknown_fields)]
46pub struct ContentEnvironment {
47 #[serde(rename = "id",)]
48 pub id: crate::Id,
49 #[serde(rename = "source", default, skip_serializing_if = "Option::is_none",)]
50 pub source: Option<crate::UriReference>,
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
54#[cfg_attr(feature = "testkit", derive(Arbitrary))]
55pub enum ContentTriggerType {
56 #[serde(rename = "manual")]
57 Manual,
58 #[serde(rename = "pipeline")]
59 Pipeline,
60 #[serde(rename = "event")]
61 Event,
62 #[serde(rename = "schedule")]
63 Schedule,
64 #[serde(rename = "other")]
65 Other,
66}
67
68#[cfg(test)]
69mod tests {
70 use proptest::prelude::*;
71 use super::*;
72
73 proptest! {
74 #[test]
75 #[cfg(feature = "testkit")]
76 fn arbitraries_are_json_valid(s in any::<Content>()) {
77 let json_str = serde_json::to_string(&s).unwrap();
78 let actual = serde_json::from_str::<Content>(&json_str).unwrap();
79 assert_eq!(s, actual);
80 }
81 }
82}