-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathtest_servers.py
110 lines (81 loc) · 2.57 KB
/
test_servers.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
from servers import ServerManager
db_name = 'cs240-test-db' # use different db to avoid messing the main db
serverManager = ServerManager(db_name)
name = 'testMG'
def Log():
print("Servers")
print(serverManager.servers)
def setup():
serverManager.connection.db.servers.delete_many({}) # start with empty db
serverManager.load() # reset cache
def test():
setup()
assert(not serverManager.has_servers())
assert(serverManager.find(name) is None)
status, message = serverManager.insert({
"name": name,
"url": "http://localhost:24000",
"author": "Aarya",
"weight": 1
})
if status // 100 != 2:
assert(len(serverManager.servers) == 0)
assert(len(serverManager.names) == 0)
assert(len(serverManager.weights) == 0)
print(message)
exit(1)
Log()
assert(serverManager.find('testMG') is not None)
mg = serverManager.find(name)
assert(bool(mg))
assert('name' in mg)
assert('author' in mg)
assert('url' in mg)
assert('weight' in mg)
assert(len(serverManager.servers) == 1)
assert(serverManager.names[0] == mg['name'])
assert(serverManager.weights[0] == mg['weight'])
status, message = serverManager.insert({
"name": 'test2',
"url": "http://localhost:24001",
"author": "Aarya",
"weight": 1
})
if status // 100 != 2:
print(message)
exit(1)
assert(len(serverManager.servers) == 2)
assert(len(serverManager.names) == 2)
assert(len(serverManager.weights) == 2)
assert(serverManager.find('test2') is not None)
Log()
status, message = serverManager.update(name, {
'name': 'test1',
'weight': 0.75,
'author': 'aaryab2'
})
if status // 100 != 2:
print(message)
exit(1)
mg = serverManager.find('test1')
assert(serverManager.find(name) is None)
assert(mg is not None)
assert(mg['author'] == 'aaryab2')
assert(mg['weight'] == 0.75)
Log()
assert(serverManager.names[0] == mg['name'])
assert(serverManager.weights[0] == mg['weight'])
status, message = serverManager.remove('test1')
if status // 100 != 2:
print(message)
exit(1)
assert(len(serverManager.servers) == 1)
assert(len(serverManager.names) == 1)
assert(len(serverManager.weights) == 1)
assert(serverManager.find('test1') is None)
mg = serverManager.find('test2')
assert(serverManager.names[0] == mg['name'])
assert(serverManager.weights[0] == mg['weight'])
Log()
if __name__ == '__main__':
test()