-
Notifications
You must be signed in to change notification settings - Fork 0
/
ml_w_ip_address_unittest.py
111 lines (105 loc) · 5.33 KB
/
ml_w_ip_address_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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
"""
unittest - IP Address
"""
import unittest
import os
import threading
import ml_w_ip_address
import ml_system
import shutil
class test_get(unittest.TestCase):
""" Test DNS """
def setUp(self):
""" setUp """
def test_ip_address_g01(self):
""" ip_address_g01 """
if "json" == ml_system.CFG_TYPE:
shutil.copyfile(os.path.join("unittest", "ip_address-g01.json"), os.path.join("running", "ip_address.txt"))
if "jcfg" == ml_system.CFG_TYPE:
shutil.copyfile(os.path.join("unittest", "ip_address-g01.jcfg"), os.path.join("running", "ip_address.txt"))
if "pickle" == ml_system.CFG_TYPE:
return
self.maxDiff = None
e = ml_w_ip_address.get(None, threading.RLock())
self.assertEqual(e, (True, {
'ip': [{
'interface': 's0e2',
'ipv4': [
{'ipv4_address': '192.168.10.1', 'ipv4_prefix': 16},
{'ipv4_address': '192.168.10.2', 'ipv4_prefix': 16},
{'ipv4_address': '192.168.10.3', 'ipv4_prefix': 16}
],
'ipv6': [
{'ipv6_prefix': 32, 'ipv6_address': '2001::1'},
{'ipv6_prefix': 32, 'ipv6_address': '2001::2'}
]
}]
}))
class test_set(unittest.TestCase):
""" Test DNS """
def setUp(self):
""" setUp """
def test_ip_address_g02(self):
""" ip_address_g02 """
ip_address = {
'ip': [{
'interface': 's0e2',
'ipv4': [
{'ipv4_address': '192.168.10.1', 'ipv4_prefix': 16},
{'ipv4_address': '192.168.10.2', 'ipv4_prefix': 16},
{'ipv4_address': '192.168.10.3', 'ipv4_prefix': 16}
],
'ipv6': [
{'ipv6_prefix': 32, 'ipv6_address': '2001::1'},
{'ipv6_prefix': 32, 'ipv6_address': '2001::2'}
]
}]
}
self.maxDiff = None
e = ml_w_ip_address.set(None, ip_address)
self.assertTrue(e[0], e[1])
f = open(os.path.join("running", "ip_address.txt"), "r")
e = f.readlines()
f.close()
if "json" == ml_system.CFG_TYPE:
self.assertEqual(e, ['{"ip": [{"interface": "s0e2", "ipv4": [{"ipv4_address": "192.168.10.1", "ipv4_prefix": 16}, {"ipv4_address": "192.168.10.2", "ipv4_prefix": 16}, {"ipv4_address": "192.168.10.3", "ipv4_prefix": 16}], "ipv6": [{"ipv6_prefix": 32, "ipv6_address": "2001::1"}, {"ipv6_prefix": 32, "ipv6_address": "2001::2"}]}]}'])
if "jcfg" == ml_system.CFG_TYPE:
self.assertEqual(e, ['ip_address {\n', ' ip-array {\n', ' ip { #1\n', ' interface s0e2\n', ' ipv4-array {\n', ' ipv4 { #1\n', ' ipv4_address 192.168.10.1\n', ' ipv4_prefix 16\n', ' }\n', ' ipv4 { #2\n', ' ipv4_address 192.168.10.2\n', ' ipv4_prefix 16\n', ' }\n', ' ipv4 { #3\n', ' ipv4_address 192.168.10.3\n', ' ipv4_prefix 16\n', ' }\n', ' }\n', ' ipv6-array {\n', ' ipv6 { #1\n', ' ipv6_address 2001::1\n', ' ipv6_prefix 32\n', ' }\n', ' ipv6 { #2\n', ' ipv6_address 2001::2\n', ' ipv6_prefix 32\n', ' }\n', ' }\n', ' }\n', ' }\n', '}\n'])
def test_ip_address_g03(self):
""" ip_address_g03 """
ip_address = {
'ip': [{
'interface': 's0e2',
'ipv4': [
{'ipv4_address': '192.168.10.1', 'ipv4_prefix': 16},
{'ipv4_address': '192.168.10.2', 'ipv4_prefix': 16},
{'ipv4_address': '192.168.10.3', 'ipv4_prefix': 16}
],
'ipv6': [
{'ipv6_prefix': 32, 'ipv6_address': '2001::1'},
{'ipv6_prefix': 32, 'ipv6_address': '2001::2'}
]
}]
}
class SetThread(threading.Thread):
def run(self):
e = ml_w_ip_address.set(None, ip_address, 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", "ip_address.txt"), "r")
e = f.readlines()
f.close()
if "json" == ml_system.CFG_TYPE:
self.assertEqual(e, ['{"ip": [{"interface": "s0e2", "ipv4": [{"ipv4_address": "192.168.10.1", "ipv4_prefix": 16}, {"ipv4_address": "192.168.10.2", "ipv4_prefix": 16}, {"ipv4_address": "192.168.10.3", "ipv4_prefix": 16}], "ipv6": [{"ipv6_prefix": 32, "ipv6_address": "2001::1"}, {"ipv6_prefix": 32, "ipv6_address": "2001::2"}]}]}'])
if "jcfg" == ml_system.CFG_TYPE:
self.assertEqual(e, ['ip_address {\n', ' ip-array {\n', ' ip { #1\n', ' interface s0e2\n', ' ipv4-array {\n', ' ipv4 { #1\n', ' ipv4_address 192.168.10.1\n', ' ipv4_prefix 16\n', ' }\n', ' ipv4 { #2\n', ' ipv4_address 192.168.10.2\n', ' ipv4_prefix 16\n', ' }\n', ' ipv4 { #3\n', ' ipv4_address 192.168.10.3\n', ' ipv4_prefix 16\n', ' }\n', ' }\n', ' ipv6-array {\n', ' ipv6 { #1\n', ' ipv6_address 2001::1\n', ' ipv6_prefix 32\n', ' }\n', ' ipv6 { #2\n', ' ipv6_address 2001::2\n', ' ipv6_prefix 32\n', ' }\n', ' }\n', ' }\n', ' }\n', '}\n'])
if __name__ == "__main__":
unittest.main()