github.com/devcamcar/cli@v0.0.0-20181107134215-706a05759d18/objects/context/context_test.go (about)

     1  package context
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestValidateContextName(t *testing.T) {
     8  	var testsCases = []struct {
     9  		name        string
    10  		expectedErr string
    11  	}{
    12  		{name: "local", expectedErr: ""},
    13  		{name: "Local", expectedErr: ""},
    14  		{name: "local-context", expectedErr: ""},
    15  		{name: "local_context", expectedErr: ""},
    16  		{name: "local1", expectedErr: ""},
    17  		{name: "local-context-1", expectedErr: ""},
    18  		{name: "../local", expectedErr: "Please enter a context name with only Alphanumeric, _, or -"},
    19  		{name: "local?context", expectedErr: "Please enter a context name with only Alphanumeric, _, or -"},
    20  		{name: "context>?", expectedErr: "Please enter a context name with only Alphanumeric, _, or -"},
    21  	}
    22  	for _, tc := range testsCases {
    23  		t.Run(tc.name, func(t *testing.T) {
    24  			errString := ""
    25  			if err := ValidateContextName(tc.name); err != nil {
    26  				errString = err.Error()
    27  			}
    28  			if tc.expectedErr != errString {
    29  				t.Fatalf("Expected %s but got %s", tc.expectedErr, errString)
    30  			}
    31  		})
    32  	}
    33  }
    34  
    35  func TestValidateAPIURL(t *testing.T) {
    36  	var testCases = []struct {
    37  		apiURL      string
    38  		expectedErr string
    39  	}{
    40  		{apiURL: "http://test.com", expectedErr: ""},
    41  		{apiURL: "http://test", expectedErr: ""},
    42  		{apiURL: "test.com", expectedErr: "Invalid Fn API URL: does not contain ://"},
    43  		{apiURL: "http:/test.com", expectedErr: "Invalid Fn API URL: does not contain ://"},
    44  		{apiURL: "://testcom", expectedErr: "Invalid Fn API URL: parse ://testcom: missing protocol scheme"},
    45  	}
    46  	for _, tc := range testCases {
    47  		t.Run(tc.apiURL, func(t *testing.T) {
    48  			errString := ""
    49  			if err := ValidateAPIURL(tc.apiURL); err != nil {
    50  				errString = err.Error()
    51  			}
    52  			if tc.expectedErr != errString {
    53  				t.Fatalf("Expected %s but got %s", tc.expectedErr, errString)
    54  			}
    55  		})
    56  	}
    57  }