-
Notifications
You must be signed in to change notification settings - Fork 0
/
ml_w_vlan_unittest.py
93 lines (87 loc) · 2.34 KB
/
ml_w_vlan_unittest.py
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
"""
unittest - VLAN
"""
import unittest
import os
import threading
import ml_w_vlan
import ml_system
import shutil
class test_get(unittest.TestCase):
""" Test VLAN """
def setUp(self):
""" setUp """
def test_vlan_g01(self):
""" vlan_g01 """
if "json" == ml_system.CFG_TYPE:
shutil.copyfile(os.path.join("unittest", "vlan-g01.json"), os.path.join("running", "vlan.txt"))
if "jcfg" == ml_system.CFG_TYPE:
shutil.copyfile(os.path.join("unittest", "vlan-g01.jcfg"), os.path.join("running", "vlan.txt"))
if "pickle" == ml_system.CFG_TYPE:
return
self.maxDiff = None
e = ml_w_vlan.get(None, threading.RLock())
self.assertEqual(e, (True, {
"vconfig": [
{
"interface": "s0e2",
"vlan_id": 10
}
]
}))
class test_set(unittest.TestCase):
""" Test VLAN """
def setUp(self):
""" setUp """
def test_vlan_g02(self):
""" vlan_g02 """
vlan = {
"vconfig": [
{
"interface": "s0e2",
"vlan_id": 10
}
]
}
self.maxDiff = None
e = ml_w_vlan.set(None, vlan)
self.assertTrue(e[0], e[1])
f = open(os.path.join("running", "vlan.txt"), "r")
e = f.readlines()
f.close()
if "json" == ml_system.CFG_TYPE:
self.assertEqual(e, ['{"vconfig": [{"interface": "s0e2", "vlan_id": 10}]}'])
if "jcfg" == ml_system.CFG_TYPE:
self.assertEqual(e, ['vlan {\n', ' vconfig-array {\n', ' vconfig { #1\n', ' interface s0e2\n', ' vlan_id 10\n', ' }\n', ' }\n', '}\n'])
def test_vlan_g03(self):
""" vlan_g03 """
vlan = {
"vconfig": [
{
"interface": "s0e2",
"vlan_id": 10
}
]
}
class SetThread(threading.Thread):
def run(self):
e = ml_w_vlan.set(None, vlan, threading.RLock())
sl = {}
for i in range(100):
sl.update({i:SetThread()})
sl[i].setDaemon(True)
sl[i].start()
for i in range(100):
sl[i].join()
self.maxDiff = None
f = open(os.path.join("running", "vlan.txt"), "r")
e = f.readlines()
f.close()
if "json" == ml_system.CFG_TYPE:
self.assertEqual(e, ['{"vconfig": [{"interface": "s0e2", "vlan_id": 10}]}'])
if "jcfg" == ml_system.CFG_TYPE:
self.assertEqual(e, ['vlan {\n', ' vconfig-array {\n', ' vconfig { #1\n', ' interface s0e2\n', ' vlan_id 10\n', ' }\n', ' }\n', '}\n'])
if __name__ == "__main__":
unittest.main()