|
|
@@ -0,0 +1,44 @@
|
|
|
+package compose
|
|
|
+
|
|
|
+import (
|
|
|
+ "os"
|
|
|
+ "testing"
|
|
|
+
|
|
|
+ . "github.com/onsi/gomega"
|
|
|
+ "github.com/stretchr/testify/suite"
|
|
|
+)
|
|
|
+
|
|
|
+type ComposeTest struct {
|
|
|
+ suite.Suite
|
|
|
+}
|
|
|
+
|
|
|
+func (suite *ComposeTest) TestParseComposeFile() {
|
|
|
+ files := []string{"../tests/composefiles/aci-demo/aci_demo_port.yaml"}
|
|
|
+ config, err := parseConfigs(files)
|
|
|
+ Expect(err).To(BeNil())
|
|
|
+ services := config[0].Config["services"].(map[string]interface{})
|
|
|
+ Expect(len(services)).To(Equal(3))
|
|
|
+}
|
|
|
+
|
|
|
+func (suite *ComposeTest) TestParseComposeStdin() {
|
|
|
+ files := []string{"-"}
|
|
|
+ f, err := os.Open("../tests/composefiles/aci-demo/aci_demo_port.yaml")
|
|
|
+ Expect(err).To(BeNil())
|
|
|
+ defer func() {
|
|
|
+ err := f.Close()
|
|
|
+ Expect(err).To(BeNil())
|
|
|
+ }()
|
|
|
+ oldStdin := os.Stdin
|
|
|
+ defer func() { os.Stdin = oldStdin }() // Restore original Stdin
|
|
|
+
|
|
|
+ os.Stdin = f
|
|
|
+ config, err := parseConfigs(files)
|
|
|
+ Expect(err).To(BeNil())
|
|
|
+ services := config[0].Config["services"].(map[string]interface{})
|
|
|
+ Expect(len(services)).To(Equal(3))
|
|
|
+}
|
|
|
+
|
|
|
+func TestComposeProject(t *testing.T) {
|
|
|
+ RegisterTestingT(t)
|
|
|
+ suite.Run(t, new(ComposeTest))
|
|
|
+}
|