vitess.io/vitess@v0.16.2/go/vt/vtorc/inst/instance_utils_test.go (about)

     1  package inst
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  type testPatterns struct {
     8  	s        string
     9  	patterns []string
    10  	expected bool
    11  }
    12  
    13  func TestRegexpMatchPatterns(t *testing.T) {
    14  	patterns := []testPatterns{
    15  		{"hostname", []string{}, false},
    16  		{"hostname", []string{"blah"}, false},
    17  		{"hostname", []string{"blah", "blah"}, false},
    18  		{"hostname", []string{"host", "blah"}, true},
    19  		{"hostname", []string{"blah", "host"}, true},
    20  		{"hostname", []string{"ho.tname"}, true},
    21  		{"hostname", []string{"ho.tname2"}, false},
    22  		{"hostname", []string{"ho.*me"}, true},
    23  	}
    24  
    25  	for _, p := range patterns {
    26  		if match := RegexpMatchPatterns(p.s, p.patterns); match != p.expected {
    27  			t.Errorf("RegexpMatchPatterns failed with: %q, %+v, got: %+v, expected: %+v", p.s, p.patterns, match, p.expected)
    28  		}
    29  	}
    30  }