Merge branch 'goose-api' into codex/create-submodules-under-src

This commit is contained in:
2025-05-29 10:15:21 +02:00
committed by GitHub
3 changed files with 27 additions and 3 deletions

View File

@@ -355,14 +355,24 @@ The current implementation includes the following features from the implementati
🟡 **Step 7**: Extension loading mechanism (partial implementation)
🟡 **Step 8**: MCP support (partial implementation)
**Step 10**: Documentation
**Step 11**: Tests (not yet implemented)
**Step 10**: Documentation
**Step 11**: Tests
## Running Tests
Run all unit and integration tests with:
```bash
cargo test
```
This command executes the entire workspace test suite. To test a single crate, use `cargo test -p <crate>`.
## Future Work
- Extend session management capabilities
- Add more comprehensive error handling
- Implement unit and integration tests
- Expand unit and integration tests
- Complete MCP integration
- Add metrics and monitoring
- Add OpenAPI documentation generation

View File

@@ -187,6 +187,7 @@ mod tests {
use super::*;
use serde_json::json;
use std::collections::HashMap;
use serial_test::serial;
use tokio::sync::Mutex;
use tracing::dispatcher;
use wiremock::matchers::{method, path};
@@ -389,6 +390,7 @@ mod tests {
}
#[tokio::test]
#[serial]
async fn test_create_langfuse_observer() {
let fixture = TestFixture::new().await.with_mock_server().await;

View File

@@ -8,6 +8,7 @@ use goose::providers::{
};
use mcp_core::content::Content;
use mcp_core::tool::Tool;
use serial_test::serial;
use std::collections::HashMap;
use std::sync::Arc;
use std::sync::Mutex;
@@ -352,6 +353,7 @@ where
}
#[tokio::test]
#[serial]
async fn test_openai_provider() -> Result<()> {
test_provider(
"OpenAI",
@@ -363,6 +365,7 @@ async fn test_openai_provider() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_azure_provider() -> Result<()> {
test_provider(
"Azure",
@@ -378,6 +381,7 @@ async fn test_azure_provider() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_bedrock_provider_long_term_credentials() -> Result<()> {
test_provider(
"Bedrock",
@@ -389,6 +393,7 @@ async fn test_bedrock_provider_long_term_credentials() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_bedrock_provider_aws_profile_credentials() -> Result<()> {
let env_mods = HashMap::from_iter([
// Ensure to unset long-term credentials to use AWS Profile provider
@@ -406,6 +411,7 @@ async fn test_bedrock_provider_aws_profile_credentials() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_databricks_provider() -> Result<()> {
test_provider(
"Databricks",
@@ -417,6 +423,7 @@ async fn test_databricks_provider() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_databricks_provider_oauth() -> Result<()> {
let mut env_mods = HashMap::new();
env_mods.insert("DATABRICKS_TOKEN", None);
@@ -431,6 +438,7 @@ async fn test_databricks_provider_oauth() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_ollama_provider() -> Result<()> {
test_provider(
"Ollama",
@@ -442,11 +450,13 @@ async fn test_ollama_provider() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_groq_provider() -> Result<()> {
test_provider("Groq", &["GROQ_API_KEY"], None, groq::GroqProvider::default).await
}
#[tokio::test]
#[serial]
async fn test_anthropic_provider() -> Result<()> {
test_provider(
"Anthropic",
@@ -458,6 +468,7 @@ async fn test_anthropic_provider() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_openrouter_provider() -> Result<()> {
test_provider(
"OpenRouter",
@@ -469,6 +480,7 @@ async fn test_openrouter_provider() -> Result<()> {
}
#[tokio::test]
#[serial]
async fn test_google_provider() -> Result<()> {
test_provider(
"Google",