コード例 #1
0
class TestStringMethods(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        self.server = Server()
        self.loadBalancer = LoadBalancer()

    def test_server_add(self):
        self.server.add_connection("192.168.1.1")
        self.assertTrue(len(self.server.connections) == 1)

    def test_server_close(self):
        self.server.close_connection("192.168.1.1")
        self.assertTrue(len(self.server.connections) == 0)

    def test_loadBalancer_add(self):
        self.loadBalancer.add_connection("fdca:83d2::f20d")
        self.assertTrue(len(self.loadBalancer.connections) == 1)
        self.assertTrue(len(self.loadBalancer.servers) == 1)

    def test_loadBalancer_avgAndAppend(self):
        avg = self.loadBalancer.avg_load()
        self.assertTrue(avg > 0)
        self.loadBalancer.servers.append(Server())
        newAvg = self.loadBalancer.avg_load()
        self.assertTrue(avg > newAvg)

    def test_loadBalancer_close(self):
        self.loadBalancer.close_connection("fdca:83d2::f20d")
        self.assertTrue(len(self.loadBalancer.connections) == 0)
        self.assertTrue(self.loadBalancer.avg_load() == 0)

    def test_loadBalancer_ensureAvailability(self):
        for connection in range(20):
            self.loadBalancer.add_connection(connection)
        self.assertTrue(self.loadBalancer.avg_load() < 50)