...

Source file src/edge-infra.dev/test/framework/skipper/skipper_test.go

Documentation: edge-infra.dev/test/framework/skipper

     1  package skipper
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestLabelSkipping(t *testing.T) {
    10  	tcs := map[string]struct {
    11  		labels   map[string]string
    12  		skip     map[string]string
    13  		input    map[string]string
    14  		expected bool
    15  	}{
    16  		"labels": {
    17  			map[string]string{"bear": "apple"},
    18  			nil,
    19  			map[string]string{"bear": "apple", "a": "b"},
    20  			false,
    21  		},
    22  		"labels-skip-simple": {
    23  			map[string]string{"a": "b", "martial-arts": "karate"},
    24  			nil,
    25  			map[string]string{"bear": "apple"},
    26  			true,
    27  		},
    28  		"labels-skip-multiple": {
    29  			map[string]string{"a": "b", "martial-arts": "karate"},
    30  			nil,
    31  			map[string]string{"bear": "apple", "body": "builder"},
    32  			true,
    33  		},
    34  		"labels-skip-multiple-partial": {
    35  			map[string]string{"a": "b", "martial-arts": "karate", "bear": "apple"},
    36  			nil,
    37  			map[string]string{"bear": "apple", "body": "builder"},
    38  			true,
    39  		},
    40  		"labels-multiple": {
    41  			map[string]string{"a": "b", "bear": "apple", "martial-arts": "karate"},
    42  			nil,
    43  			map[string]string{"bear": "apple", "a": "b", "key": "benz",
    44  				"dreaming": "gently", "martial-arts": "karate"},
    45  			false,
    46  		},
    47  		"skip-labels-one-match": {
    48  			nil, map[string]string{"a": "b", "bear": "apple", "martial-arts": "karate"},
    49  			map[string]string{"bear": "apple", "key": "benz", "dreaming": "gently"},
    50  			true,
    51  		},
    52  		"skip-labels-multiple-match": {
    53  			nil, map[string]string{"a": "b", "bear": "apple", "martial-arts": "karate"},
    54  			map[string]string{"bear": "apple", "a": "b", "key": "benz",
    55  				"dreaming": "gently"},
    56  			true,
    57  		},
    58  		"skip-if-no-labels-when": {
    59  			map[string]string{"a": "b", "bear": "apple", "martial-arts": "karate"},
    60  			nil,
    61  			map[string]string{},
    62  			true,
    63  		},
    64  	}
    65  
    66  	for name, tc := range tcs {
    67  		t.Run(name, func(t *testing.T) {
    68  			skip, _ := SkipBasedOnLabels(tc.input, tc.labels, tc.skip)
    69  			assert.Equal(t, tc.expected, skip)
    70  		})
    71  	}
    72  }
    73  

View as plain text