Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jtdub committed Jan 16, 2024
1 parent d524c8f commit 746512f
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 44 deletions.
12 changes: 11 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,17 @@ def running_config_junos():


@pytest.fixture(scope="module")
def remediation_config_junos():
def generated_config_flat_junos():
return open(f"{_fixture_dir()}/generated_config_flat_junos.conf").read()


@pytest.fixture(scope="module")
def running_config_flat_junos():
return open(f"{_fixture_dir()}/running_config_flat_junos.conf").read()


@pytest.fixture(scope="module")
def remediation_config_flat_junos():
return open(f"{_fixture_dir()}/remediation_config_flat_junos.conf").read()


Expand Down
12 changes: 6 additions & 6 deletions tests/fixtures/generated_config_flat_junos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ set vlans switch_mgmt_10.0.4.0/24 l3-interface irb.4

set interfaces irb unit 2 family inet address 10.0.2.1/24
set interfaces irb unit 2 family inet filter input TEST
set interfaces irb unit 2 mtu 9000
set interfaces irb unit 2 description "switch_10.0.2.0/24"
set interfaces irb unit 2 family inet mtu 9000
set interfaces irb unit 2 family inet description "switch_10.0.2.0/24"

set interfaces irb unit 3 family inet address 10.0.3.1/16
set interfaces irb unit 3 family inet filter input TEST
set interfaces irb unit 3 mtu 9000
set interfaces irb unit 3 description "switch_mgmt_10.0.3.0/24"
set interfaces irb unit 3 family inet mtu 9000
set interfaces irb unit 3 family inet description "switch_mgmt_10.0.3.0/24"

set interfaces irb unit 4 family inet address 10.0.4.1/16
set interfaces irb unit 4 family inet filter input TEST
set interfaces irb unit 4 mtu 9000
set interfaces irb unit 4 description "switch_mgmt_10.0.4.0/24"
set interfaces irb unit 4 family inet mtu 9000
set interfaces irb unit 4 family inet description "switch_mgmt_10.0.4.0/24"
8 changes: 4 additions & 4 deletions tests/fixtures/running_config_flat_junos.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ set vlans switch_mgmt_10.0.4.0/24 vlan-id 3
set vlans switch_mgmt_10.0.4.0/24 l3-interface irb.3

set interfaces irb unit 2 family inet address 10.0.2.1/24
set interfaces irb unit 2 description "switch_10.0.2.0/24"
set interfaces irb unit 2 disable
set interfaces irb unit 2 family inet description "switch_10.0.2.0/24"
set interfaces irb unit 2 family inet disable

set interfaces irb unit 3 family inet address 10.0.4.1/16
set interfaces irb unit 3 family inet filter input TEST
set interfaces irb unit 3 mtu 9000
set interfaces irb unit 3 description "switch_mgmt_10.0.4.0/24"
set interfaces irb unit 3 family inet mtu 9000
set interfaces irb unit 3 family inet description "switch_mgmt_10.0.4.0/24"
44 changes: 44 additions & 0 deletions tests/test_juniper_syntax.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import pytest

from hier_config.host import Host


class TestJuniperSyntax:
@pytest.fixture(autouse=True)
def setUpClass(
self,
options_junos,
running_config_junos,
running_config_flat_junos,
generated_config_junos,
generated_config_flat_junos,
remediation_config_flat_junos,
):
self.os = "junos"
self.host = Host("example1.rtr", self.os, options_junos)
self.running_config_str = "set vlans switch_mgmt_10.0.2.0/24 vlan-id 2"
self.generated_config_str = "set vlans switch_mgmt_10.0.3.0/24 vlan-id 3"
self.remediation_str = "delete vlans switch_mgmt_10.0.2.0/24 vlan-id 2\nset vlans switch_mgmt_10.0.3.0/24 vlan-id 3"
self.running_config_junos = running_config_junos
self.running_config_flat_junos = running_config_flat_junos
self.generated_config_junos = generated_config_junos
self.generated_config_flat_junos = generated_config_flat_junos
self.remediation_config_flat_junos = remediation_config_flat_junos

def test_junos_basic_remediation(self):
self.host.load_running_config(self.running_config_str)
self.host.load_generated_config(self.generated_config_str)
self.host.remediation_config()
assert self.remediation_str == str(self.host.remediation_config())

def test_junos_convert_to_set(self):
self.host.load_running_config(self.running_config_junos)
self.host.load_generated_config(self.generated_config_junos)
assert self.remediation_config_flat_junos == str(self.host.remediation_config())

def test_flat_junos_remediation(self):
self.host.load_running_config(self.running_config_flat_junos)
self.host.load_generated_config(self.generated_config_flat_junos)
remediation_list = self.remediation_config_flat_junos.splitlines()
for line in str(self.host.remediation_config()).splitlines():
assert line in remediation_list
33 changes: 0 additions & 33 deletions tests/test_junos_syntax.py

This file was deleted.

0 comments on commit 746512f

Please sign in to comment.