diff --git a/internal/agent/agent_suite_test.go b/internal/agent/agent_suite_test.go new file mode 100644 index 0000000..6d376e8 --- /dev/null +++ b/internal/agent/agent_suite_test.go @@ -0,0 +1,13 @@ +package agent_test + +import ( + "testing" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestConfig(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Agent Suite") +} diff --git a/internal/agent/agent_test.go b/internal/agent/agent_test.go new file mode 100644 index 0000000..b04a04e --- /dev/null +++ b/internal/agent/agent_test.go @@ -0,0 +1,53 @@ +package agent_test + +import ( + "fmt" + "io/ioutil" + "os" + "path/filepath" + + . "github.com/kairos-io/kairos/internal/agent" + "github.com/kairos-io/kairos/internal/bus" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +const testProvider = `#!/bin/bash +event="$1" +payload=$(> exec.log +echo "{}" +` + +var _ = Describe("Bootstrap provider", func() { + Context("Config", func() { + It("gets entire content", func() { + f, err := ioutil.TempDir("", "tests") + Expect(err).ToNot(HaveOccurred()) + defer os.RemoveAll(f) + + wd, _ := os.Getwd() + fmt.Println(wd) + os.WriteFile(filepath.Join(wd, "agent-provider-test"), []byte(testProvider), 0655) + + defer os.RemoveAll(filepath.Join(wd, "agent-provider-test")) + + err = os.WriteFile(filepath.Join(f, "test.config.yaml"), []byte(` +doo: bar`), 0655) + Expect(err).ToNot(HaveOccurred()) + + bus.Manager.Initialize() + err = Run(WithDirectory(f)) + + Expect(err).ToNot(HaveOccurred()) + + dat, err := os.ReadFile(filepath.Join(wd, "exec.log")) + Expect(err).ToNot(HaveOccurred()) + + fmt.Println(string(dat)) + Expect(string(dat)).To(ContainSubstring("Received"), string(dat)) + Expect(string(dat)).To(ContainSubstring("doo: bar"), string(dat)) + }) + }) +})