mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-31 21:13:00 +02:00
Fixing typos and other minor issues on test spec
[skip ci]
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
=== USB configuration
|
||||
==== Description
|
||||
This will test if the configuration is consistent with hardware state,
|
||||
if the USB ports are _locked_ (forbidden for use) and _unlocked_
|
||||
(Ready for use) when they should. Also test if it is the case during
|
||||
reboot. This does not the test actual use of the USB port, just check
|
||||
This tests if the configuration is consistent with hardware state,
|
||||
and if the USB ports are _locked_ (forbidden for use) and _unlocked_
|
||||
(Ready for use) when they should. Also tests if this is the case during
|
||||
reboot. This does not the test actual use of the USB port, it just checks
|
||||
that the configured state is consistent with the hardware state.
|
||||
|
||||
If this pass you can be certeain of that the configuration of the USB
|
||||
If this pass you can be certain of that the configuration of the USB
|
||||
port is handled correctly.
|
||||
|
||||
==== Topology
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"""
|
||||
USB configuration
|
||||
|
||||
This will test if the configuration is consistent with hardware state,
|
||||
if the USB ports are _locked_ (forbidden for use) and _unlocked_
|
||||
(Ready for use) when they should. Also test if it is the case during
|
||||
reboot. This does not the test actual use of the USB port, just check
|
||||
This tests if the configuration is consistent with hardware state,
|
||||
and if the USB ports are _locked_ (forbidden for use) and _unlocked_
|
||||
(Ready for use) when they should. Also tests if this is the case during
|
||||
reboot. This does not the test actual use of the USB port, it just checks
|
||||
that the configured state is consistent with the hardware state.
|
||||
|
||||
If this pass you can be certeain of that the configuration of the USB
|
||||
If this pass you can be certain of that the configuration of the USB
|
||||
port is handled correctly.
|
||||
"""
|
||||
import infamy
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== USB configuration with two USB ports
|
||||
==== Description
|
||||
Test that the configuration is consistent
|
||||
Test that the USB locked/unlocked configuration is consistent
|
||||
when having two USB ports.
|
||||
|
||||
==== Topology
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"""
|
||||
USB configuration with two USB ports
|
||||
|
||||
Test that the configuration is consistent
|
||||
Test that the USB locked/unlocked configuration is consistent
|
||||
when having two USB ports.
|
||||
"""
|
||||
import infamy
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== Bridge forwarding dual DUTs
|
||||
==== Description
|
||||
Ping through two bridges on two different DUTs,
|
||||
Ping through two bridges on two different DUTs.
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"""
|
||||
Bridge forwarding dual DUTs
|
||||
|
||||
Ping through two bridges on two different DUTs,
|
||||
Ping through two bridges on two different DUTs.
|
||||
"""
|
||||
import infamy
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== Bridge VLAN separation
|
||||
==== Description
|
||||
Test that two VLAN is correctly separated in the bridge
|
||||
Test that two VLANs are correctly separated in the bridge
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
@@ -17,8 +17,8 @@ endif::topdoc[]
|
||||
==== Test sequence
|
||||
. Initialize
|
||||
. Configure DUTs
|
||||
. Verify ing 10.0.0.3 from host:data10
|
||||
. Verify ing 10.0.0.4 from host:data11
|
||||
. Verify ping 10.0.0.3 from host:data10
|
||||
. Verify ping 10.0.0.4 from host:data11
|
||||
. Verify ping not possible host:data10->10.0.0.4, host:data11->10.0.0.3, host:data10->10.0.0.2, host:data11->10.0.0.1
|
||||
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"""
|
||||
Bridge VLAN separation
|
||||
|
||||
Test that two VLAN is correctly separated in the bridge
|
||||
Test that two VLANs are correctly separated in the bridge
|
||||
"""
|
||||
import infamy
|
||||
|
||||
@@ -153,10 +153,10 @@ with infamy.Test() as test:
|
||||
ns20.addip("10.0.0.3")
|
||||
ns21.addip("10.0.0.4")
|
||||
|
||||
with test.step("Verify ing 10.0.0.3 from host:data10"):
|
||||
with test.step("Verify ping 10.0.0.3 from host:data10"):
|
||||
ns10.must_reach("10.0.0.3")
|
||||
|
||||
with test.step("Verify ing 10.0.0.4 from host:data11"):
|
||||
with test.step("Verify ping 10.0.0.4 from host:data11"):
|
||||
ns11.must_reach("10.0.0.4")
|
||||
|
||||
with test.step("Verify ping not possible host:data10->10.0.0.4, host:data11->10.0.0.3, host:data10->10.0.0.2, host:data11->10.0.0.1"):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== Dual bridges
|
||||
==== Description
|
||||
Test that it is possible to ping a bridge through a bridge to another bridge with VETH interfaces.
|
||||
Test that it is possible to ping through a bridge to another bridge via VETH interfaces.
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"""
|
||||
Dual bridges
|
||||
|
||||
Test that it is possible to ping a bridge through a bridge to another bridge with VETH interfaces.
|
||||
Test that it is possible to ping through a bridge to another bridge via VETH interfaces.
|
||||
"""
|
||||
import infamy
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== Interface with IPv4
|
||||
==== Description
|
||||
Test that it is possible to set and remove the IPv4 address on a interface
|
||||
Test that it is possible to set and remove the IPv4 address on an interface
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
@@ -17,7 +17,7 @@ endif::topdoc[]
|
||||
==== Test sequence
|
||||
. Set up topology and attach to target DUT
|
||||
. Configure IPv4 address 10.10.10.20/24 on target:mgmt
|
||||
. Verify '10.10.10.20/24' exist on target:mgmt
|
||||
. Verify '10.10.10.20/24' exists on target:mgmt
|
||||
. Remove all IPv4 addresses from target:mgmt
|
||||
. Verify target:mgmt no longer has the address 10.10.10.20
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"""
|
||||
Interface with IPv4
|
||||
|
||||
Test that it is possible to set and remove the IPv4 address on a interface
|
||||
Test that it is possible to set and remove the IPv4 address on an interface
|
||||
"""
|
||||
import copy
|
||||
import infamy
|
||||
@@ -39,7 +39,7 @@ with infamy.Test() as test:
|
||||
|
||||
target.put_config_dict("ietf-interfaces", config)
|
||||
|
||||
with test.step("Verify '10.10.10.20/24' exist on target:mgmt"):
|
||||
with test.step("Verify '10.10.10.20/24' exists on target:mgmt"):
|
||||
until(lambda: iface.address_exist(target, interface_name, new_ip_address, proto='static'))
|
||||
|
||||
with test.step("Remove all IPv4 addresses from target:mgmt"):
|
||||
|
||||
@@ -19,10 +19,10 @@ endif::topdoc[]
|
||||
. Initialize
|
||||
. Setup host
|
||||
. Enable forwarding on target:data0 and target:data1
|
||||
. Verify ping from host:data0 to 10.0.0.1
|
||||
. Verify ping from host:data0 to 10.0.0.10
|
||||
. Verify ping from host:data1 to 192.168.0.10
|
||||
. Disable forwarding on target:data0 and target:data1
|
||||
. Verfify ping does not work host:data0->10.0.0.10 and host:data1->192.168.0.10
|
||||
. Verify ping does not work host:data0->10.0.0.10 and host:data1->192.168.0.10
|
||||
|
||||
|
||||
<<<
|
||||
|
||||
@@ -77,7 +77,7 @@ with infamy.Test() as test:
|
||||
with test.step("Enable forwarding on target:data0 and target:data1"):
|
||||
config_target(target, tport0, tport1, True)
|
||||
|
||||
with test.step("Verify ping from host:data0 to 10.0.0.1"):
|
||||
with test.step("Verify ping from host:data0 to 10.0.0.10"):
|
||||
ns0.must_reach("10.0.0.10")
|
||||
|
||||
with test.step("Verify ping from host:data1 to 192.168.0.10"):
|
||||
@@ -86,7 +86,7 @@ with infamy.Test() as test:
|
||||
with test.step("Disable forwarding on target:data0 and target:data1"):
|
||||
config_target(target, tport0, tport1, False)
|
||||
|
||||
with test.step("Verfify ping does not work host:data0->10.0.0.10 and host:data1->192.168.0.10"):
|
||||
with test.step("Verify ping does not work host:data0->10.0.0.10 and host:data1->192.168.0.10"):
|
||||
infamy.parallel(lambda: ns0.must_not_reach("10.0.0.10"),
|
||||
lambda: ns1.must_not_reach("192.168.0.10"))
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
r"""
|
||||
Verify that all interface types can be created
|
||||
|
||||
This test verify that all interface types can be created
|
||||
and also, tesing setting the configuration in sequal (this
|
||||
This test verifies that all interface types can be created
|
||||
and also, testing setting the configuration in sequal (this
|
||||
takes a little longer time than send it once)
|
||||
....
|
||||
|
||||
@@ -56,7 +56,7 @@ with infamy.Test() as test:
|
||||
|
||||
loopback = "lo"
|
||||
|
||||
with test.step("Configure an empty bridge"):
|
||||
with test.step("Configure an empty bridge br-0"):
|
||||
target.put_config_dict("ietf-interfaces", {
|
||||
"interfaces": {
|
||||
"interface": [
|
||||
@@ -69,7 +69,7 @@ with infamy.Test() as test:
|
||||
}
|
||||
})
|
||||
|
||||
with test.step("Configure bridge brX and associated interfaces"):
|
||||
with test.step("Configure bridge br-X and associated interfaces"):
|
||||
target.put_config_dict("ietf-interfaces", {
|
||||
"interfaces": {
|
||||
"interface": [
|
||||
@@ -118,7 +118,7 @@ with infamy.Test() as test:
|
||||
}
|
||||
})
|
||||
|
||||
with test.step("Configure bridge brD and associated interfaces"):
|
||||
with test.step("Configure bridge br-D and associated interfaces"):
|
||||
target.put_config_dict("ietf-interfaces", {
|
||||
"interfaces": {
|
||||
"interface": [
|
||||
@@ -192,21 +192,21 @@ with infamy.Test() as test:
|
||||
with test.step("Verify interface 'lo' is of type loopback"):
|
||||
verify_interface(target, "lo", "loopback")
|
||||
|
||||
with test.step("Verify interfaces 'ethX' and 'ethQ' is of type 'ethernet' (or etherlike if running Qemu)"):
|
||||
with test.step("Verify interfaces 'ethX' and 'ethQ' are of type 'ethernet' (or etherlike if running Qemu)"):
|
||||
verify_interface(target, eth_X, "etherlike")
|
||||
verify_interface(target, eth_Q, "etherlike")
|
||||
|
||||
with test.step("Verify interfaces 'br-0', 'br-X', 'br-D' and 'br-Q' is of type 'bridge'"):
|
||||
with test.step("Verify interfaces 'br-0', 'br-X', 'br-D' and 'br-Q' are of type 'bridge'"):
|
||||
verify_interface(target, "br-0", "bridge")
|
||||
verify_interface(target, "br-X", "bridge")
|
||||
verify_interface(target, "br-Q", "bridge")
|
||||
verify_interface(target, "br-D", "bridge")
|
||||
|
||||
with test.step("Verify interfaces 'veth0a' and 'veth0b' is of type 'veth'"):
|
||||
with test.step("Verify interfaces 'veth0a' and 'veth0b' are of type 'veth'"):
|
||||
verify_interface(target, "veth0a", "veth")
|
||||
verify_interface(target, "veth0b", "veth")
|
||||
|
||||
with test.step("Verify interfaces 'veth0a.20', 'ethQ.10', 'ethX.30', 'ethQ.10' and 'br-Q.40' is of type 'vlan'"):
|
||||
with test.step("Verify interfaces 'veth0a.20', 'ethQ.10', 'ethX.30', 'ethQ.10' and 'br-Q.40' are of type 'vlan'"):
|
||||
verify_interface(target, "veth0a.20", "vlan")
|
||||
verify_interface(target, f"{eth_X}.30", "vlan")
|
||||
verify_interface(target, f"{eth_Q}.10", "vlan")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== VLAN ping connectivity
|
||||
==== Description
|
||||
Very basic test if the VLAN configuration works.
|
||||
Very basic test if the VLAN interface configuration works.
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
@@ -15,7 +15,7 @@ image::topology.png[VLAN ping connectivity topology]
|
||||
endif::testgroup[]
|
||||
endif::topdoc[]
|
||||
==== Test sequence
|
||||
. Configure VLAN 10 on target:data with IP 10.0.0.2
|
||||
. Configure VLAN 10 interface on target:data with IP 10.0.0.2
|
||||
. Waiting for links to come up
|
||||
. Ping 10.0.0.2 from VLAN 10 on host:data with IP 10.0.0.1
|
||||
. Remove VLAN interface from target:data, and test again (should not be able to ping)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"""
|
||||
VLAN ping connectivity
|
||||
|
||||
Very basic test if the VLAN configuration works.
|
||||
Very basic test if the VLAN interface configuration works.
|
||||
"""
|
||||
import infamy
|
||||
import infamy.iface as iface
|
||||
@@ -25,7 +25,7 @@ def test_ping(hport, should_pass):
|
||||
ns.must_not_reach("10.0.0.2")
|
||||
|
||||
with infamy.Test() as test:
|
||||
with test.step("Configure VLAN 10 on target:data with IP 10.0.0.2"):
|
||||
with test.step("Configure VLAN 10 interface on target:data with IP 10.0.0.2"):
|
||||
env = infamy.Env()
|
||||
target = env.attach("target", "mgmt")
|
||||
_, tport = env.ltop.xlate("target", "data")
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
=== OSPF with multiple areas
|
||||
==== Description
|
||||
This test test alot of features inside OSPF using 3 areas (one NSSA area, with no summary)
|
||||
This test tests a lot of features inside OSPF using 3 areas (one NSSA area, with no summary)
|
||||
to test the distribution of routes is deterministic (using cost), also test
|
||||
link breaks using BFD (not implemented in infamy though)
|
||||
|
||||
This test also verify broadcast and point-to-point interface type on /30 network and
|
||||
This test also verifies broadcast and point-to-point interface types on /30 network and
|
||||
explicit router-id.
|
||||
|
||||
==== Topology
|
||||
@@ -21,13 +21,13 @@ endif::testgroup[]
|
||||
endif::topdoc[]
|
||||
==== Test sequence
|
||||
. Configure targets
|
||||
. Wait for all neighbor to peer
|
||||
. Wait for all neighbors to peer
|
||||
. Wait for routes from OSPF on all routers
|
||||
. Verify Area 0.0.0.1 on R3 is NSSA area
|
||||
. Verify R1:ring2 is of type point-to-point
|
||||
. Verify R4:ring1 is of type point-to-point
|
||||
. Verify on R3, there are no routes beyond 10.0.23.1, just a default route
|
||||
. Testing connectivitiy through NSSA area, from PC:data3 to 11.0.8.1
|
||||
. Testing connectivity through NSSA area, from PC:data3 to 11.0.8.1
|
||||
. Verify that the route to 10.0.0.3 from PC:data4, go through 10.0.41.2
|
||||
. Break link R1:ring2 --- R4:ring1
|
||||
. Verify that the route to 10.0.0.3 from PC:data4, go through 10.0.24.1
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
"""
|
||||
OSPF with multiple areas
|
||||
|
||||
This test test alot of features inside OSPF using 3 areas (one NSSA area, with no summary)
|
||||
This test tests a lot of features inside OSPF using 3 areas (one NSSA area, with no summary)
|
||||
to test the distribution of routes is deterministic (using cost), also test
|
||||
link breaks using BFD (not implemented in infamy though)
|
||||
|
||||
This test also verify broadcast and point-to-point interface type on /30 network and
|
||||
This test also verifies broadcast and point-to-point interface types on /30 network and
|
||||
explicit router-id.
|
||||
"""
|
||||
import infamy
|
||||
@@ -539,7 +539,7 @@ with infamy.Test() as test:
|
||||
config_target3(R3, R3ring2, R3cross, R3data),
|
||||
config_target4(R4, R4ring1, R4cross, R4data))
|
||||
|
||||
with test.step("Wait for all neighbor to peer"):
|
||||
with test.step("Wait for all neighbors to peer"):
|
||||
print("Waiting for neighbors to peer")
|
||||
until(lambda: route.ospf_get_neighbor(R1, "0.0.0.0", R1ring1, "1.1.1.1"), attempts=200)
|
||||
until(lambda: route.ospf_get_neighbor(R1, "0.0.0.1", R1cross, "10.0.0.3"), attempts=200)
|
||||
@@ -586,7 +586,7 @@ with infamy.Test() as test:
|
||||
|
||||
_, hport0 = env.ltop.xlate("PC", "data3")
|
||||
with infamy.IsolatedMacVlan(hport0) as ns0:
|
||||
with test.step("Testing connectivitiy through NSSA area, from PC:data3 to 11.0.8.1"):
|
||||
with test.step("Testing connectivity through NSSA area, from PC:data3 to 11.0.8.1"):
|
||||
ns0.addip("192.168.3.2")
|
||||
ns0.addroute("0.0.0.0/0", "192.168.3.1")
|
||||
ns0.must_reach("11.0.8.1")
|
||||
|
||||
@@ -17,7 +17,7 @@ endif::topdoc[]
|
||||
==== Test sequence
|
||||
. Initializing
|
||||
. Configure DUT
|
||||
. Verify log files /var/log/bar.log and /var/log/bar.log have been created
|
||||
. Verify log files /var/log/foo and /var/log/bar.log have been created
|
||||
|
||||
|
||||
<<<
|
||||
|
||||
@@ -58,7 +58,7 @@ with infamy.Test() as test:
|
||||
}
|
||||
})
|
||||
|
||||
with test.step("Verify log files /var/log/bar.log and /var/log/bar.log have been created"):
|
||||
with test.step("Verify log files /var/log/foo and /var/log/bar.log have been created"):
|
||||
user = tgtssh.runsh("ls /var/log/{foo,bar.log}").stdout
|
||||
if "/var/log/foo" not in user:
|
||||
test.fail()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Verify that it is possible to change hostname both normal
|
||||
and using format %h-%m.
|
||||
|
||||
The format exapnds to <default hostname>-<MAC>,
|
||||
The %h-%m format expands to <default hostname>-<MAC>,
|
||||
where MAC is the last three bytes of the base MAC address.
|
||||
|
||||
e.g. ix-01-01-01.
|
||||
@@ -24,7 +24,7 @@ endif::topdoc[]
|
||||
. Set up topology and attach to target DUT
|
||||
. Set hostname to 'h0stn4m3'
|
||||
. Verify new hostname 'h0stn4m3'
|
||||
. Set hostname to to '%h-%m'
|
||||
. Set hostname to '%h-%m'
|
||||
. Verify hostname is %h-%m in running configuration
|
||||
. Verify hostname format in operational, according to format
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Set hostname
|
||||
Verify that it is possible to change hostname both normal
|
||||
and using format %h-%m.
|
||||
|
||||
The format exapnds to <default hostname>-<MAC>,
|
||||
The %h-%m format expands to <default hostname>-<MAC>,
|
||||
where MAC is the last three bytes of the base MAC address.
|
||||
|
||||
e.g. ix-01-01-01.
|
||||
@@ -34,7 +34,7 @@ with infamy.Test() as test:
|
||||
running = target.get_config_dict("/ietf-system:system")
|
||||
assert running["system"]["hostname"] == new
|
||||
|
||||
with test.step("Set hostname to to '%h-%m'"):
|
||||
with test.step("Set hostname to '%h-%m'"):
|
||||
target.put_config_dict("ietf-system", {
|
||||
"system": {
|
||||
"hostname": fmt,
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
=== Set timezone
|
||||
=== Set timezone using timezone name
|
||||
==== Description
|
||||
Verify that it is possible to set timezone using timezone names.
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
image::../../test/case/ietf_system/timezone/topology.png[Set timezone topology]
|
||||
image::../../test/case/ietf_system/timezone/topology.png[Set timezone using timezone name topology]
|
||||
endif::topdoc[]
|
||||
ifndef::topdoc[]
|
||||
ifdef::testgroup[]
|
||||
image::timezone/topology.png[Set timezone topology]
|
||||
image::timezone/topology.png[Set timezone using timezone name topology]
|
||||
endif::testgroup[]
|
||||
ifndef::testgroup[]
|
||||
image::topology.png[Set timezone topology]
|
||||
image::topology.png[Set timezone using timezone name topology]
|
||||
endif::testgroup[]
|
||||
endif::topdoc[]
|
||||
==== Test sequence
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Set timezone
|
||||
Set timezone using timezone name
|
||||
|
||||
Verify that it is possible to set timezone using timezone names.
|
||||
"""
|
||||
|
||||
@@ -19,12 +19,12 @@ endif::topdoc[]
|
||||
. Set up topology and attach to target DUT
|
||||
. Add new user 'jacky' with no NACM access
|
||||
. Verify regular user jacky exists
|
||||
. Verify user jacky is not in wheel group
|
||||
. Verify user jacky is not in wheel group (in Linux)
|
||||
. Verify user jacky password is set correctly
|
||||
. Add user jacky to admin group in NACM
|
||||
. Verify user jacky is now in wheel group
|
||||
. Verify user jacky is now in wheel group (in Linux)
|
||||
. Verify user jacky shell now is Bash
|
||||
. Change user jacky to $factory$ password ...
|
||||
. Change user jacky to $factory$ password
|
||||
. Verify user jacky exists and has new password
|
||||
. Verify user jacky can log in with SSH
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ with infamy.Test() as test:
|
||||
if not any(user['name'] == USER for user in users):
|
||||
test.fail()
|
||||
|
||||
with test.step("Verify user jacky is not in wheel group"):
|
||||
with test.step("Verify user jacky is not in wheel group (in Linux)"):
|
||||
wheel = tgtssh.runsh("grep wheel /etc/group").stdout
|
||||
if USER in wheel:
|
||||
test.fail()
|
||||
@@ -62,7 +62,7 @@ with infamy.Test() as test:
|
||||
group["user-name"].append(USER)
|
||||
target.put_config_dict("ietf-netconf-acm", nacm)
|
||||
|
||||
with test.step("Verify user jacky is now in wheel group"):
|
||||
with test.step("Verify user jacky is now in wheel group (in Linux)"):
|
||||
if not tgtssh.runsh(f"grep wheel /etc/group | grep '{USER}'"):
|
||||
test.fail()
|
||||
|
||||
@@ -71,7 +71,7 @@ with infamy.Test() as test:
|
||||
if "bash" not in user:
|
||||
test.fail()
|
||||
|
||||
with test.step("Change user jacky to $factory$ password ..."):
|
||||
with test.step("Change user jacky to $factory$ password"):
|
||||
running = target.get_config_dict("/ietf-system:system")
|
||||
users = running["system"]["authentication"]["user"]
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== DHCP router
|
||||
==== Description
|
||||
Verify that the DHCP client receives default gatewa (DHCP option 3, router)
|
||||
and that exist in operational datastore
|
||||
Verify that the DHCP client receives default gateway (DHCP option 3, router)
|
||||
and that route exists in operational datastore.
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"""
|
||||
DHCP router
|
||||
|
||||
Verify that the DHCP client receives default gatewa (DHCP option 3, router)
|
||||
and that exist in operational datastore
|
||||
Verify that the DHCP client receives default gateway (DHCP option 3, router)
|
||||
and that route exists in operational datastore.
|
||||
"""
|
||||
import time
|
||||
import infamy, infamy.dhcp
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
=== DHCP option 121 vs option 3
|
||||
==== Description
|
||||
Verify DHCP option 121 (staticroutes) is used over option 3 and that the
|
||||
Verify DHCP option 121 (static routes) is used over option 3 and that the
|
||||
routes exist in the operational datastore.
|
||||
|
||||
Installing unrelated routes from a DHCP server should not affect already
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"""
|
||||
DHCP option 121 vs option 3
|
||||
|
||||
Verify DHCP option 121 (staticroutes) is used over option 3 and that the
|
||||
Verify DHCP option 121 (static routes) is used over option 3 and that the
|
||||
routes exist in the operational datastore.
|
||||
|
||||
Installing unrelated routes from a DHCP server should not affect already
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== Services basic
|
||||
==== Description
|
||||
Verify that basic services like mDNS and LLDP can be enabled and
|
||||
disabled. We verify operation and non-operation by using tcpdump.
|
||||
disabled. Tcpdump is used to verify operation and non-operation.
|
||||
|
||||
==== Topology
|
||||
ifdef::topdoc[]
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Services basic
|
||||
|
||||
Verify that basic services like mDNS and LLDP can be enabled and
|
||||
disabled. We verify operation and non-operation by using tcpdump.
|
||||
disabled. Tcpdump is used to verify operation and non-operation.
|
||||
"""
|
||||
import time
|
||||
import infamy
|
||||
|
||||
Reference in New Issue
Block a user