summaryrefslogtreecommitdiff
path: root/internal/api
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-07 23:51:04 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-08 04:52:10 +0000
commit877da0a4cab46eab33148e0d331167edb46d521f (patch)
tree5b03fdef1ec311f4373cbe89c2e5b142b1dcde03 /internal/api
parent83d750c4eda658fda693c1be492a674322b058d2 (diff)
test(api): update server_test.go to use AgentConfig and multiple runners
Diffstat (limited to 'internal/api')
-rw-r--r--internal/api/server_test.go21
1 files changed, 13 insertions, 8 deletions
diff --git a/internal/api/server_test.go b/internal/api/server_test.go
index e012bc1..b0ccb4a 100644
--- a/internal/api/server_test.go
+++ b/internal/api/server_test.go
@@ -29,8 +29,12 @@ func testServer(t *testing.T) (*Server, *storage.DB) {
logger := slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelError}))
runner := &mockRunner{}
- pool := executor.NewPool(2, runner, store, logger)
- srv := NewServer(store, pool, logger, "claude")
+ runners := map[string]executor.Runner{
+ "claude": runner,
+ "gemini": runner,
+ }
+ pool := executor.NewPool(2, runners, store, logger)
+ srv := NewServer(store, pool, logger, "claude", "gemini")
return srv, store
}
@@ -63,7 +67,8 @@ func TestCreateTask_Success(t *testing.T) {
payload := `{
"name": "API Task",
"description": "Created via API",
- "claude": {
+ "agent": {
+ "type": "claude",
"instructions": "do the thing",
"model": "sonnet"
},
@@ -105,7 +110,7 @@ func TestCreateTask_InvalidJSON(t *testing.T) {
func TestCreateTask_ValidationFailure(t *testing.T) {
srv, _ := testServer(t)
- payload := `{"name": "", "claude": {"instructions": ""}}`
+ payload := `{"name": "", "agent": {"type": "claude", "instructions": ""}}`
req := httptest.NewRequest("POST", "/api/tasks", bytes.NewBufferString(payload))
w := httptest.NewRecorder()
srv.Handler().ServeHTTP(w, req)
@@ -152,7 +157,7 @@ func TestListTasks_WithTasks(t *testing.T) {
for i := 0; i < 3; i++ {
tk := &task.Task{
ID: fmt.Sprintf("lt-%d", i), Name: fmt.Sprintf("T%d", i),
- Claude: task.ClaudeConfig{Instructions: "x"}, Priority: task.PriorityNormal,
+ Agent: task.AgentConfig{Type: "claude", Instructions: "x"}, Priority: task.PriorityNormal,
Retry: task.RetryConfig{MaxAttempts: 1, Backoff: "linear"},
Tags: []string{}, DependsOn: []string{}, State: task.StatePending,
}
@@ -175,7 +180,7 @@ func createTaskWithState(t *testing.T, store *storage.DB, id string, state task.
tk := &task.Task{
ID: id,
Name: "test-task-" + id,
- Claude: task.ClaudeConfig{Instructions: "do something"},
+ Agent: task.AgentConfig{Type: "claude", Instructions: "do something"},
Priority: task.PriorityNormal,
Retry: task.RetryConfig{MaxAttempts: 1, Backoff: "linear"},
Tags: []string{}, DependsOn: []string{}, State: task.StatePending,
@@ -547,7 +552,7 @@ func TestDeleteTask_Success(t *testing.T) {
srv, store := testServer(t)
// Create a task to delete.
- created := createTestTask(t, srv, `{"name":"Delete Me","claude":{"instructions":"x","model":"sonnet"}}`)
+ created := createTestTask(t, srv, `{"name":"Delete Me","agent":{"type":"claude","instructions":"x","model":"sonnet"}}`)
req := httptest.NewRequest("DELETE", "/api/tasks/"+created.ID, nil)
w := httptest.NewRecorder()
@@ -578,7 +583,7 @@ func TestDeleteTask_NotFound(t *testing.T) {
func TestDeleteTask_RunningTaskRejected(t *testing.T) {
srv, store := testServer(t)
- created := createTestTask(t, srv, `{"name":"Running Task","claude":{"instructions":"x","model":"sonnet"}}`)
+ created := createTestTask(t, srv, `{"name":"Running Task","agent":{"type":"claude","instructions":"x","model":"sonnet"}}`)
store.UpdateTaskState(created.ID, "RUNNING")
req := httptest.NewRequest("DELETE", "/api/tasks/"+created.ID, nil)