Add unit tests for all interface/sub-interface failure modes
This commit is contained in:
12
unittest/error-interface-mtu1.yaml
Normal file
12
unittest/error-interface-mtu1.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
test:
|
||||
description: "MTU too small on one interface, too large on another"
|
||||
errors:
|
||||
expected:
|
||||
- "mtu.*less than 128"
|
||||
- "mtu.*greater than 9216"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
mtu: 9217
|
||||
GigabitEthernet1/0/1:
|
||||
mtu: 127
|
12
unittest/error-interface-mtu2.yaml
Normal file
12
unittest/error-interface-mtu2.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
test:
|
||||
description: "MTU of sub-interfaces cannot be higher than their parent"
|
||||
errors:
|
||||
expected:
|
||||
- "sub-interface .* has MTU 9001 higher than parent MTU 9000"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
mtu: 9000
|
||||
sub-interfaces:
|
||||
100:
|
||||
mtu: 9001
|
17
unittest/error-subinterface1.yaml
Normal file
17
unittest/error-subinterface1.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
test:
|
||||
description: "Two subinterfaces can't have the same encapsulation"
|
||||
errors:
|
||||
expected:
|
||||
- "100 .* unique encapsulation"
|
||||
- "101 .* unique encapsulation"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
sub-interfaces:
|
||||
100:
|
||||
description: "VLAN 100"
|
||||
101:
|
||||
description: "Another VLAN 100"
|
||||
encapsulation:
|
||||
dot1q: 100
|
||||
|
13
unittest/error-subinterface2.yaml
Normal file
13
unittest/error-subinterface2.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
test:
|
||||
description: "A subinterface cannot have an LCP if the parent doesn't have one"
|
||||
errors:
|
||||
expected:
|
||||
- "sub-interface .* has LCP but .* does not have LCP"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
sub-interfaces:
|
||||
100:
|
||||
description: "VLAN 100"
|
||||
lcp: "foo.100"
|
||||
|
13
unittest/error-subinterface3.yaml
Normal file
13
unittest/error-subinterface3.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
test:
|
||||
description: "The length of the LCP name is too long"
|
||||
errors:
|
||||
expected:
|
||||
- "Length .* is greater than 8"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
lcp: "e01234567"
|
||||
sub-interfaces:
|
||||
100:
|
||||
description: "VLAN 100"
|
||||
|
17
unittest/error-subinterface4.yaml
Normal file
17
unittest/error-subinterface4.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
test:
|
||||
description: "The length of the generated child LCP name is too long"
|
||||
errors:
|
||||
expected:
|
||||
- "sub-interface .* has LCP with too long name"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
lcp: "e01234"
|
||||
sub-interfaces:
|
||||
100:
|
||||
description: "QinQ subinterface"
|
||||
addresses: [ 192.0.2.1/24 ]
|
||||
encapsulation:
|
||||
dot1q: 1234
|
||||
inner-dot1q: 2345
|
||||
|
17
unittest/error-subinterface5.yaml
Normal file
17
unittest/error-subinterface5.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
test:
|
||||
description: "Sub-interface with addresses must have an LCP. Gi1/0/0 does this wrong, while Gi2/0/0 does it correctly"
|
||||
errors:
|
||||
expected:
|
||||
- "sub-interface .* has address.* but .* does not have LCP"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
sub-interfaces:
|
||||
100:
|
||||
addresses: [ 192.0.2.1/24 ]
|
||||
GigabitEthernet2/0/0:
|
||||
lcp: "xe2-0-0"
|
||||
sub-interfaces:
|
||||
100:
|
||||
addresses: [ 192.0.2.1/24 ]
|
||||
|
20
unittest/error-subinterface6.yaml
Normal file
20
unittest/error-subinterface6.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
test:
|
||||
description: "A bunch of sub-interfaces with incorrect encapsulation"
|
||||
errors:
|
||||
expected:
|
||||
- "has invalid encapsulation"
|
||||
count: 2
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
sub-interfaces:
|
||||
100:
|
||||
encapsulation:
|
||||
## Cannot have both dot1q and dot1ad
|
||||
dot1q: 100
|
||||
dot1ad: 100
|
||||
101:
|
||||
encapsulation:
|
||||
## Missing dot1q or dot1ad
|
||||
inner-dot1q: 100
|
||||
|
10
unittest/error-subinterface7.yaml
Normal file
10
unittest/error-subinterface7.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
test:
|
||||
description: "A completely empty sub-interface is not allowed"
|
||||
errors:
|
||||
expected:
|
||||
- "sub-interface .* has no config"
|
||||
---
|
||||
interfaces:
|
||||
GigabitEthernet1/0/0:
|
||||
sub-interfaces:
|
||||
100: {}
|
Reference in New Issue
Block a user