diff --git a/Cargo.lock b/Cargo.lock index 82c01b5a8bc..363bfb3189a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4836,6 +4836,8 @@ dependencies = [ "rand_xorshift", "resource_metering", "security", + "serde", + "serde_derive", "serde_json", "slog", "slog-global", diff --git a/proxy_scripts/ci_check.sh b/proxy_scripts/ci_check.sh index aed2be3ba64..b12451e1182 100755 --- a/proxy_scripts/ci_check.sh +++ b/proxy_scripts/ci_check.sh @@ -40,7 +40,7 @@ elif [[ $M == "testnew" ]]; then cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::write cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::snapshot cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::normal::store - cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::normal::config + cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::config cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::normal::restart cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::normal::persist cargo test --package proxy_tests --features="$ENABLE_FEATURES" --test proxy shared::ingest diff --git a/proxy_tests/Cargo.toml b/proxy_tests/Cargo.toml index 24ecebd13ea..d0b0e65339f 100644 --- a/proxy_tests/Cargo.toml +++ b/proxy_tests/Cargo.toml @@ -84,6 +84,8 @@ raft_log_engine = { workspace = true } raftstore = { workspace = true } raftstore-v2 = { workspace = true } rand = "0.8.3" +serde = "1.0" +serde_derive = "1.0" slog = { version = "2.3", features = ["max_level_trace", "release_max_level_debug"] } slog-global = { version = "0.1", git = "https://github.com/breeswish/slog-global.git", rev = "d592f88e4dbba5eb439998463054f1a44fbf17b9" } tempfile = "3.0" diff --git a/proxy_tests/proxy/shared/config.rs b/proxy_tests/proxy/shared/config.rs index 209c1a26ac7..58d3b004492 100644 --- a/proxy_tests/proxy/shared/config.rs +++ b/proxy_tests/proxy/shared/config.rs @@ -73,6 +73,22 @@ fn test_default_no_config_item() { let mut proxy_config = gen_proxy_config(&cpath, false, &mut v); overwrite_config_with_cmd_args(&mut config, &mut proxy_config, &matches); address_proxy_config(&mut config, &proxy_config); + use serde_derive::{Deserialize, Serialize}; + use serde_json::{Map, Value}; + #[derive(Serialize, Deserialize)] + struct Data { + inner: Map, + } + let json_format_proxy = serde_json::to_string(&proxy_config).unwrap(); + let parsed_json_proxy: Data = serde_json::from_str(json_format_proxy.as_str()).unwrap(); + { + let raft_store = parsed_json_proxy.inner.get("raft_store").unwrap(); + let snap_handle_pool_size = raft_store.get("snap_handle_pool_size").unwrap(); + assert_eq!( + proxy_config.raft_store.snap_handle_pool_size as u64, + snap_handle_pool_size.as_u64().unwrap() + ); + } let total_mem = SysQuota::memory_limit_in_bytes(); let cpu_num = SysQuota::cpu_cores_quota();