apisix_admin_client/models/
mod.rs1pub mod common;
2pub mod ctrl_responses;
3pub mod plugins;
4mod admin_upstream_responses;
5mod admin_upstream_requests;
6mod admin_service_requests;
7mod admin_service_responses;
8mod admin_route_requests;
9mod admin_route_responses;
10mod consumer_group_requests;
11mod consumer_group_responses;
12mod consumer_requests;
13mod consumer_responses;
14
15pub use admin_upstream_requests::*;
16pub use admin_upstream_responses::*;
17pub use admin_service_requests::*;
18pub use admin_service_responses::*;
19pub use admin_route_requests::*;
20pub use admin_route_responses::*;
21pub use consumer_group_requests::*;
22pub use consumer_group_responses::*;
23pub use consumer_requests::*;
24pub use consumer_responses::*;
25pub use plugins::*;
26use rand::distr::Alphanumeric;
27
28pub (super) fn generate_identifier() -> String {
33 use rand::Rng;
34 format!("gen-{}", rand::thread_rng()
35 .sample_iter(&Alphanumeric)
36 .take(12)
37 .map(char::from)
38 .collect::<String>())
39}
40
41#[cfg(test)]
42mod tests {
43 use super::*;
44 use tracing::{error, info};
45 use tracing_test::traced_test;
46 use crate::models::admin_upstream_requests::UpstreamType;
47
48 #[traced_test]
49 #[tokio::test]
50 async fn test_generate_id() {
51 let id = generate_identifier();
52 info!("Generated id: {}", id);
53 assert_eq!(id.len(), 16);
54 }
55
56 #[traced_test]
57 #[tokio::test]
58 async fn test_enum_case() {
59 let mut t = UpstreamType::roundrobin;
60 info!("Upstream type [roundrobin]: {}", t);
61 assert_eq!(t.to_string(), "roundrobin");
62 t = UpstreamType::least_conn;
63 info!("Upstream type [least_conn]: {}", t);
64 assert_eq!(t.to_string(), "least_conn");
65 }
66}