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  }