diff --git a/generator/katenaryfile/main_test.go b/generator/katenaryfile/main_test.go index a92b5ad..12c4997 100644 --- a/generator/katenaryfile/main_test.go +++ b/generator/katenaryfile/main_test.go @@ -21,7 +21,7 @@ func TestOverrideProjectWithKatenaryFile(t *testing.T) { composeContent := ` services: webapp: - image: ngnx:latest + image: nginx:latest ` katenaryfileContent := ` @@ -64,3 +64,56 @@ webapp: t.Fatal("Expected ports to be defined", v) } } + +func TestOverrideProjectWithIngress(t *testing.T) { + composeContent := ` +services: + webapp: + image: nginx:latest +` + + katenaryfileContent := ` +webapp: + ports: + - 80 + ingress: + port: 80 +` + + // create /tmp/katenary-test-override directory, save the compose.yaml file + tmpDir, err := os.MkdirTemp("", "katenary-test-override") + if err != nil { + t.Fatalf(err.Error()) + } + composeFile := filepath.Join(tmpDir, "compose.yaml") + katenaryFile := filepath.Join(tmpDir, "katenary.yaml") + + os.MkdirAll(tmpDir, 0755) + if err := os.WriteFile(composeFile, []byte(composeContent), 0644); err != nil { + t.Log(err) + } + if err := os.WriteFile(katenaryFile, []byte(katenaryfileContent), 0644); err != nil { + t.Log(err) + } + defer os.RemoveAll(tmpDir) + + c, _ := os.ReadFile(composeFile) + log.Println(string(c)) + + // chand dir to this directory + os.Chdir(tmpDir) + options, _ := cli.NewProjectOptions(nil, + cli.WithWorkingDirectory(tmpDir), + cli.WithDefaultConfigPath, + ) + project, err := cli.ProjectFromOptions(options) + + OverrideWithConfig(project) + w := project.Services[0].Labels + if v, ok := w[labels.LabelPorts]; !ok { + t.Fatal("Expected ports to be defined", v) + } + if v, ok := w[labels.LabelIngress]; !ok { + t.Fatal("Expected ingress to be defined", v) + } +}