github.com/cloudfoundry-community/cloudfoundry-cli@v6.44.1-0.20240130060226-cda5ed8e89a5+incompatible/integration/helpers/config.go (about)

     1  package helpers
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"path/filepath"
     8  
     9  	"code.cloudfoundry.org/cli/util/configv3"
    10  
    11  	. "github.com/onsi/ginkgo"
    12  	. "github.com/onsi/gomega"
    13  )
    14  
    15  func TurnOffColors() {
    16  	Expect(os.Setenv("CF_COLOR", "false")).To(Succeed())
    17  }
    18  
    19  func TurnOnExperimental() {
    20  	Expect(os.Setenv("CF_CLI_EXPERIMENTAL", "true")).To(Succeed())
    21  }
    22  
    23  func TurnOffExperimental() {
    24  	Expect(os.Unsetenv("CF_CLI_EXPERIMENTAL")).To(Succeed())
    25  }
    26  
    27  func TurnOnExperimentalLogin() {
    28  	Expect(os.Setenv("CF_EXPERIMENTAL_LOGIN", "true")).To(Succeed())
    29  }
    30  
    31  func TurnOffExperimentalLogin() {
    32  	Expect(os.Unsetenv("CF_EXPERIMENTAL_LOGIN")).To(Succeed())
    33  }
    34  
    35  func SetHomeDir() string {
    36  	var err error
    37  	homeDir, err := ioutil.TempDir("", "cli-integration-test")
    38  	Expect(err).NotTo(HaveOccurred())
    39  
    40  	Expect(os.Setenv("CF_HOME", homeDir)).To(Succeed())
    41  	Expect(os.Setenv("CF_PLUGIN_HOME", homeDir)).To(Succeed())
    42  
    43  	GinkgoWriter.Write([]byte(fmt.Sprintln("\nHOME DIR>", homeDir)))
    44  	return homeDir
    45  }
    46  
    47  func SetupSynchronizedSuite(setup func()) {
    48  	homeDir := SetHomeDir()
    49  	SetAPI()
    50  	LoginCF()
    51  	setup()
    52  	DestroyHomeDir(homeDir)
    53  }
    54  
    55  func DestroyHomeDir(homeDir string) {
    56  	if homeDir != "" {
    57  		Expect(os.RemoveAll(homeDir)).To(Succeed())
    58  	}
    59  }
    60  
    61  func GetConfig() *configv3.Config {
    62  	c, err := configv3.LoadConfig()
    63  	Expect(err).ToNot(HaveOccurred())
    64  	return c
    65  }
    66  
    67  func SetConfig(cb func(conf *configv3.Config)) {
    68  	config, err := configv3.LoadConfig()
    69  	Expect(err).ToNot(HaveOccurred())
    70  
    71  	cb(config)
    72  
    73  	err = configv3.WriteConfig(config)
    74  	Expect(err).ToNot(HaveOccurred())
    75  }
    76  
    77  func SetConfigContent(dir string, rawConfig string) {
    78  	err := os.MkdirAll(filepath.Join(dir), 0777)
    79  	Expect(err).ToNot(HaveOccurred())
    80  	err = ioutil.WriteFile(filepath.Join(dir, "config.json"), []byte(rawConfig), 0644)
    81  	Expect(err).ToNot(HaveOccurred())
    82  }
    83  
    84  func ExpiredAccessToken() string {
    85  	return "bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJiMjZmMTFjMWNhYmI0ZmY0ODhlN2RhYTJkZTQxMTA4NiIsInN1YiI6IjBjZWMwY2E4LTA5MmYtNDkzYy1hYmExLWM4ZTZiMTRiODM3NiIsInNjb3BlIjpbIm9wZW5pZCIsInJvdXRpbmcucm91dGVyX2dyb3Vwcy53cml0ZSIsInNjaW0ucmVhZCIsImNsb3VkX2NvbnRyb2xsZXIuYWRtaW4iLCJ1YWEudXNlciIsInJvdXRpbmcucm91dGVyX2dyb3Vwcy5yZWFkIiwiY2xvdWRfY29udHJvbGxlci5yZWFkIiwicGFzc3dvcmQud3JpdGUiLCJjbG91ZF9jb250cm9sbGVyLndyaXRlIiwiZG9wcGxlci5maXJlaG9zZSIsInNjaW0ud3JpdGUiXSwiY2xpZW50X2lkIjoiY2YiLCJjaWQiOiJjZiIsImF6cCI6ImNmIiwiZ3JhbnRfdHlwZSI6InBhc3N3b3JkIiwidXNlcl9pZCI6IjBjZWMwY2E4LTA5MmYtNDkzYy1hYmExLWM4ZTZiMTRiODM3NiIsIm9yaWdpbiI6InVhYSIsInVzZXJfbmFtZSI6ImFkbWluIiwiZW1haWwiOiJhZG1pbiIsImF1dGhfdGltZSI6MTQ4OTY4Njg0OCwicmV2X3NpZyI6IjgzM2I4N2Q0IiwiaWF0IjoxNDg5Njg2ODQ4LCJleHAiOjE0ODk2ODc0NDgsImlzcyI6Imh0dHBzOi8vdWFhLmJvc2gtbGl0ZS5jb20vb2F1dGgvdG9rZW4iLCJ6aWQiOiJ1YWEiLCJhdWQiOlsic2NpbSIsImNsb3VkX2NvbnRyb2xsZXIiLCJwYXNzd29yZCIsImNmIiwidWFhIiwib3BlbmlkIiwiZG9wcGxlciIsInJvdXRpbmcucm91dGVyX2dyb3VwcyJdfQ.UeWpPsI5GEvhiQ0HzcCno7u80KbceMmnKHxO89saPrnsDOsbC4zwtz9AeEIvuqClXJCzS4WiOfkx7za0yFkR6z4LZlQc6t_9oq9KYMNCavQSsscYvuUXQH0zarvgptqzLU8miO30uFVVfYbRsLnJVu_5A8C1H29Gedky-70irPc1fZm__nFd8UaUyD2aj50B2M_t1lTkZbdzRn-gORhYAMcVUQNc9Mezj04uT9BAA8oKPzkt2yPN4JZddLvetJXjnp6Ug9x9GL1mfQTP7NVAPIVXSV84p8q_3WPOxjNb28dYGYqEfDNZMgu_nV0JSTXCq3l23jDA8ty8tJ_eYYjDBg"
    86  }