mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-08 02:17:46 +08:00
Fix/provider query non kiro tests (#311)
* fix(admin): enable local provider-query tests for non-kiro providers * test(admin): cover non-kiro provider-query model execution * fix(admin): preserve provider-query test errors and failover retries * fix(admin): handle provider-query test alias and HTTP retry edges * fix(admin): extend provider-query failover coverage and fallback behavior * fix(admin): prefer supported endpoints for provider-query tests * fix(admin): prefer provider-query endpoints with compatible keys * fix(admin): fall back to compatible provider-query endpoints * fix(admin): align provider-query local tests with transport policy --------- Co-authored-by: fawney19 <[email protected]>
This commit is contained in:
@@ -2,9 +2,7 @@ use crate::handlers::admin::provider::query::{
|
||||
models::{
|
||||
build_admin_provider_query_models_response,
|
||||
build_admin_provider_query_test_model_failover_local_response,
|
||||
build_admin_provider_query_test_model_failover_response,
|
||||
build_admin_provider_query_test_model_local_response,
|
||||
build_admin_provider_query_test_model_response,
|
||||
},
|
||||
payload::{
|
||||
parse_admin_provider_query_body, provider_query_extract_failover_models,
|
||||
@@ -58,7 +56,7 @@ impl<'a> AdminAppState<'a> {
|
||||
build_admin_provider_query_models_response(self, &payload).await?,
|
||||
)),
|
||||
"test_model" => {
|
||||
let Some(provider_id) = provider_query_extract_provider_id(&payload) else {
|
||||
let Some(_provider_id) = provider_query_extract_provider_id(&payload) else {
|
||||
log_admin_provider_query_validation_failure(
|
||||
request_context,
|
||||
route_kind,
|
||||
@@ -69,7 +67,7 @@ impl<'a> AdminAppState<'a> {
|
||||
ADMIN_PROVIDER_QUERY_PROVIDER_ID_REQUIRED_DETAIL,
|
||||
)));
|
||||
};
|
||||
let Some(model) = provider_query_extract_model(&payload) else {
|
||||
let Some(_model) = provider_query_extract_model(&payload) else {
|
||||
log_admin_provider_query_validation_failure(
|
||||
request_context,
|
||||
route_kind,
|
||||
@@ -80,28 +78,12 @@ impl<'a> AdminAppState<'a> {
|
||||
ADMIN_PROVIDER_QUERY_MODEL_REQUIRED_DETAIL,
|
||||
)));
|
||||
};
|
||||
let provider_type = self
|
||||
.app()
|
||||
.read_provider_catalog_providers_by_ids(std::slice::from_ref(&provider_id))
|
||||
.await?
|
||||
.into_iter()
|
||||
.find(|provider| provider.id == provider_id)
|
||||
.map(|provider| provider.provider_type)
|
||||
.unwrap_or_default();
|
||||
if provider_type.trim().eq_ignore_ascii_case("kiro") {
|
||||
Ok(Some(
|
||||
build_admin_provider_query_test_model_local_response(self, &payload)
|
||||
.await?,
|
||||
))
|
||||
} else {
|
||||
Ok(Some(build_admin_provider_query_test_model_response(
|
||||
provider_id,
|
||||
model,
|
||||
)))
|
||||
}
|
||||
Ok(Some(
|
||||
build_admin_provider_query_test_model_local_response(self, &payload).await?,
|
||||
))
|
||||
}
|
||||
"test_model_failover" => {
|
||||
let Some(provider_id) = provider_query_extract_provider_id(&payload) else {
|
||||
let Some(_provider_id) = provider_query_extract_provider_id(&payload) else {
|
||||
log_admin_provider_query_validation_failure(
|
||||
request_context,
|
||||
route_kind,
|
||||
@@ -124,29 +106,10 @@ impl<'a> AdminAppState<'a> {
|
||||
ADMIN_PROVIDER_QUERY_FAILOVER_MODELS_REQUIRED_DETAIL,
|
||||
)));
|
||||
}
|
||||
let provider_type = self
|
||||
.app()
|
||||
.read_provider_catalog_providers_by_ids(std::slice::from_ref(&provider_id))
|
||||
.await?
|
||||
.into_iter()
|
||||
.find(|provider| provider.id == provider_id)
|
||||
.map(|provider| provider.provider_type)
|
||||
.unwrap_or_default();
|
||||
if provider_type.trim().eq_ignore_ascii_case("kiro") {
|
||||
Ok(Some(
|
||||
build_admin_provider_query_test_model_failover_local_response(
|
||||
self, &payload,
|
||||
)
|
||||
Ok(Some(
|
||||
build_admin_provider_query_test_model_failover_local_response(self, &payload)
|
||||
.await?,
|
||||
))
|
||||
} else {
|
||||
Ok(Some(
|
||||
build_admin_provider_query_test_model_failover_response(
|
||||
provider_id,
|
||||
failover_models,
|
||||
),
|
||||
))
|
||||
}
|
||||
))
|
||||
}
|
||||
_ => Ok(Some(
|
||||
build_admin_provider_query_models_response(self, &payload).await?,
|
||||
|
||||
Reference in New Issue
Block a user