Skip to content

Commit

Permalink
resolver: unit test filtering from cached capture
Browse files Browse the repository at this point in the history
Signed-off-by: Radim Hrazdil <[email protected]>
  • Loading branch information
Radim Hrazdil committed Sep 2, 2022
1 parent d1aefd1 commit 8932d67
Showing 1 changed file with 107 additions and 0 deletions.
107 changes: 107 additions & 0 deletions nmpolicy/internal/resolver/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ func TestFilter(t *testing.T) {
testReplaceCapturedState(t)
testReplaceWithCaptureRef(t)
testReplaceOptionalField(t)
testFilterMultipleFilterCaptureRef(t)
})
}

Expand Down Expand Up @@ -376,6 +377,112 @@ base-iface-routes:
})
}

func testFilterMultipleFilterCaptureRef(t *testing.T) {
t.Run("Replace boolean in filtered list with capture reference", func(t *testing.T) {
testToRun := test{
capturedStatesCache: `
ethernets:
metaInfo:
time: "2021-12-15T13:45:40Z"
version: "0"
state:
interfaces:
- name: eth1
description: "1st ethernet interface"
type: ethernet
state: up
ipv4:
address:
- ip: 10.244.0.1
prefix-length: 24
- ip: 169.254.1.0
prefix-length: 16
dhcp: false
enabled: true
- name: eth2
type: ethernet
state: down
ipv4:
address:
- ip: 1.2.3.4
prefix-length: 24
dhcp: false
enabled: false
`,
captureASTPool: `
ethernets-up:
pos: 1
eqfilter:
- pos: 2
path:
- identity: capture
- identity: ethernets
- pos: 5
path:
- pos: 6
identity: interfaces
- pos: 7
identity: state
- pos: 8
string: up
- pos: 9
path:
- pos: 10
boolean: true
`,

expectedCapturedStates: `
ethernets:
metaInfo:
time: "2021-12-15T13:45:40Z"
version: "0"
state:
interfaces:
- name: eth1
description: "1st ethernet interface"
type: ethernet
state: up
ipv4:
address:
- ip: 10.244.0.1
prefix-length: 24
- ip: 169.254.1.0
prefix-length: 16
dhcp: false
enabled: true
- name: eth2
type: ethernet
state: down
ipv4:
address:
- ip: 1.2.3.4
prefix-length: 24
dhcp: false
enabled: false
ethernets-up:
metaInfo:
time: "2021-12-15T13:45:40Z"
version: "0"
state:
interfaces:
- name: eth1
description: "1st ethernet interface"
type: ethernet
state: up
ipv4:
address:
- ip: 10.244.0.1
prefix-length: 24
- ip: 169.254.1.0
prefix-length: 16
dhcp: false
enabled: true
`,
}
runTest(t, &testToRun)
})
}

func testFilterCaptureRefWithoutCapturedState(t *testing.T) {
t.Run("Filter list with capture reference", func(t *testing.T) {
testToRun := test{
Expand Down

0 comments on commit 8932d67

Please sign in to comment.