github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/util/manifest/manifest_unix_test.go (about)

     1  // +build !windows
     2  
     3  package manifest_test
     4  
     5  import (
     6  	"io/ioutil"
     7  	"os"
     8  	"path/filepath"
     9  
    10  	. "code.cloudfoundry.org/cli/util/manifest"
    11  
    12  	. "github.com/onsi/ginkgo"
    13  	. "github.com/onsi/gomega"
    14  )
    15  
    16  var _ = Describe("Manifest with paths", func() {
    17  	var (
    18  		pathToManifest string
    19  		manifest       string
    20  	)
    21  
    22  	JustBeforeEach(func() {
    23  		tempFile, err := ioutil.TempFile("", "manifest-test-")
    24  		Expect(err).ToNot(HaveOccurred())
    25  		Expect(tempFile.Close()).ToNot(HaveOccurred())
    26  		pathToManifest = tempFile.Name()
    27  
    28  		err = ioutil.WriteFile(pathToManifest, []byte(manifest), 0666)
    29  		Expect(err).ToNot(HaveOccurred())
    30  	})
    31  
    32  	AfterEach(func() {
    33  		Expect(os.RemoveAll(pathToManifest)).ToNot(HaveOccurred())
    34  	})
    35  
    36  	Describe("ReadAndInterpolateManifest", func() {
    37  		var (
    38  			apps       []Application
    39  			executeErr error
    40  		)
    41  
    42  		JustBeforeEach(func() {
    43  			apps, executeErr = ReadAndInterpolateManifest(pathToManifest, nil, nil)
    44  		})
    45  
    46  		BeforeEach(func() {
    47  			manifest = `---
    48  applications:
    49  - name: "app-1"
    50    path: /foo
    51  - name: "app-2"
    52    path: bar
    53  - name: "app-3"
    54    path: ../baz
    55  `
    56  		})
    57  
    58  		It("reads the manifest file", func() {
    59  			tempDir := filepath.Dir(pathToManifest)
    60  			parentTempDir := filepath.Dir(tempDir)
    61  
    62  			Expect(executeErr).ToNot(HaveOccurred())
    63  			Expect(apps).To(ConsistOf(
    64  				Application{Name: "app-1", Path: "/foo"},
    65  				Application{Name: "app-2", Path: filepath.Join(tempDir, "bar")},
    66  				Application{Name: "app-3", Path: filepath.Join(parentTempDir, "baz")},
    67  			))
    68  		})
    69  	})
    70  })