nandi/oripublic Fork 0
00224b167266e7d496672adfe1e60fcffeab7e63
Commits
Clone
git clone https://git.rickub.com/nandi/ori.git
git clone ssh://git@rickub.com/nandi/ori.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

forked from bots-garden/ori

config_test.go · 98 lines · 3.1 KBGo Blame HistoryRaw
✨ Introduce new feature(s): ACP web client — Go backend (agent, bridge, httpserver, mockagent) + React SPA (Zed-like agent panel), tests, quality gate PASS 2434cc7 k33g yesterday1package config_test
2
3import (
4 "fmt"
5 "log"
6 "os"
7 "strings"
8 "testing"
9
✨ Workspace panel, selectors, previews, desktop app, sandbox template, resizable file tree, light/dark theme 76d62ac k33g yesterday10 "rickub.com/bots-garden/ori/internal/config"
✨ Introduce new feature(s): ACP web client — Go backend (agent, bridge, httpserver, mockagent) + React SPA (Zed-like agent panel), tests, quality gate PASS 2434cc7 k33g yesterday11)
12
13func TestFromArgsDefaults(t *testing.T) {
14 cfg, err := config.FromArgs(nil)
15 if err != nil {
16 t.Fatalf("FromArgs(nil) returned an error: %v", err)
17 }
18 if cfg.Addr != ":8888" {
19 t.Errorf("default Addr = %q, want %q", cfg.Addr, ":8888")
20 }
21 wd, _ := os.Getwd()
22 if cfg.Cwd != wd {
23 t.Errorf("default Cwd = %q, want current directory %q", cfg.Cwd, wd)
24 }
25 want := strings.Fields(config.DefaultAgentCommand)
26 if strings.Join(cfg.AgentCommand, " ") != strings.Join(want, " ") {
27 t.Errorf("default AgentCommand = %v, want %v", cfg.AgentCommand, want)
28 }
29}
30
31func TestFromArgsOverrides(t *testing.T) {
32 dir := t.TempDir()
33 cfg, err := config.FromArgs([]string{"--addr", ":9000", "--cwd", dir, "--agent-cmd", "gemini --experimental-acp"})
34 if err != nil {
35 t.Fatalf("FromArgs returned an error: %v", err)
36 }
37 if cfg.Addr != ":9000" {
38 t.Errorf("Addr = %q, want %q", cfg.Addr, ":9000")
39 }
40 if cfg.Cwd != dir {
41 t.Errorf("Cwd = %q, want %q", cfg.Cwd, dir)
42 }
43 if len(cfg.AgentCommand) != 2 || cfg.AgentCommand[0] != "gemini" || cfg.AgentCommand[1] != "--experimental-acp" {
44 t.Errorf("AgentCommand = %v, want [gemini --experimental-acp]", cfg.AgentCommand)
45 }
46}
47
48func TestFromArgsRejectsEmptyAgentCommand(t *testing.T) {
49 if _, err := config.FromArgs([]string{"--agent-cmd", " "}); err == nil {
50 t.Fatal("FromArgs accepted an empty --agent-cmd, want an error")
51 }
52}
53
54func TestFromArgsRejectsMissingCwd(t *testing.T) {
55 if _, err := config.FromArgs([]string{"--cwd", "/does/not/exist"}); err == nil {
56 t.Fatal("FromArgs accepted a non-existent --cwd, want an error")
57 }
58}
59
60func TestFromArgsRejectsFileAsCwd(t *testing.T) {
61 file := t.TempDir() + "/plain-file"
62 if err := os.WriteFile(file, []byte("x"), 0o644); err != nil {
63 t.Fatal(err)
64 }
65 if _, err := config.FromArgs([]string{"--cwd", file}); err == nil {
66 t.Fatal("FromArgs accepted a plain file as --cwd, want an error")
67 }
68}
69
70func TestFromArgsRejectsUnknownFlag(t *testing.T) {
71 if _, err := config.FromArgs([]string{"--nope"}); err == nil {
72 t.Fatal("FromArgs accepted an unknown flag, want an error")
73 }
74}
75
76func ExampleFromArgs() {
77 cfg, err := config.FromArgs([]string{"--addr", ":9000"})
78 if err != nil {
79 log.Fatal(err)
80 }
81 fmt.Println(cfg.Addr)
82 // Output: :9000
83}
✨ Switch the ACP adapter to @agentclientprotocol/claude-agent-acp (template 0.0.2) 5d476ff k33g 20h ago84
85// TestDefaultAgentCommandIsClaudeAgentACP pins the adapter ori spawns by default.
86// The Zed adapter (@zed-industries/claude-code-acp) bundles a Claude Code CLI
87// too old for current models (2.1.44 < 2.1.251 required); the Agent Client
88// Protocol adapter ships a current CLI through its SDK. A change here must be
89// deliberate and mirrored in template/Dockerfile and kits/ori/spec.yaml.
90func TestDefaultAgentCommandIsClaudeAgentACP(t *testing.T) {
91 const want = "npx -y @agentclientprotocol/claude-agent-acp"
92 if config.DefaultAgentCommand != want {
93 t.Errorf("DefaultAgentCommand = %q, want %q", config.DefaultAgentCommand, want)
94 }
95 if strings.Contains(config.DefaultAgentCommand, "zed-industries") {
96 t.Errorf("DefaultAgentCommand still points at the Zed adapter: %q", config.DefaultAgentCommand)
97 }
98}