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

TestMasterServers.test_master_servers_property()   A

Complexity

Conditions 1

Size

Total Lines 10
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nop 1
dl 0
loc 10
rs 10
c 0
b 0
f 0
1
#!/usr/bin/python
2
# -*- coding: utf-8 -*-
3
import unittest
4
5
from tw_serverinfo import MasterServers
6
from tw_serverinfo.models.master_server import MasterServer
7
8
9
class TestMasterServers(unittest.TestCase):
10
11
    def setUp(self):
12
        """Constructor for the Unit Test
13
14
        :return:
15
        """
16
        self.master_servers_module = MasterServers()
17
18
    def test_master_servers_plain(self):
19
        """Test the function to retrieve the master servers without requesting information from it yet
20
21
        :return:
22
        """
23
        self.assertEqual(len(self.master_servers_module._master_servers), 0)
24
        self.master_servers_module.get_master_servers()
25
        self.assertEqual(len(self.master_servers_module._master_servers),
26
                         len(self.master_servers_module.master_servers_cfg))
27
28
    def test_repr(self):
29
        """Test if all attributes in the repr function can get called properly
30
31
        :return:
32
        """
33
        for master_server in self.master_servers_module.master_servers:
34
            self.assertIsInstance(master_server.__repr__(), str)
35
36
    def test_eq(self):
37
        """Check if equality check works. MasterServer objects with the same ip and same port should
38
        return True even if another attribute is set
39
40
        :return:
41
        """
42
        g1 = MasterServer(ip='127.0.0.1', port=8300)
43
        g2 = MasterServer(ip='127.0.0.1', port=8300, hostname='master.localhost')
44
        g3 = MasterServer(ip='127.0.0.2', port=8300, hostname='master.localhost')
45
        g4 = MasterServer(ip='127.0.0.1', port=8303)
46
        self.assertEqual(g1, g2)
47
        self.assertNotEqual(g1, g3)
48
        self.assertNotEqual(g1, g4)
49
50
    def test_master_servers_property(self):
51
        """Test the function to retrieve and parse data from the master server
52
53
        :return:
54
        """
55
        # assert that we actually got a dictionary
56
        self.assertIsInstance(self.master_servers_module.master_servers, list)
57
        # check length
58
        self.assertEqual(len(self.master_servers_module.master_servers_cfg),
59
                         len(self.master_servers_module.master_servers))
60
61
62
if __name__ == '__main__':
63
    suite = unittest.TestLoader().loadTestsFromTestCase(TestMasterServers)
64
    unittest.TextTestRunner(verbosity=2).run(suite)
65