github.com/olli-ai/jx/v2@v2.0.400-0.20210921045218-14731b4dd448/pkg/kube/namespaces_test.go (about)

     1  // +build unit
     2  
     3  package kube_test
     4  
     5  import (
     6  	"testing"
     7  
     8  	jenkinsio_v1 "github.com/jenkins-x/jx-api/pkg/apis/jenkins.io/v1"
     9  	versiond_mocks "github.com/jenkins-x/jx-api/pkg/client/clientset/versioned/fake"
    10  	"github.com/olli-ai/jx/v2/pkg/kube"
    11  	"github.com/stretchr/testify/assert"
    12  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    13  )
    14  
    15  func TestEnsureDevEnvironmentSetup(t *testing.T) {
    16  	t.Parallel()
    17  
    18  	// mock versiond interface
    19  	versiondInterface := versiond_mocks.NewSimpleClientset()
    20  
    21  	// fixture
    22  	envFixture := &jenkinsio_v1.Environment{
    23  		ObjectMeta: metav1.ObjectMeta{
    24  			Name: kube.LabelValueDevEnvironment,
    25  		},
    26  		Spec: jenkinsio_v1.EnvironmentSpec{
    27  			Namespace:         "jx-testing",
    28  			Label:             "Development",
    29  			PromotionStrategy: jenkinsio_v1.PromotionStrategyTypeNever,
    30  			Kind:              jenkinsio_v1.EnvironmentKindTypeDevelopment,
    31  			TeamSettings: jenkinsio_v1.TeamSettings{
    32  				UseGitOps:           true,
    33  				AskOnCreate:         false,
    34  				QuickstartLocations: kube.DefaultQuickstartLocations,
    35  				PromotionEngine:     jenkinsio_v1.PromotionEngineJenkins,
    36  				AppsRepository:      kube.DefaultChartMuseumURL,
    37  			},
    38  		},
    39  	}
    40  
    41  	env, err := kube.EnsureDevEnvironmentSetup(versiondInterface, "jx-testing")
    42  
    43  	assert.NoError(t, err, "Should not error")
    44  	assert.Equal(t, envFixture.ObjectMeta.Name, env.ObjectMeta.Name)
    45  	assert.Equal(t, envFixture.Spec.Namespace, env.Spec.Namespace)
    46  	assert.Equal(t, envFixture.Spec.Label, env.Spec.Label)
    47  	assert.Equal(t, jenkinsio_v1.PromotionStrategyType("Never"), env.Spec.PromotionStrategy)
    48  	assert.Equal(t, jenkinsio_v1.EnvironmentKindType("Development"), env.Spec.Kind)
    49  	assert.Equal(t, true, env.Spec.TeamSettings.UseGitOps)
    50  	assert.Equal(t, false, env.Spec.TeamSettings.AskOnCreate)
    51  	assert.Equal(t, []jenkinsio_v1.QuickStartLocation{{GitURL: "https://github.com", GitKind: "github", Owner: "jenkins-x-quickstarts", Includes: []string{"*"}, Excludes: []string{"WIP-*"}}}, env.Spec.TeamSettings.QuickstartLocations)
    52  	assert.Equal(t, jenkinsio_v1.PromotionEngineType("Jenkins"), env.Spec.TeamSettings.PromotionEngine)
    53  	assert.Equal(t, envFixture.Spec.TeamSettings.AppsRepository, env.Spec.TeamSettings.AppsRepository)
    54  }