Skip to main content

cdevents_sdk/generated/
approval_closed_0_1_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 = "approvalDetailsUrl",)]
12    pub approval_details_url: crate::NonEmptyString,
13    #[serde(rename = "decision",)]
14    pub decision: ContentDecision,
15    #[serde(rename = "resourceTargetUrl",)]
16    pub resource_target_url: crate::NonEmptyString,
17    #[serde(rename = "responder",)]
18    pub responder: crate::Uri,
19    #[serde(rename = "status",)]
20    pub status: ContentStatu,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
24#[cfg_attr(feature = "testkit", derive(Arbitrary))]
25pub enum ContentDecision {
26    #[serde(rename = "escalated")]
27    Escalated,
28    #[serde(rename = "delegate")]
29    Delegate,
30    #[serde(rename = "deferred")]
31    Deferred,
32    #[serde(rename = "requestChanges")]
33    RequestChange,
34    #[serde(rename = "approved")]
35    Approved,
36    #[serde(rename = "rejected")]
37    Rejected,
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
41#[cfg_attr(feature = "testkit", derive(Arbitrary))]
42pub enum ContentStatu {
43    #[serde(rename = "approved")]
44    Approved,
45    #[serde(rename = "rejected")]
46    Rejected,
47    #[serde(rename = "cancelled")]
48    Cancelled,
49    #[serde(rename = "expired")]
50    Expired,
51}
52
53#[cfg(test)]
54mod tests {
55    use proptest::prelude::*;
56    use super::*;
57
58    proptest! {
59        #[test]
60        #[cfg(feature = "testkit")]
61        fn arbitraries_are_json_valid(s in any::<Content>()) {
62            let json_str = serde_json::to_string(&s).unwrap();
63            let actual = serde_json::from_str::<Content>(&json_str).unwrap();
64            assert_eq!(s, actual);
65        }
66    }
67}