|
1
|
|
|
#!/usr/bin/python |
|
2
|
|
|
# -*- coding: utf-8 -*- |
|
3
|
|
|
import unittest |
|
4
|
|
|
|
|
5
|
|
|
from tw_serverinfo import GameServers, MasterServers |
|
6
|
|
|
from tw_serverinfo.models.game_server import GameServer |
|
7
|
|
|
|
|
8
|
|
|
|
|
9
|
|
|
class TestGameServers(unittest.TestCase): |
|
10
|
|
|
|
|
11
|
|
|
def setUp(self): |
|
12
|
|
|
"""Constructor for the Unit Test |
|
13
|
|
|
|
|
14
|
|
|
:return: |
|
15
|
|
|
""" |
|
16
|
|
|
master_servers_module = MasterServers() |
|
17
|
|
|
self.game_servers_module = GameServers() |
|
18
|
|
|
self.game_servers = master_servers_module.game_servers |
|
19
|
|
|
|
|
20
|
|
|
def test_fill_server_info(self): |
|
21
|
|
|
"""Test the fill_server_info function to retrieve and parse data from the the game servers |
|
22
|
|
|
if the server responds |
|
23
|
|
|
|
|
24
|
|
|
:return: |
|
25
|
|
|
""" |
|
26
|
|
|
self.game_servers_module.fill_server_info(self.game_servers) |
|
27
|
|
|
for game_server in self.game_servers: # type: GameServer |
|
28
|
|
|
if game_server.response: |
|
29
|
|
|
self.assertTrue(game_server.name != '') |
|
30
|
|
|
self.assertTrue(game_server.max_players > 0) |
|
31
|
|
|
self.assertTrue(game_server.max_clients > 0) |
|
32
|
|
|
self.assertTrue(game_server.token != b'') |
|
33
|
|
|
self.assertTrue(game_server.game_type != '') |
|
34
|
|
|
self.assertTrue(game_server.map_name != '') |
|
35
|
|
|
|
|
36
|
|
|
def test_repr(self): |
|
37
|
|
|
"""Test if all attributes in the repr function can get called properly |
|
38
|
|
|
|
|
39
|
|
|
:return: |
|
40
|
|
|
""" |
|
41
|
|
|
for game_server in self.game_servers: |
|
42
|
|
|
self.assertIsInstance(game_server.__repr__(), str) |
|
43
|
|
|
|
|
44
|
|
|
def test_eq(self): |
|
45
|
|
|
"""Check if equality check works. GameServer objects with the same ip and same port should |
|
46
|
|
|
return True even if another attribute is set |
|
47
|
|
|
|
|
48
|
|
|
:return: |
|
49
|
|
|
""" |
|
50
|
|
|
g1 = GameServer(ip='127.0.0.1', port=8300) |
|
51
|
|
|
g2 = GameServer(ip='127.0.0.1', port=8300) |
|
52
|
|
|
g2.response = True |
|
53
|
|
|
g3 = GameServer(ip='127.0.0.2', port=8300) |
|
54
|
|
|
g4 = GameServer(ip='127.0.0.1', port=8301) |
|
55
|
|
|
self.assertEqual(g1, g2) |
|
56
|
|
|
self.assertNotEqual(g1, g3) |
|
57
|
|
|
self.assertNotEqual(g2, g3) |
|
58
|
|
|
self.assertNotEqual(g3, g4) |
|
59
|
|
|
|
|
60
|
|
|
|
|
61
|
|
|
if __name__ == '__main__': |
|
62
|
|
|
suite = unittest.TestLoader().loadTestsFromTestCase(TestGameServers) |
|
63
|
|
|
unittest.TextTestRunner(verbosity=2).run(suite) |
|
64
|
|
|
|