MCPcopy Create free account
hub / github.com/AI45Lab/Code / test_agent_context_provider_events

Function test_agent_context_provider_events

core/src/agent/tests.rs:1403–1457  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1401
1402#[tokio::test]
1403async fn test_agent_context_provider_events() {
1404 let mock_client = Arc::new(MockLlmClient::new(vec![MockLlmClient::text_response(
1405 "Answer",
1406 )]));
1407
1408 let tool_executor = Arc::new(ToolExecutor::new("/tmp".to_string()));
1409
1410 let provider = MockContextProvider::new("event-provider").with_items(vec![ContextItem::new(
1411 "item-1",
1412 ContextType::Memory,
1413 "Memory content",
1414 )
1415 .with_token_count(50)]);
1416
1417 let config = AgentConfig {
1418 context_providers: vec![Arc::new(provider)],
1419 ..Default::default()
1420 };
1421
1422 let (tx, mut rx) = mpsc::channel(100);
1423 let agent = AgentLoop::new(mock_client, tool_executor, test_tool_context(), config);
1424 let _result = agent.execute(&[], "Test prompt", Some(tx)).await.unwrap();
1425
1426 // Collect events
1427 let mut events = Vec::new();
1428 while let Ok(event) = rx.try_recv() {
1429 events.push(event);
1430 }
1431
1432 // Should have ContextResolving and ContextResolved events
1433 assert!(
1434 events
1435 .iter()
1436 .any(|e| matches!(e, AgentEvent::ContextResolving { .. })),
1437 "Should have ContextResolving event"
1438 );
1439 assert!(
1440 events
1441 .iter()
1442 .any(|e| matches!(e, AgentEvent::ContextResolved { .. })),
1443 "Should have ContextResolved event"
1444 );
1445
1446 // Check context resolved values
1447 for event in &events {
1448 if let AgentEvent::ContextResolved {
1449 total_items,
1450 total_tokens,
1451 } = event
1452 {
1453 assert_eq!(*total_items, 1);
1454 assert_eq!(*total_tokens, 50);
1455 }
1456 }
1457}
1458
1459#[tokio::test]
1460async fn test_agent_multiple_context_providers() {

Callers

nothing calls this directly

Calls 3

test_tool_contextFunction · 0.70
with_itemsMethod · 0.45
executeMethod · 0.45

Tested by

no test coverage detected