fix(driver): 修复内置驱动搜索结果重复

This commit is contained in:
zipg authored and GitHub committed 2026-06-28 10:08:53 +08:00
1 parent 38d300bd35
commit fa55fa0d8a
2 files changed
+27 -6

No files matched your search

@@ -4,6 +4,7 @@ use dbx_core::database_capabilities::{
};
use dbx_core::models::connection::DatabaseType;
use serde::Deserialize;
use std::collections::HashSet;
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
@@ -118,6 +119,17 @@ fn maps_agent_database_types_to_driver_keys() {
assert_eq!(agent_key(&DatabaseType::Postgres, None), None);
}
#[test]
fn driver_store_entries_do_not_repeat_agent_keys() {
let entries: Vec<_> = agent_catalog::driver_store_entries().collect();
let mut seen = HashSet::new();
let duplicate_keys: Vec<_> = entries.iter().map(|(key, _)| *key).filter(|key| !seen.insert(*key)).collect();
assert!(duplicate_keys.is_empty(), "driver store agent keys should be unique: {duplicate_keys:?}");
assert_eq!(entries.iter().filter(|(key, _)| *key == "gbase8a").count(), 1);
assert_eq!(entries.iter().filter(|(key, _)| *key == "gbase8s").count(), 1);
}
#[test]
fn classifies_agent_database_types() {
assert!(is_agent_type(&DatabaseType::Oracle));