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
|
|
|
|