initial commit
Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
This commit is contained in:
53
tests/embedding_tests.rs
Normal file
53
tests/embedding_tests.rs
Normal file
@@ -0,0 +1,53 @@
|
||||
use mcp_server::embedding::service::{EmbeddingService, EmbeddingModelType};
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_bge_base_english_model_works() {
|
||||
let service = EmbeddingService::new(EmbeddingModelType::BgeBaseEnglish).await;
|
||||
assert!(service.is_ok(), "BGE Base English should be implemented");
|
||||
|
||||
let service = service.unwrap();
|
||||
let embeddings = service.embed(&["Test text"]).await.unwrap();
|
||||
assert_eq!(embeddings.len(), 1);
|
||||
assert_eq!(embeddings[0].len(), 768);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_codebert_model_works() {
|
||||
let service = EmbeddingService::new(EmbeddingModelType::CodeBert).await;
|
||||
assert!(service.is_ok(), "CodeBERT should be implemented");
|
||||
|
||||
let service = service.unwrap();
|
||||
let embeddings = service.embed(&["def test():"]).await.unwrap();
|
||||
assert_eq!(embeddings.len(), 1);
|
||||
assert_eq!(embeddings[0].len(), 768);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_graphcodebert_model_works() {
|
||||
let service = EmbeddingService::new(EmbeddingModelType::GraphCodeBert).await;
|
||||
assert!(service.is_ok(), "GraphCodeBERT should be implemented");
|
||||
|
||||
let service = service.unwrap();
|
||||
let embeddings = service.embed(&["class Diagram:"]).await.unwrap();
|
||||
assert_eq!(embeddings.len(), 1);
|
||||
assert_eq!(embeddings[0].len(), 768);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_model_switching_works() {
|
||||
use mcp_server::memory::service::MemoryService;
|
||||
use mcp_server::config::MemoryConfig;
|
||||
|
||||
let config = MemoryConfig { base_dir: "./tests/data/test_data".to_string(), ..Default::default() };
|
||||
|
||||
let service = MemoryService::new_with_model(
|
||||
&config,
|
||||
EmbeddingModelType::BgeBaseEnglish,
|
||||
).await.unwrap();
|
||||
|
||||
assert_eq!(service.current_model(), EmbeddingModelType::BgeBaseEnglish);
|
||||
|
||||
let switch_result: Result<(), mcp_server::error::ServerError> =
|
||||
service.switch_model(EmbeddingModelType::CodeBert).await;
|
||||
assert!(switch_result.is_ok(), "Should be able to switch models");
|
||||
}
|
||||
Reference in New Issue
Block a user