class TestServer(unittest.TestCase): def setUp(self): self.server = Server(0) def test_start(self): self.server._wait = MagicMock() result = self.__start_server() self.socket_mock.assert_call_once_with(socket.AF_INET, socket.SOCK_STREAM) self.server._wait.assert_call_once() def test_start_fail(self): self.server._wait = MagicMock() result = self.__start_server() try: self.server.start() self.fail("Expected Exception.") except Exception as e: pass def test_stop(self): self.server._wait = MagicMock() self.__start_server() self.server.stop() self.socket_mock.close.assert_call_once() def test_ready(self): self.server._wait = MagicMock() result = self.server.ready() self.assertFalse(result) self.__start_server() result = self.server.ready() self.assertTrue(result) def __start_server(self): self.socket_mock = MagicMock() self.socket_method_mock = MagicMock(return_value=self.socket_mock) socket.socket = self.socket_method_mock return self.server.start()