github.com/jenkins-x/jx/v2@v2.1.155/pkg/kube/env_modify_namespace_integration_test.go (about) 1 // +build integration 2 3 package kube_test 4 5 import ( 6 "io/ioutil" 7 "os" 8 "path" 9 "path/filepath" 10 "testing" 11 12 "github.com/jenkins-x/jx/v2/pkg/cmd/testhelpers" 13 14 "github.com/jenkins-x/jx/v2/pkg/gits" 15 "github.com/jenkins-x/jx/v2/pkg/kube" 16 "github.com/jenkins-x/jx/v2/pkg/tests" 17 "github.com/jenkins-x/jx/v2/pkg/util" 18 "github.com/stretchr/testify/assert" 19 ) 20 21 func TestEnvModifyNamespace(t *testing.T) { 22 originalKubeCfg, tempKubeCfg, err := testhelpers.CreateTestKubeConfigDir() 23 assert.NoError(t, err) 24 defer func() { 25 err := testhelpers.CleanupTestKubeConfigDir(originalKubeCfg, tempKubeCfg) 26 assert.NoError(t, err) 27 }() 28 tempDir, err := ioutil.TempDir("", "test-env-modify-namespace") 29 assert.NoError(t, err) 30 31 testData := path.Join("test_data", "env_modify_namespace") 32 _, err = os.Stat(testData) 33 assert.NoError(t, err) 34 35 files, err := ioutil.ReadDir(testData) 36 assert.NoError(t, err) 37 38 for _, f := range files { 39 if !f.IsDir() { 40 name := f.Name() 41 srcDir := filepath.Join(testData, name) 42 testDir := filepath.Join(tempDir, name) 43 util.CopyFile(srcDir, testDir) 44 45 } 46 } 47 48 git := gits.NewGitCLI() 49 err = git.Init(tempDir) 50 assert.NoError(t, err) 51 52 testNs := "jx-staging" 53 54 env := kube.NewPermanentEnvironment("jx") 55 env.Spec.Namespace = testNs 56 57 err = kube.ModifyNamespace(os.Stdout, tempDir, env, git, nil) 58 assert.NoError(t, err) 59 60 tests.AssertFileContains(t, filepath.Join(tempDir, "Makefile"), `NAMESPACE := "`+testNs+`"`) 61 tests.AssertFileContains(t, filepath.Join(tempDir, "Jenkinsfile"), `DEPLOY_NAMESPACE = "`+testNs+`"`) 62 }