DodoApp: Support dev virtual machines
Change-Id: Ib7641adb5be477bdde7cd9a06df4b45aa65a1c01
diff --git a/core/installer/app_test.go b/core/installer/app_test.go
index f0f0e64..2987c80 100644
--- a/core/installer/app_test.go
+++ b/core/installer/app_test.go
@@ -63,7 +63,7 @@
func TestAuthProxyEnabled(t *testing.T) {
r := NewInMemoryAppRepository(CreateAllApps())
- for _, app := range []string{"rpuppy", "pi-hole", "url-shortener"} {
+ for _, app := range []string{"rpuppy"} {
a, err := FindEnvApp(r, app)
if err != nil {
t.Fatal(err)
@@ -94,7 +94,7 @@
func TestAuthProxyDisabled(t *testing.T) {
r := NewInMemoryAppRepository(CreateAllApps())
- for _, app := range []string{"rpuppy", "pi-hole", "url-shortener"} {
+ for _, app := range []string{"rpuppy"} {
a, err := FindEnvApp(r, app)
if err != nil {
t.Fatal(err)
@@ -337,11 +337,37 @@
}
}
-//go:embed app_configs/testapp.cue
-var testAppCue []byte
+var dodoAppDevDisabledCue = `
+app: {
+ type: "golang:1.22.0"
+ run: "main.go"
+ ingress: {
+ network: "private"
+ subdomain: "testapp"
+ auth: enabled: false
+ }
+ dev: {
+ enabled: false
+ }
+}`
-func TestPCloudApp(t *testing.T) {
- app, err := NewDodoApp(testAppCue)
+var dodoAppDevEnabledCue = `
+app: {
+ type: "golang:1.22.0"
+ run: "main.go"
+ ingress: {
+ network: "private"
+ subdomain: "testapp"
+ auth: enabled: false
+ }
+ dev: {
+ enabled: true
+ username: "gio"
+ }
+}`
+
+func TestDodoAppDevDisabled(t *testing.T) {
+ app, err := NewDodoApp([]byte(dodoAppDevDisabledCue))
if err != nil {
for _, e := range errors.Errors(err) {
t.Log(e)
@@ -355,15 +381,60 @@
RepoAddr: "ssh://192.168.100.210:22/config",
AppDir: "/foo/bar",
}
- _, err = app.Render(release, env, networks, map[string]any{
- "repoAddr": "",
- "managerAddr": "",
- "appId": "",
- "sshPrivateKey": "",
- }, nil, nil)
+ keyGen := testKeyGen{}
+ r, err := app.Render(release, env, networks, map[string]any{
+ "repoAddr": "",
+ "repoPublicAddr": "",
+ "managerAddr": "",
+ "appId": "",
+ "branch": "",
+ "sshPrivateKey": "",
+ }, nil, keyGen)
if err != nil {
+ for _, e := range errors.Errors(err) {
+ for _, f := range errors.Errors(e) {
+ for _, g := range errors.Errors(f) {
+ t.Log(g)
+ }
+ }
+ }
t.Fatal(err)
}
+ t.Log(string(r.Raw))
+}
+
+func TestDodoAppDevEnabled(t *testing.T) {
+ app, err := NewDodoApp([]byte(dodoAppDevEnabledCue))
+ 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, map[string]any{
+ "repoAddr": "",
+ "repoPublicAddr": "",
+ "managerAddr": "",
+ "appId": "",
+ "branch": "",
+ "sshPrivateKey": "",
+ "username": "",
+ }, nil, keyGen)
+ if err != nil {
+ for _, e := range errors.Errors(err) {
+ t.Log(e)
+ }
+ t.Fatal(err)
+ }
+ t.Log(string(r.Raw))
}
func TestDodoAppInstance(t *testing.T) {
@@ -380,8 +451,11 @@
}
values := map[string]any{
"repoAddr": "",
+ "repoPublicAddr": "",
"repoHost": "",
+ "branch": "",
"gitRepoPublicKey": "",
+ "username": "",
}
rendered, err := a.Render(release, env, networks, values, nil, nil)
if err != nil {