Skip to content

Commit 70968e4

Browse files
aw-server: Test key_value of different types
1 parent 6ecb206 commit 70968e4

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

aw-server/tests/api.rs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,48 @@ mod api_tests {
564564
);
565565
}
566566

567+
#[test]
568+
fn test_getting_setting_multiple_types() {
569+
let server = setup_testserver();
570+
let client = rocket::local::Client::new(server).expect("valid instance");
571+
572+
let timestamp = Utc::now();
573+
574+
// Test array
575+
let response_status = set_setting_request(&client, "test_key_array", json!("[1,2,3]"));
576+
assert_eq!(response_status, rocket::http::Status::Created);
577+
578+
let mut res = client.get("/api/0/settings/test_key_array").dispatch();
579+
assert_eq!(res.status(), rocket::http::Status::Ok);
580+
let deserialized: KeyValue = serde_json::from_str(&res.body_string().unwrap()).unwrap();
581+
_equal_and_timestamp_in_range(
582+
timestamp,
583+
deserialized,
584+
KeyValue::new("settings.test_key_array", "[1,2,3]", Utc::now()),
585+
);
586+
587+
// Test dict
588+
let response_status = set_setting_request(
589+
&client,
590+
"test_key_dict",
591+
json!("{key: 'value', another_key: 'another value'}"),
592+
);
593+
assert_eq!(response_status, rocket::http::Status::Created);
594+
595+
let mut res = client.get("/api/0/settings/test_key_dict").dispatch();
596+
assert_eq!(res.status(), rocket::http::Status::Ok);
597+
let deserialized: KeyValue = serde_json::from_str(&res.body_string().unwrap()).unwrap();
598+
_equal_and_timestamp_in_range(
599+
timestamp,
600+
deserialized,
601+
KeyValue::new(
602+
"settings.test_key_dict",
603+
"{key: 'value', another_key: 'another value'}",
604+
Utc::now(),
605+
),
606+
);
607+
}
608+
567609
#[test]
568610
fn test_updating_setting() {
569611
let server = setup_testserver();

0 commit comments

Comments
 (0)