rocketmq_remoting/protocol/header/
list_acl_request_header.rs1use cheetah_string::CheetahString;
16use rocketmq_macros::RequestHeaderCodecV2;
17use serde::Deserialize;
18use serde::Serialize;
19
20#[derive(Debug, Clone, Serialize, Deserialize, Default, RequestHeaderCodecV2)]
21#[serde(rename_all = "camelCase")]
22pub struct ListAclRequestHeader {
23 pub subject_filter: CheetahString,
24 pub resource_filter: CheetahString,
25}
26
27#[cfg(test)]
28mod tests {
29 use super::*;
30 use cheetah_string::CheetahString;
31
32 #[test]
33 fn list_acl_request_header_default() {
34 let header: ListAclRequestHeader = Default::default();
35 assert_eq!(header.subject_filter, CheetahString::default());
36 assert_eq!(header.resource_filter, CheetahString::default());
37 }
38
39 #[test]
40 fn list_acl_request_header_serialize() {
41 let header = ListAclRequestHeader {
42 subject_filter: CheetahString::from("subjectFilterValue"),
43 resource_filter: CheetahString::from("resourceFilterValue"),
44 };
45
46 let json_str = serde_json::to_string(&header).unwrap();
47
48 assert!(json_str.contains("\"subjectFilter\":\"subjectFilterValue\""));
50 assert!(json_str.contains("\"resourceFilter\":\"resourceFilterValue\""));
51 }
52
53 #[test]
54 fn list_acl_request_header_deserialize() {
55 let json_str = r#"{
56 "subjectFilter": "subjectFilterValue",
57 "resourceFilter": "resourceFilterValue"
58 }"#;
59
60 let header: ListAclRequestHeader = serde_json::from_str(json_str).unwrap();
61
62 assert_eq!(header.subject_filter, CheetahString::from("subjectFilterValue"));
63 assert_eq!(header.resource_filter, CheetahString::from("resourceFilterValue"));
64 }
65
66 #[test]
67 fn list_acl_request_header_clone() {
68 let header = ListAclRequestHeader {
69 subject_filter: CheetahString::from("subjectFilterValue"),
70 resource_filter: CheetahString::from("resourceFilterValue"),
71 };
72
73 let cloned_header = header.clone();
74
75 assert_eq!(header.subject_filter, cloned_header.subject_filter);
76 assert_eq!(header.resource_filter, cloned_header.resource_filter);
77 }
78}