def test_timeout(self): client = Client(Echoer.Client, "echo", self.serverset, acquisition_timeout=0.1) client.echo("foobar") client.close()
def test_client_timeout(self): client = Client(Echoer.Client, "echo", self.serverset) client.client_timeout = 0.1 self.serverset.add_server(("localhost", PORT)) client.echo("sleep") client.close()
def test_close_async(self): client = Client(Echoer.Client, "echo", self.serverset, acquisition_timeout=5) def close_soon(): time.sleep(0.1) client.close() Thread(target=close_soon).start() client.echo("foobar")
def test_client_timeout_connect(self): client = Client(Echoer.Client, "echo", self.serverset) client.client_timeout = 0.1 # Connect to unreachable host 1.1.1.1 self.serverset.add_server(("1.1.1.1", PORT)) t = time.time() try: client.echo("foobar") except: pass duration = time.time() - t assert_that(duration < 0.2, equal_to(True), "duration: %f, should be around 0.1" % duration)
def test_add_server(self): client = Client(Echoer.Client, "echo", self.serverset) def add_server(): # make the call below wait until there is a server present time.sleep(0.2) self.serverset.add_server(("localhost", PORT)) Thread(target=add_server).start() assert_that(client.echo("foobar"), equal_to("foobar")) assert_that(client.echo("foobar2"), equal_to("foobar2")) assert_that(len(client._acquired_clients), equal_to(0)) assert_that(len(client._clients), equal_to(1)) assert_that(len(client._servers), equal_to(1)) client.close()
def test_remove_server(self): client = Client(Echoer.Client, "echo", self.serverset) self.serverset.add_server(("localhost", PORT + 1)) try: client.echo("foobar") raise AssertionError("Client should have failed") except TTransportException: pass self.serverset.remove_server(("localhost", PORT + 1)) assert_that(len(client._clients), equal_to(0)) self.serverset.add_server(("localhost", PORT)) assert_that(len(client._servers), equal_to(1)) assert_that(client.echo("foobar"), equal_to("foobar")) client.close()
def test_close_sync(self): client = Client(Echoer.Client, "echo", self.serverset) client.close() client.echo("foobar")