rust_eureka/response/
application_response.rs1use super::Application;
2
3#[derive(Debug, PartialEq, Serialize, Deserialize)]
4pub struct ApplicationResponse {
5 pub application: Application
6}
7
8impl<'a> ApplicationResponse {
9 pub fn new(application: Application) -> ApplicationResponse {
10 ApplicationResponse {
11 application: application
12 }
13 }
14}
15
16#[cfg(test)]
17mod tests {
18 use serde_json;
19 use super::*;
20 use super::super::instance::tests::{build_test_instance, build_test_instance_json};
21
22 #[test]
23 fn test_application_response_serialization() {
24 let json = build_application_response_json();
25 let instance = build_test_instance();
26 let application: Application = Application {
27 name: "test_app".to_owned(),
28 instance: instance
29 };
30 let ar = ApplicationResponse::new(application);
31 let result = serde_json::to_string(&ar).unwrap();
32
33 assert_eq!(json, result);
39 }
40
41 #[test]
42 fn test_application_response_deserialization() {
43 let json = build_application_response_json();
44 let instance = build_test_instance();
45 let application: Application = Application {
46 name: "test_app".to_owned(),
47 instance: instance
48 };
49 let ar = ApplicationResponse::new(application);
50 let result = serde_json::from_str(&json).unwrap();
51 assert_eq!(ar, result);
52 }
53
54 fn build_application_response_json() -> String {
55
56 format!("{{\"application\":{{\"name\":\"test_app\",\"instance\":{}}}}}", build_test_instance_json())
57 }
58}
59