github.com/wanddynosios/cli/v8@v8.7.9-0.20240221182337-1a92e3a7017f/util/manifest/manifest_unix_test.go (about)

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