Update logging
Change-Id: I13279582aa717edad5d56323866b941db1919404
diff --git a/server/agent/agent_test.go b/server/agent/agent_test.go
index 405e5b7..6ec2adc 100644
--- a/server/agent/agent_test.go
+++ b/server/agent/agent_test.go
@@ -2,6 +2,7 @@
import (
"context"
+ "log/slog"
"os"
"path/filepath"
"testing"
@@ -104,8 +105,11 @@
err = gitInterface.SetUserConfig(ctx, userConfig)
require.NoError(t, err)
+ // Create logger for testing
+ logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo}))
+
// Create task manager
- taskManager := git_tm.NewGitTaskManager(gitInterface, tasksDir)
+ taskManager := git_tm.NewGitTaskManagerWithLogger(gitInterface, tasksDir, logger)
// Create LLM config (using a mock configuration)
llmConfig := llm.Config{
@@ -132,6 +136,9 @@
GitBranch: "main",
}
+ // Create logger for testing
+ logger = slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo}))
+
// Create agent with mock LLM provider
agent := &Agent{
Config: config,
@@ -139,6 +146,7 @@
gitInterface: git.DefaultGit(codeRepoDir),
ctx: context.Background(),
cancel: func() {},
+ logger: logger,
}
cleanup := func() {
@@ -150,8 +158,73 @@
}
func TestNewAgent(t *testing.T) {
- agent, cleanup := setupTestAgent(t)
- defer cleanup()
+ // Create temporary directories
+ tempDir, err := os.MkdirTemp("", "agent-test")
+ require.NoError(t, err)
+ defer os.RemoveAll(tempDir)
+
+ tasksDir := filepath.Join(tempDir, "tasks")
+ workspaceDir := filepath.Join(tempDir, "workspace")
+ codeRepoDir := filepath.Join(tempDir, "code-repo")
+
+ // Create directories
+ require.NoError(t, os.MkdirAll(tasksDir, 0755))
+ require.NoError(t, os.MkdirAll(workspaceDir, 0755))
+ require.NoError(t, os.MkdirAll(codeRepoDir, 0755))
+
+ // Initialize git repositories
+ gitInterface := git.DefaultGit(tasksDir)
+ ctx := context.Background()
+
+ err = gitInterface.Init(ctx, tasksDir)
+ require.NoError(t, err)
+
+ // Set git user config
+ userConfig := git.UserConfig{
+ Name: "Test User",
+ Email: "test@example.com",
+ }
+ err = gitInterface.SetUserConfig(ctx, userConfig)
+ require.NoError(t, err)
+
+ // Create logger for testing
+ logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo}))
+
+ // Create task manager
+ taskManager := git_tm.NewGitTaskManagerWithLogger(gitInterface, tasksDir, logger)
+
+ // Create LLM config (using a mock configuration)
+ llmConfig := llm.Config{
+ Provider: llm.ProviderOpenAI,
+ APIKey: "test-key",
+ BaseURL: "https://api.openai.com/v1",
+ Timeout: 30 * time.Second,
+ }
+
+ // Create agent config
+ config := AgentConfig{
+ Name: "test-agent",
+ Role: "Test Engineer",
+ GitUsername: "test-agent",
+ GitEmail: "test-agent@test.com",
+ WorkingDir: workspaceDir,
+ LLMProvider: llm.ProviderOpenAI,
+ LLMModel: "gpt-3.5-turbo",
+ LLMConfig: llmConfig,
+ SystemPrompt: "You are a test agent. Provide simple, clear solutions.",
+ TaskManager: taskManager,
+ GitRepoPath: codeRepoDir,
+ GitRemote: "origin",
+ GitBranch: "main",
+ }
+
+ // Create logger for testing
+ logger = slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelInfo}))
+
+ // Create agent using NewAgent function
+ agent, err := NewAgent(config, logger)
+ require.NoError(t, err)
+ defer agent.Stop()
assert.NotNil(t, agent)
assert.Equal(t, "test-agent", agent.Config.Name)