Documentation ¶
Index ¶
- Variables
- func BeforeSuit()
- func Exec(cli string) (string, error)
- func ExecAndTerminate(cli string) (string, error)
- func GetCliBinary() string
- func InteractiveExec(cli string, consoleFn func(*expect.Console)) (string, error)
- func LongTimeExec(cli string, timeout time.Duration) (string, error)
- func LongTimeExecWithEnv(cli string, timeout time.Duration, env []string) (string, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // EnvInitContext used for test Env EnvInitContext = func(context string, envName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should print environment initiation successful message", func() { cli := fmt.Sprintf("vela env init %s", envName) var answer = "default" if envName != "env-application" { answer = "vela-system" } output, err := InteractiveExec(cli, func(c *expect.Console) { data := []struct { q, a string }{ { q: "Would you like to choose an existing namespaces as your env?", a: answer, }, } for _, qa := range data { _, err := c.ExpectString(qa.q) gomega.Expect(err).NotTo(gomega.HaveOccurred()) _, err = c.SendLine(qa.a) gomega.Expect(err).NotTo(gomega.HaveOccurred()) } c.ExpectEOF() }) gomega.Expect(err).NotTo(gomega.HaveOccurred()) expectedOutput := fmt.Sprintf("environment %s with namespace %s created", envName, answer) gomega.Expect(output).To(gomega.ContainSubstring(expectedOutput)) }) }) } EnvInitWithNamespaceOptionContext = func(context string, envName string, namespace string) bool { return ginkgo.Context(context, func() { ginkgo.It("should print environment initiation successful message", func() { cli := fmt.Sprintf("vela env init %s --namespace %s", envName, namespace) output, err := Exec(cli) gomega.Expect(err).NotTo(gomega.HaveOccurred()) expectedOutput := fmt.Sprintf("environment %s with namespace %s created", envName, namespace) gomega.Expect(output).To(gomega.ContainSubstring(expectedOutput)) }) }) } JsonAppFileContext = func(context, jsonAppFile string) bool { return ginkgo.Context(context, func() { ginkgo.It("Start the application through the app file in JSON format.", func() { writeStatus := os.WriteFile("vela.json", []byte(jsonAppFile), 0644) gomega.Expect(writeStatus).NotTo(gomega.HaveOccurred()) output, err := Exec("vela up -f vela.json") gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).NotTo(gomega.ContainSubstring("Error:")) }) }) } JsonAppFileContextWithWait = func(context, jsonAppFile string) bool { return ginkgo.Context(context, func() { ginkgo.It("Start the application through the app file in JSON format.", func() { writeStatus := os.WriteFile("vela.json", []byte(jsonAppFile), 0644) gomega.Expect(writeStatus).NotTo(gomega.HaveOccurred()) output, err := Exec("vela up -f vela.json --wait") gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("Application Deployed Successfully!")) }) }) } JsonAppFileContextWithTimeout = func(context, jsonAppFile, duration string) bool { return ginkgo.Context(context, func() { ginkgo.It("Start the application through the app file in JSON format.", func() { writeStatus := os.WriteFile("vela.json", []byte(jsonAppFile), 0644) gomega.Expect(writeStatus).NotTo(gomega.HaveOccurred()) output, err := Exec("vela up -f vela.json --wait --timeout=" + duration) gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("Timeout waiting Application to be healthy!")) }) }) } DeleteEnvFunc = func(context string, envName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should print env does not exist message", func() { cli := fmt.Sprintf("vela env delete %s", envName) _, err := Exec(cli) gomega.Expect(err).NotTo(gomega.HaveOccurred()) }) }) } EnvShowContext = func(context string, envName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should show detailed environment message", func() { cli := fmt.Sprintf("vela env ls %s", envName) output, err := Exec(cli) gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("NAME")) gomega.Expect(output).To(gomega.ContainSubstring("NAMESPACE")) gomega.Expect(output).To(gomega.ContainSubstring(envName)) }) }) } EnvSetContext = func(context string, envName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should show environment set message", func() { cli := fmt.Sprintf("vela env sw %s", envName) output, err := Exec(cli) gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring(envName)) }) }) } EnvDeleteContext = func(context string, envName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should delete an environment", func() { cli := fmt.Sprintf("vela env delete %s", envName) output, err := Exec(cli) gomega.Expect(err).NotTo(gomega.HaveOccurred()) expectedOutput := fmt.Sprintf("%s deleted", envName) gomega.Expect(output).To(gomega.ContainSubstring(expectedOutput)) }) }) } WorkloadDeleteContext = func(context string, applicationName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should print successful deletion information", func() { cli := fmt.Sprintf("vela delete %s -y", applicationName) output, err := Exec(cli) gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("succeeded")) }) }) } WorkloadCapabilityListContext = func() bool { return ginkgo.Context("list workload capabilities", func() { ginkgo.It("should sync capabilities from cluster before listing workload capabilities", func() { output, err := Exec("vela components") gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("webservice")) }) }) } TraitCapabilityListContext = func() bool { return ginkgo.Context("list traits capabilities", func() { ginkgo.It("should sync capabilities from cluster before listing trait capabilities", func() { output, err := Exec("vela traits") gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("scaler")) }) }) } // ComponentListContext used for test vela svc ls ComponentListContext = func(context string, applicationName string, workloadType string, traitAlias string) bool { return ginkgo.Context("ls", func() { ginkgo.It("should list all applications", func() { output, err := Exec("vela ls") gomega.Expect(err).NotTo(gomega.HaveOccurred()) gomega.Expect(output).To(gomega.ContainSubstring("COMPONENT")) gomega.Expect(output).To(gomega.ContainSubstring(applicationName)) gomega.Expect(output).To(gomega.ContainSubstring(workloadType)) if traitAlias != "" { gomega.Expect(output).To(gomega.ContainSubstring(traitAlias)) } }) }) } ShowCapabilityReference = func(context string, capabilityName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should show capability reference", func() { cli := fmt.Sprintf("vela show %s", capabilityName) _, err := Exec(cli) gomega.Expect(err).Should(gomega.BeNil()) }) }) } ShowCapabilityReferenceMarkdown = func(context string, capabilityName string) bool { return ginkgo.Context(context, func() { ginkgo.It("should show capability reference in markdown", func() { cli := fmt.Sprintf("vela show %s --format=markdown", capabilityName) _, err := Exec(cli) gomega.Expect(err).Should(gomega.BeNil()) }) }) } )
Functions ¶
func BeforeSuit ¶
func BeforeSuit()
func ExecAndTerminate ¶ added in v0.0.9
ExecAndTerminate executes a long-running command and terminate it after 3s
func InteractiveExec ¶ added in v0.0.8
InteractiveExec executes a command with interactive input
func LongTimeExec ¶ added in v0.0.8
LongTimeExec executes a long-running command and wait it exits by itself
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.