-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests.py
More file actions
executable file
·113 lines (80 loc) · 4.36 KB
/
tests.py
File metadata and controls
executable file
·113 lines (80 loc) · 4.36 KB
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
112
113
#!/usr/bin/env python3
import unittest
import os
import subprocess
import xadmin
sampledata = """
911 emergency [email protected]
22222222 peppes [email protected]
10.54.80.30 sx20 [email protected]
1234 booty [email protected]
"""
tmpfile = "testdata.txt"
class TestXadmin(unittest.TestCase):
def setUp(self):
with open(tmpfile, 'w') as file:
file.write(sampledata)
os.environ['XADMIN_FILE'] = tmpfile
os.environ['XADMIN_DRY'] = "1"
def tearDown(self):
os.remove(tmpfile)
os.unsetenv('XADMIN_FILE')
os.unsetenv('XADMIN_DRY')
def run_cmd(self, cmd):
result = subprocess.check_output(cmd, shell=True)
return result.decode("utf-8").strip()
def test_xadmin(self):
output = self.run_cmd("./xadmin.py --admin emergency")
self.assertEqual(output, "ssh admin@911")
output = self.run_cmd("./xadmin.py --admin booty")
self.assertEqual(output, "ssh admin@1234")
output = self.run_cmd("./xadmin.py --admin ")
self.assertEqual(output, "ssh [email protected]")
def test_xroot(self):
output = self.run_cmd("./xadmin.py --root peppes")
self.assertEqual(output, "ssh root@22222222")
output = self.run_cmd("./xadmin.py --root ")
self.assertEqual(output, "ssh [email protected]")
def test_dial(self):
output = self.run_cmd("./xadmin.py --dial")
self.assertEqual(output, "echo 'xcommand dial number: [email protected]' | ssh [email protected] /bin/tsh")
output = self.run_cmd("./xadmin.py --dial jalla@jalla")
self.assertEqual(output, "echo 'xcommand dial number: jalla@jalla' | ssh [email protected] /bin/tsh")
output = self.run_cmd("./xadmin.py --dial peppes")
self.assertEqual(output, "echo 'xcommand dial number: [email protected]' | ssh [email protected] /bin/tsh")
output = self.run_cmd("./xadmin.py --dial peppes booty")
self.assertEqual(output, "echo 'xcommand dial number: [email protected]' | ssh admin@1234 /bin/tsh")
def test_answer(self):
output = self.run_cmd("./xadmin.py --answer")
self.assertEqual(output, "echo 'xcommand call accept' | ssh [email protected] /bin/tsh")
output = self.run_cmd("./xadmin.py --answer peppes")
self.assertEqual(output, "echo 'xcommand call accept' | ssh admin@22222222 /bin/tsh")
def test_disconnect(self):
output = self.run_cmd("./xadmin.py --disconnect")
self.assertEqual(output, "echo 'xcommand call disconnectall' | ssh [email protected] /bin/tsh")
output = self.run_cmd("./xadmin.py --disconnect peppes")
self.assertEqual(output, "echo 'xcommand call disconnectall' | ssh admin@22222222 /bin/tsh")
def test_pair(self):
output = self.run_cmd("./xadmin.py --pair")
self.assertEqual(output, "adb shell am broadcast -a com.cisco.CODEC_CONFIG_UPDATED -e address 10.54.80.30 -e username admin -e password ''")
output = self.run_cmd("./xadmin.py --pair booty")
self.assertEqual(output, "adb shell am broadcast -a com.cisco.CODEC_CONFIG_UPDATED -e address 1234 -e username admin -e password ''")
def test_search(self):
output = self.run_cmd("./xadmin.py --search jalla").split("\n")
self.assertEqual(output[0], "echo 'xstatus' | ssh [email protected] /bin/tsh | grep -i jalla")
self.assertEqual(output[1], "echo 'xconfig' | ssh [email protected] /bin/tsh | grep -i jalla")
output = self.run_cmd("./xadmin.py --search jalla emergency").split("\n")
self.assertEqual(output[0], "echo 'xstatus' | ssh admin@911 /bin/tsh | grep -i jalla")
self.assertEqual(output[1], "echo 'xconfig' | ssh admin@911 /bin/tsh | grep -i jalla")
def test_web(self):
output = self.run_cmd("./xadmin.py --web")
self.assertEqual(output, "google-chrome http://10.54.80.30")
output = self.run_cmd("./xadmin.py --web booty")
self.assertEqual(output, "google-chrome http://1234")
def test_getip(self):
self.assertEqual(xadmin.get_ip("emergency"), "911")
self.assertEqual(xadmin.get_ip("peppes"), "22222222")
def test_get_uri(self):
self.assertEqual(xadmin.get_uri("booty"), "[email protected]")
if __name__ == "__main__":
unittest.main()