1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/router/bin/python
from platform_cmd_link import *
import functional_general_test
from nose.tools import assert_equal
from nose.tools import assert_not_equal
class CCommandCache_Test(functional_general_test.CGeneralFunctional_Test):
def setUp(self):
self.cache = CCommandCache()
self.cache.add('IF', "ip nbar protocol-discovery", 'GigabitEthernet0/0/1')
self.cache.add('IF', "ip nbar protocol-discovery", 'GigabitEthernet0/0/2')
self.cache.add('conf', "arp 1.1.1.1 0000.0001.0000 arpa")
self.cache.add('conf', "arp 1.1.2.1 0000.0002.0000 arpa")
self.cache.add('exec', "show ip nbar protocol-discovery stats packet-count")
def test_add(self):
assert_equal(self.cache.cache['IF'],
{'GigabitEthernet0/0/1' : ['ip nbar protocol-discovery'],
'GigabitEthernet0/0/2' : ['ip nbar protocol-discovery']
})
assert_equal(self.cache.cache['CONF'],
["arp 1.1.1.1 0000.0001.0000 arpa",
"arp 1.1.2.1 0000.0002.0000 arpa"]
)
assert_equal(self.cache.cache['EXEC'],
["show ip nbar protocol-discovery stats packet-count"])
def test_dump_config (self):
import sys
from io import StringIO, BytesIO
saved_stdout = sys.stdout
try:
out = BytesIO() if sys.version_info < (3,0) else StringIO()
sys.stdout = out
self.cache.dump_config()
output = out.getvalue().strip()
assert_equal(output,
"configure terminal\ninterface GigabitEthernet0/0/1\nip nbar protocol-discovery\ninterface GigabitEthernet0/0/2\nip nbar protocol-discovery\nexit\narp 1.1.1.1 0000.0001.0000 arpa\narp 1.1.2.1 0000.0002.0000 arpa\nexit\nshow ip nbar protocol-discovery stats packet-count"
)
finally:
sys.stdout = saved_stdout
def test_get_config_list (self):
assert_equal(self.cache.get_config_list(),
["configure terminal", "interface GigabitEthernet0/0/1", "ip nbar protocol-discovery", "interface GigabitEthernet0/0/2", "ip nbar protocol-discovery", "exit", "arp 1.1.1.1 0000.0001.0000 arpa", "arp 1.1.2.1 0000.0002.0000 arpa", "exit", "show ip nbar protocol-discovery stats packet-count"]
)
def test_clear_cache (self):
self.cache.clear_cache()
assert_equal(self.cache.cache,
{"IF" : {},
"CONF" : [],
"EXEC" : []}
)
def tearDown(self):
self.cache.clear_cache()
|