Passed
Push — master ( 91831d...3add59 )
by Steffen
01:51
created

test_game_servers.TestGameServers.test_eq()   A

Complexity

Conditions 1

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nop 1
dl 0
loc 15
rs 9.9
c 0
b 0
f 0
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