...

Source file src/github.com/linkerd/linkerd2/cli/cmd/range_slice_test.go

Documentation: github.com/linkerd/linkerd2/cli/cmd

     1  package cmd
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  )
     7  
     8  func TestValidateRangeSlice(t *testing.T) {
     9  	assertNoError(t, validateRangeSlice(nil))
    10  	assertNoError(t, validateRangeSlice([]string{}))
    11  	assertNoError(t, validateRangeSlice([]string{"23"}))
    12  	assertNoError(t, validateRangeSlice([]string{"23-23"}))
    13  	assertNoError(t, validateRangeSlice([]string{"25-27"}))
    14  
    15  	assertError(t, validateRangeSlice([]string{""}), "not a valid port")
    16  	assertError(t, validateRangeSlice([]string{"notanumber"}), "not a valid port")
    17  	assertError(t, validateRangeSlice([]string{"not-number"}), "not a valid lower-bound")
    18  	assertError(t, validateRangeSlice([]string{"-23-25"}), "ranges expected as")
    19  	assertError(t, validateRangeSlice([]string{"-23"}), "not a valid lower-bound")
    20  	assertError(t, validateRangeSlice([]string{"25-23"}), "upper-bound must be greater than or equal to")
    21  	assertError(t, validateRangeSlice([]string{"65536"}), "not a valid port")
    22  	assertError(t, validateRangeSlice([]string{"10-65536"}), "not a valid upper-bound")
    23  }
    24  
    25  func assertNoError(t *testing.T, err error) {
    26  	if err != nil {
    27  		t.Fatalf("expected no error; got %s", err)
    28  	}
    29  }
    30  
    31  // assertError confirms that the provided is an error having the provided message.
    32  func assertError(t *testing.T, err error, containing string) {
    33  	if err == nil {
    34  		t.Fatalf("expected error containing '%s' but got nothing", containing)
    35  	}
    36  	if !strings.Contains(err.Error(), containing) {
    37  		t.Fatalf("expected error to contain '%s' but received '%s'", containing, err.Error())
    38  	}
    39  }
    40  

View as plain text