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  }