Add tests for get_config
Add test cases for normal and sanitized versions. Add support for config mode in mock device.
This commit is contained in:
parent
5ab6f4de21
commit
7107560f84
|
|
@ -51,7 +51,16 @@ class PatchedVyOSDriver(vyos.VyOSDriver):
|
|||
class FakeVyOSDevice(BaseTestDouble):
|
||||
"""VyOS device test double."""
|
||||
|
||||
def __init__(self):
|
||||
self.mode_config = False
|
||||
|
||||
def send_command(self, command, **kwargs):
|
||||
filename = '{}.text'.format(self.sanitize_text(command))
|
||||
full_path = self.find_file(filename)
|
||||
return self.read_txt_file(full_path)
|
||||
|
||||
def config_mode(self):
|
||||
self.mode_config = True
|
||||
|
||||
def exit_config_mode(self):
|
||||
self.mode_config = False
|
||||
|
|
|
|||
|
|
@ -0,0 +1,123 @@
|
|||
interfaces {
|
||||
ethernet eth0 {
|
||||
address dhcp
|
||||
}
|
||||
ethernet eth1 {
|
||||
address 10.0.1.222/24
|
||||
}
|
||||
loopback lo {
|
||||
address 10.2.2.2/32
|
||||
address 8.8.8.8/32
|
||||
}
|
||||
}
|
||||
policy {
|
||||
prefix-list EXPORT {
|
||||
rule 1 {
|
||||
action permit
|
||||
prefix 172.16.2.0/24
|
||||
}
|
||||
rule 65535 {
|
||||
action permit
|
||||
prefix 10.2.2.2/32
|
||||
}
|
||||
}
|
||||
route-map EXPORT-POLICY {
|
||||
rule 1 {
|
||||
action permit
|
||||
match {
|
||||
ip {
|
||||
address {
|
||||
prefix-list EXPORT
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
protocols {
|
||||
bgp 65002 {
|
||||
neighbor 10.0.1.100 {
|
||||
remote-as 65001
|
||||
route-map {
|
||||
export EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
redistribute {
|
||||
connected {
|
||||
route-map EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
service {
|
||||
snmp {
|
||||
community commro {
|
||||
authorization ro
|
||||
}
|
||||
contact admin@foo.corp
|
||||
location PL,Krakow
|
||||
}
|
||||
ssh {
|
||||
disable-host-validation
|
||||
port 22
|
||||
}
|
||||
}
|
||||
system {
|
||||
config-management {
|
||||
commit-revisions 20
|
||||
}
|
||||
host-name vyos2
|
||||
login {
|
||||
banner {
|
||||
pre-login "My banner for all devices"
|
||||
}
|
||||
user vagrant {
|
||||
authentication {
|
||||
encrypted-password $6$fcHhBu3T$WLmiu6/txlEfWK5uh4mKE8v7qocuftsoAN1oHqPIIoogXAX8zS.SKhB105EExYU6yBy4cKHUD/Q6Mm7CUbVTr.
|
||||
plaintext-password ""
|
||||
public-keys vagrant {
|
||||
key AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==
|
||||
type ssh-rsa
|
||||
}
|
||||
}
|
||||
level admin
|
||||
}
|
||||
user vyos {
|
||||
authentication {
|
||||
encrypted-password $1$yHIMnG/J$aWDkd3oDYSYps8twB5vpw1
|
||||
plaintext-password ""
|
||||
}
|
||||
level admin
|
||||
}
|
||||
}
|
||||
ntp {
|
||||
server 10.0.1.100 {
|
||||
}
|
||||
}
|
||||
package {
|
||||
auto-sync 1
|
||||
repository community {
|
||||
components main
|
||||
distribution helium
|
||||
password ""
|
||||
url http://packages.vyos.net/vyos
|
||||
username ""
|
||||
}
|
||||
}
|
||||
syslog {
|
||||
global {
|
||||
facility all {
|
||||
level notice
|
||||
}
|
||||
facility protocols {
|
||||
level debug
|
||||
}
|
||||
}
|
||||
}
|
||||
time-zone UTC
|
||||
}
|
||||
|
||||
|
||||
/* Warning: Do not remove the following line. */
|
||||
/* === vyatta-config-version: "cluster@1:config-management@1:conntrack-sync@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@4:nat@4:qos@1:quagga@2:system@6:vrrp@1:wanloadbalance@3:webgui@1:webproxy@1:zone-policy@1" === */
|
||||
/* Release version: VyOS 1.1.7 */
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,124 @@
|
|||
interfaces {
|
||||
ethernet eth0 {
|
||||
address dhcp
|
||||
duplex auto
|
||||
smp_affinity auto
|
||||
speed auto
|
||||
}
|
||||
ethernet eth1 {
|
||||
address 10.0.1.222/24
|
||||
duplex auto
|
||||
smp_affinity auto
|
||||
speed auto
|
||||
}
|
||||
loopback lo {
|
||||
address 10.2.2.2/32
|
||||
address 8.8.8.8/32
|
||||
}
|
||||
}
|
||||
policy {
|
||||
prefix-list EXPORT {
|
||||
rule 1 {
|
||||
action permit
|
||||
prefix 172.16.2.0/24
|
||||
}
|
||||
rule 65535 {
|
||||
action permit
|
||||
prefix 10.2.2.2/32
|
||||
}
|
||||
}
|
||||
route-map EXPORT-POLICY {
|
||||
rule 1 {
|
||||
action permit
|
||||
match {
|
||||
ip {
|
||||
address {
|
||||
prefix-list EXPORT
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
protocols {
|
||||
bgp 65002 {
|
||||
neighbor 10.0.1.100 {
|
||||
remote-as 65001
|
||||
route-map {
|
||||
export EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
redistribute {
|
||||
connected {
|
||||
route-map EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
service {
|
||||
snmp {
|
||||
community commro {
|
||||
authorization ro
|
||||
}
|
||||
contact admin@foo.corp
|
||||
location PL,Krakow
|
||||
}
|
||||
ssh {
|
||||
disable-host-validation
|
||||
port 22
|
||||
}
|
||||
}
|
||||
system {
|
||||
config-management {
|
||||
commit-revisions 20
|
||||
}
|
||||
host-name vyos2
|
||||
login {
|
||||
banner {
|
||||
pre-login "My banner for all devices"
|
||||
}
|
||||
user vagrant {
|
||||
authentication {
|
||||
encrypted-password $6$fcHhBu3T$WLmiu6/txlEfWK5uh4mKE8v7qocuftsoAN1oHqPIIoogXAX8zS.SKhB105EExYU6yBy4cKHUD/Q6Mm7CUbVTr.
|
||||
plaintext-password ""
|
||||
public-keys vagrant {
|
||||
key AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==
|
||||
type ssh-rsa
|
||||
}
|
||||
}
|
||||
level admin
|
||||
}
|
||||
user vyos {
|
||||
authentication {
|
||||
encrypted-password $1$yHIMnG/J$aWDkd3oDYSYps8twB5vpw1
|
||||
plaintext-password ""
|
||||
}
|
||||
level admin
|
||||
}
|
||||
}
|
||||
ntp {
|
||||
server 10.0.1.100 {
|
||||
}
|
||||
}
|
||||
package {
|
||||
auto-sync 1
|
||||
repository community {
|
||||
components main
|
||||
distribution helium
|
||||
password ""
|
||||
url http://packages.vyos.net/vyos
|
||||
username ""
|
||||
}
|
||||
}
|
||||
syslog {
|
||||
global {
|
||||
facility all {
|
||||
level notice
|
||||
}
|
||||
facility protocols {
|
||||
level debug
|
||||
}
|
||||
}
|
||||
}
|
||||
time-zone UTC
|
||||
}
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
interfaces {
|
||||
ethernet eth0 {
|
||||
address dhcp
|
||||
}
|
||||
ethernet eth1 {
|
||||
address 10.0.1.222/24
|
||||
}
|
||||
loopback lo {
|
||||
address 10.2.2.2/32
|
||||
address 8.8.8.8/32
|
||||
}
|
||||
}
|
||||
policy {
|
||||
prefix-list EXPORT {
|
||||
rule 1 {
|
||||
action permit
|
||||
prefix 172.16.2.0/24
|
||||
}
|
||||
rule 65535 {
|
||||
action permit
|
||||
prefix 10.2.2.2/32
|
||||
}
|
||||
}
|
||||
route-map EXPORT-POLICY {
|
||||
rule 1 {
|
||||
action permit
|
||||
match {
|
||||
ip {
|
||||
address {
|
||||
prefix-list EXPORT
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
protocols {
|
||||
bgp 65002 {
|
||||
neighbor 10.0.1.100 {
|
||||
remote-as 65001
|
||||
route-map {
|
||||
export EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
redistribute {
|
||||
connected {
|
||||
route-map EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
service {
|
||||
snmp {
|
||||
community commro {
|
||||
authorization ro
|
||||
}
|
||||
contact admin@foo.corp
|
||||
location PL,Krakow
|
||||
}
|
||||
ssh {
|
||||
disable-host-validation
|
||||
port 22
|
||||
}
|
||||
}
|
||||
system {
|
||||
config-management {
|
||||
commit-revisions 20
|
||||
}
|
||||
host-name vyos2
|
||||
login {
|
||||
banner {
|
||||
pre-login "My banner for all devices"
|
||||
}
|
||||
user vagrant {
|
||||
authentication {
|
||||
encrypted-password $6$fcHhBu3T$WLmiu6/txlEfWK5uh4mKE8v7qocuftsoAN1oHqPIIoogXAX8zS.SKhB105EExYU6yBy4cKHUD/Q6Mm7CUbVTr.
|
||||
plaintext-password ""
|
||||
public-keys vagrant {
|
||||
key AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==
|
||||
type ssh-rsa
|
||||
}
|
||||
}
|
||||
level admin
|
||||
}
|
||||
user vyos {
|
||||
authentication {
|
||||
encrypted-password $1$yHIMnG/J$aWDkd3oDYSYps8twB5vpw1
|
||||
plaintext-password ""
|
||||
}
|
||||
level admin
|
||||
}
|
||||
}
|
||||
ntp {
|
||||
server 10.0.1.100 {
|
||||
}
|
||||
}
|
||||
package {
|
||||
auto-sync 1
|
||||
repository community {
|
||||
components main
|
||||
distribution helium
|
||||
password ""
|
||||
url http://packages.vyos.net/vyos
|
||||
username ""
|
||||
}
|
||||
}
|
||||
syslog {
|
||||
global {
|
||||
facility all {
|
||||
level notice
|
||||
}
|
||||
facility protocols {
|
||||
level debug
|
||||
}
|
||||
}
|
||||
}
|
||||
time-zone UTC
|
||||
}
|
||||
|
||||
|
||||
/* Warning: Do not remove the following line. */
|
||||
/* === vyatta-config-version: "cluster@1:config-management@1:conntrack-sync@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@4:nat@4:qos@1:quagga@2:system@6:vrrp@1:wanloadbalance@3:webgui@1:webproxy@1:zone-policy@1" === */
|
||||
/* Release version: VyOS 1.1.7 */
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,124 @@
|
|||
interfaces {
|
||||
ethernet eth0 {
|
||||
address dhcp
|
||||
duplex auto
|
||||
smp_affinity auto
|
||||
speed auto
|
||||
}
|
||||
ethernet eth1 {
|
||||
address 10.0.1.222/24
|
||||
duplex auto
|
||||
smp_affinity auto
|
||||
speed auto
|
||||
}
|
||||
loopback lo {
|
||||
address 10.2.2.2/32
|
||||
address 8.8.8.8/32
|
||||
}
|
||||
}
|
||||
policy {
|
||||
prefix-list EXPORT {
|
||||
rule 1 {
|
||||
action permit
|
||||
prefix 172.16.2.0/24
|
||||
}
|
||||
rule 65535 {
|
||||
action permit
|
||||
prefix 10.2.2.2/32
|
||||
}
|
||||
}
|
||||
route-map EXPORT-POLICY {
|
||||
rule 1 {
|
||||
action permit
|
||||
match {
|
||||
ip {
|
||||
address {
|
||||
prefix-list EXPORT
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
protocols {
|
||||
bgp 65002 {
|
||||
neighbor 10.0.1.100 {
|
||||
remote-as 65001
|
||||
route-map {
|
||||
export EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
redistribute {
|
||||
connected {
|
||||
route-map EXPORT-POLICY
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
service {
|
||||
snmp {
|
||||
community commro {
|
||||
authorization ro
|
||||
}
|
||||
contact admin@foo.corp
|
||||
location PL,Krakow
|
||||
}
|
||||
ssh {
|
||||
disable-host-validation
|
||||
port 22
|
||||
}
|
||||
}
|
||||
system {
|
||||
config-management {
|
||||
commit-revisions 20
|
||||
}
|
||||
host-name vyos2
|
||||
login {
|
||||
banner {
|
||||
pre-login "My banner for all devices"
|
||||
}
|
||||
user vagrant {
|
||||
authentication {
|
||||
encrypted-password **********
|
||||
plaintext-password ""
|
||||
public-keys vagrant {
|
||||
key AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==
|
||||
type ssh-rsa
|
||||
}
|
||||
}
|
||||
level admin
|
||||
}
|
||||
user vyos {
|
||||
authentication {
|
||||
encrypted-password **********
|
||||
plaintext-password ""
|
||||
}
|
||||
level admin
|
||||
}
|
||||
}
|
||||
ntp {
|
||||
server 10.0.1.100 {
|
||||
}
|
||||
}
|
||||
package {
|
||||
auto-sync 1
|
||||
repository community {
|
||||
components main
|
||||
distribution helium
|
||||
password ""
|
||||
url http://packages.vyos.net/vyos
|
||||
username ""
|
||||
}
|
||||
}
|
||||
syslog {
|
||||
global {
|
||||
facility all {
|
||||
level notice
|
||||
}
|
||||
facility protocols {
|
||||
level debug
|
||||
}
|
||||
}
|
||||
}
|
||||
time-zone UTC
|
||||
}
|
||||
Loading…
Reference in New Issue