cdevents_sdk/generated/
approval_closed_0_1_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 = "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}