mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-05 00:47:48 +08:00
feat: update admin config import and runtime handling
This commit is contained in:
@@ -735,11 +735,11 @@ async fn gateway_handles_admin_system_config_export_locally_with_trusted_admin_p
|
||||
));
|
||||
let global_model_repository = Arc::new(
|
||||
InMemoryGlobalModelReadRepository::seed(Vec::<StoredPublicGlobalModel>::new())
|
||||
.with_admin_global_models(vec![sample_admin_global_model(
|
||||
"global-gpt-5",
|
||||
"gpt-5",
|
||||
"GPT 5",
|
||||
)])
|
||||
.with_admin_global_models(vec![{
|
||||
let mut model = sample_admin_global_model("global-gpt-5", "gpt-5", "GPT 5");
|
||||
model.usage_count = 7;
|
||||
model
|
||||
}])
|
||||
.with_admin_provider_models(vec![sample_admin_provider_model(
|
||||
"model-gpt-5",
|
||||
&provider_id,
|
||||
@@ -802,9 +802,10 @@ async fn gateway_handles_admin_system_config_export_locally_with_trusted_admin_p
|
||||
|
||||
assert_eq!(response.status(), StatusCode::OK);
|
||||
let payload: serde_json::Value = response.json().await.expect("json body should parse");
|
||||
assert_eq!(payload["version"], "2.2");
|
||||
assert_eq!(payload["version"], "2.3");
|
||||
assert!(payload["exported_at"].as_str().is_some());
|
||||
assert_eq!(payload["global_models"][0]["name"], "gpt-5");
|
||||
assert_eq!(payload["global_models"][0]["usage_count"], json!(7));
|
||||
assert_eq!(payload["providers"][0]["name"], "openai");
|
||||
assert_eq!(
|
||||
payload["providers"][0]["config"]["provider_ops"]["connector"]["credentials"]
|
||||
@@ -1025,7 +1026,7 @@ async fn gateway_handles_admin_system_users_export_locally_with_trusted_admin_pr
|
||||
|
||||
assert_eq!(response.status(), StatusCode::OK);
|
||||
let payload: serde_json::Value = response.json().await.expect("json body should parse");
|
||||
assert_eq!(payload["version"], "1.4");
|
||||
assert_eq!(payload["version"], "1.5");
|
||||
assert!(payload["exported_at"].as_str().is_some());
|
||||
assert_eq!(payload["user_groups"][0]["name"], "Restricted GPT");
|
||||
assert!(payload["user_groups"][0].get("priority").is_none());
|
||||
@@ -1044,6 +1045,8 @@ async fn gateway_handles_admin_system_users_export_locally_with_trusted_admin_pr
|
||||
json!(["Restricted GPT"])
|
||||
);
|
||||
assert_eq!(payload["users"][0]["id"], json!("user-1"));
|
||||
assert_eq!(payload["users"][0]["request_count"], json!(0));
|
||||
assert_eq!(payload["users"][0]["total_tokens"], json!(0));
|
||||
assert_eq!(payload["users"][0]["wallet"]["balance"], json!(12.5));
|
||||
assert_eq!(
|
||||
payload["users"][0]["wallet"]["recharge_balance"],
|
||||
|
||||
@@ -81,6 +81,7 @@ fn sample_system_import_payload() -> Value {
|
||||
"global_models": [{
|
||||
"name": "gpt-5",
|
||||
"display_name": "GPT 5",
|
||||
"usage_count": 123,
|
||||
"default_price_per_request": 0.03,
|
||||
"default_tiered_pricing": {
|
||||
"tiers": [{
|
||||
@@ -345,6 +346,7 @@ async fn gateway_imports_admin_system_config_locally_and_persists_data() {
|
||||
.expect("global models should load");
|
||||
assert_eq!(global_models.items.len(), 1);
|
||||
assert_eq!(global_models.items[0].name, "gpt-5");
|
||||
assert_eq!(global_models.items[0].usage_count, 123);
|
||||
|
||||
let providers = provider_catalog_repository
|
||||
.list_providers(false)
|
||||
@@ -836,7 +838,7 @@ async fn gateway_rejects_unknown_admin_system_config_import_versions() {
|
||||
let (gateway_url, gateway_handle) = start_server(gateway).await;
|
||||
let client = reqwest::Client::new();
|
||||
|
||||
for version in ["1.9", "2.3"] {
|
||||
for version in ["1.9", "2.4"] {
|
||||
let response = client
|
||||
.post(format!("{gateway_url}/api/admin/system/config/import"))
|
||||
.header(GATEWAY_HEADER, "rust-phase3b")
|
||||
@@ -859,7 +861,7 @@ async fn gateway_rejects_unknown_admin_system_config_import_versions() {
|
||||
.as_str()
|
||||
.expect("detail should be a string");
|
||||
assert!(detail.contains(&format!("不支持的配置版本: {version}")));
|
||||
assert!(detail.contains("支持的版本: 2.0, 2.1, 2.2"));
|
||||
assert!(detail.contains("支持的版本: 2.0, 2.1, 2.2, 2.3"));
|
||||
}
|
||||
|
||||
gateway_handle.abort();
|
||||
|
||||
Reference in New Issue
Block a user