dodo: Support Sketch agent
Change-Id: I4dcd6aab7d7a2c2e86aaf1ad8d36d30a649ab31d
diff --git a/core/installer/dodo_app_test.go b/core/installer/dodo_app_test.go
index 22835b6..f81f2f9 100644
--- a/core/installer/dodo_app_test.go
+++ b/core/installer/dodo_app_test.go
@@ -642,3 +642,78 @@
}
t.Log(string(access))
}
+
+const sketch = `
+{
+ "agent": [
+ {
+ "type": "sketch:latest",
+ "name": "dev",
+ "geminiApiKey": "foo",
+ }
+ ],
+}
+`
+
+func TestSketch(t *testing.T) {
+ app, err := NewDodoApp([]byte(sketch))
+ if err != nil {
+ for _, e := range errors.Errors(err) {
+ t.Log(e)
+ }
+ t.Fatal(err)
+ }
+ release := Release{
+ Namespace: "foo",
+ AppInstanceId: "foo-bar",
+ RepoAddr: "ssh://192.168.100.210:22/config",
+ AppDir: "/foo/bar",
+ }
+ keyGen := testKeyGen{}
+ r, err := app.Render(release, env, networks, nil, map[string]any{
+ "managerAddr": "",
+ "appId": "",
+ "geminiApiKey": "dev",
+ }, nil, keyGen)
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Log(string(r.Raw))
+}
+
+const sketchGlobalGeminiApiKey = `
+{
+ "agent": [
+ {
+ "type": "sketch:latest",
+ "name": "dev",
+ }
+ ],
+}
+`
+
+func TestSketchGlobalGeminiApiKey(t *testing.T) {
+ app, err := NewDodoApp([]byte(sketchGlobalGeminiApiKey))
+ if err != nil {
+ for _, e := range errors.Errors(err) {
+ t.Log(e)
+ }
+ t.Fatal(err)
+ }
+ release := Release{
+ Namespace: "foo",
+ AppInstanceId: "foo-bar",
+ RepoAddr: "ssh://192.168.100.210:22/config",
+ AppDir: "/foo/bar",
+ }
+ keyGen := testKeyGen{}
+ r, err := app.Render(release, env, networks, nil, map[string]any{
+ "managerAddr": "",
+ "appId": "",
+ "geminiApiKey": "dev",
+ }, nil, keyGen)
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Log(string(r.Raw))
+}