add test to check reconcile behaviour
This commit is contained in:
parent
5dc7c39f4a
commit
59dee6638e
@ -199,3 +199,42 @@ func TestCleanUp(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestReconcile(t *testing.T) {
|
||||
for _, tc := range []struct {
|
||||
name string
|
||||
appendRules []Rule
|
||||
prependRules []Rule
|
||||
storageOut []Rule
|
||||
}{
|
||||
{
|
||||
name: "append and prepend rules",
|
||||
appendRules: []Rule{appendRules[0], appendRules[1]},
|
||||
prependRules: []Rule{prependRules[0], prependRules[1]},
|
||||
storageOut: []Rule{prependRules[1], prependRules[0], appendRules[0], appendRules[1]},
|
||||
},
|
||||
} {
|
||||
client := &fakeClient{}
|
||||
controller, err := New(WithClients(client, client))
|
||||
if err != nil {
|
||||
t.Fatalf("test case %q: got unexpected error instantiating controller: %v", tc.name, err)
|
||||
}
|
||||
controller.appendRules = tc.appendRules
|
||||
controller.prependRules = tc.prependRules
|
||||
|
||||
err = controller.reconcile()
|
||||
if err != nil {
|
||||
t.Fatalf("test case %q: unexpected error during reconcile: %v", tc.name, err)
|
||||
}
|
||||
|
||||
if len(tc.storageOut) != len(client.storage) {
|
||||
t.Errorf("test case %q: expected %d rules in storage, got %d", tc.name, len(tc.storageOut), len(client.storage))
|
||||
} else {
|
||||
for i := range tc.storageOut {
|
||||
if tc.storageOut[i].String() != client.storage[i].String() {
|
||||
t.Errorf("test case %q: expected rule %d in storage to be equal: expected %v, got %v", tc.name, i, tc.storageOut[i], client.storage[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user