github.com/jenkins-x/jx/v2@v2.1.155/pkg/cloud/gke/helper_test.go (about) 1 // +build unit 2 3 package gke_test 4 5 import ( 6 "testing" 7 8 "github.com/jenkins-x/jx/v2/pkg/cloud/gke" 9 ) 10 11 func TestParseContext(t *testing.T) { 12 type args struct { 13 context string 14 } 15 tests := []struct { 16 name string 17 args args 18 want string 19 want1 string 20 want2 string 21 wantErr bool 22 }{ 23 { 24 name: "facelie", 25 args: args{ 26 context: "gke_apps-dev-229310_europe-west1-b_facelie", 27 }, 28 want: "apps-dev-229310", 29 want1: "europe-west1-b", 30 want2: "facelie", 31 }, 32 { 33 name: "tekton-mole", 34 args: args{ 35 context: "gke_jenkins-x-infra_europe-west1-c_tekton-mole", 36 }, 37 want: "jenkins-x-infra", 38 want1: "europe-west1-c", 39 want2: "tekton-mole", 40 }, 41 { 42 name: "malformed", 43 args: args{ 44 context: "gke_jenkins_x_infra_europe-west1-c_tekton-mole", 45 }, 46 wantErr: true, 47 }, 48 } 49 for _, tt := range tests { 50 t.Run(tt.name, func(t *testing.T) { 51 got, got1, got2, err := gke.ParseContext(tt.args.context) 52 if (err != nil) != tt.wantErr { 53 t.Errorf("ParseContext() error = %v, wantErr %v", err, tt.wantErr) 54 return 55 } 56 if got != tt.want { 57 t.Errorf("ParseContext() got = %v, want %v", got, tt.want) 58 } 59 if got1 != tt.want1 { 60 t.Errorf("ParseContext() got1 = %v, want %v", got1, tt.want1) 61 } 62 if got2 != tt.want2 { 63 t.Errorf("ParseContext() got2 = %v, want %v", got2, tt.want2) 64 } 65 }) 66 } 67 }