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 })