github.com/loggregator/cli@v6.33.1-0.20180224010324-82334f081791+incompatible/util/configv3/write_config_test.go (about)

     1  package configv3_test
     2  
     3  import (
     4  	"encoding/json"
     5  	"io/ioutil"
     6  	"path/filepath"
     7  
     8  	. "code.cloudfoundry.org/cli/util/configv3"
     9  
    10  	. "github.com/onsi/ginkgo"
    11  	. "github.com/onsi/gomega"
    12  )
    13  
    14  var _ = Describe("Config", func() {
    15  	var homeDir string
    16  
    17  	BeforeEach(func() {
    18  		homeDir = setup()
    19  	})
    20  
    21  	AfterEach(func() {
    22  		teardown(homeDir)
    23  	})
    24  
    25  	Describe("WriteConfig", func() {
    26  		var config *Config
    27  
    28  		BeforeEach(func() {
    29  			config = &Config{
    30  				ConfigFile: JSONConfig{
    31  					ConfigVersion: 3,
    32  					Target:        "foo.com",
    33  					ColorEnabled:  "true",
    34  				},
    35  				ENV: EnvOverride{
    36  					CFColor: "false",
    37  				},
    38  			}
    39  		})
    40  
    41  		Context("when no errors are encountered", func() {
    42  			It("writes ConfigFile to homeDir/.cf/config.json", func() {
    43  				err := WriteConfig(config)
    44  				Expect(err).ToNot(HaveOccurred())
    45  
    46  				file, err := ioutil.ReadFile(filepath.Join(homeDir, ".cf", "config.json"))
    47  				Expect(err).ToNot(HaveOccurred())
    48  
    49  				var writtenCFConfig JSONConfig
    50  				err = json.Unmarshal(file, &writtenCFConfig)
    51  				Expect(err).ToNot(HaveOccurred())
    52  
    53  				Expect(writtenCFConfig.ConfigVersion).To(Equal(config.ConfigFile.ConfigVersion))
    54  				Expect(writtenCFConfig.Target).To(Equal(config.ConfigFile.Target))
    55  				Expect(writtenCFConfig.ColorEnabled).To(Equal(config.ConfigFile.ColorEnabled))
    56  			})
    57  		})
    58  	})
    59  })