MCPcopy Create free account
hub / github.com/NVIDIA/gpu-operator / TestCheckNodeSelector

Function TestCheckNodeSelector

internal/validator/validator_test.go:96–130  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

94}
95
96func TestCheckNodeSelector(t *testing.T) {
97 node := makeTestNode(labelled(map[string]string{"os-version": "ubuntu20.04"}))
98 driver := makeTestDriver(nodeSelector(node.Labels))
99 conflictingDriver := makeTestDriver(named("conflictingDriver"), nodeSelector(node.Labels))
100 nonconflictingDriver := makeTestDriver(named("nonconflictingDriver"))
101
102 tests := []struct {
103 node *corev1.Node
104 existingDriver *nvidiav1alpha1.NVIDIADriver
105 requestedDriver *nvidiav1alpha1.NVIDIADriver
106 shouldError bool
107 }{
108 {node: node, existingDriver: driver, requestedDriver: conflictingDriver, shouldError: true},
109 {node: node, existingDriver: driver, requestedDriver: nonconflictingDriver, shouldError: false},
110 }
111
112 for _, tc := range tests {
113 s := scheme.Scheme
114 err := nvidiav1alpha1.AddToScheme(s)
115 require.NoError(t, err)
116 c := fake.
117 NewClientBuilder().
118 WithScheme(s).
119 WithObjects(tc.node, tc.existingDriver, tc.requestedDriver).
120 Build()
121 nsv := NewNodeSelectorValidator(c)
122
123 err = nsv.Validate(context.Background(), tc.requestedDriver)
124 if tc.shouldError {
125 assert.Error(t, err)
126 } else {
127 assert.NoError(t, err)
128 }
129 }
130}

Callers

nothing calls this directly

Calls 9

makeTestNodeFunction · 0.85
labelledFunction · 0.85
makeTestDriverFunction · 0.85
nodeSelectorFunction · 0.85
namedFunction · 0.85
NewNodeSelectorValidatorFunction · 0.85
ErrorMethod · 0.80
ValidateMethod · 0.65
BuildMethod · 0.45

Tested by

no test coverage detected