def test_not_connected_exchange(self): client = AgentProxy('localhost:7000') try: client._exchange({'some': 'data'}) assert False except AgentProxyException as e: assert str(e) == 'no connection is available.'
def test_wrong_protocol_response(self, monkeypatch): skt = MockSocket.create() monkeypatch.setattr(socket, 'socket', lambda: skt) client = AgentProxy('localhost:7000') client.connect() try: client._exchange({'wrong': 'response'}) assert False except AgentProxyException as e: assert str(e) == 'wring message format'
def test_low_level_exception_on_exchange(self, monkeypatch): transport = NetString('skt') transport.write_string = lambda x: MockUtils.raise_( Exception('some error')) client = AgentProxy('localhost:7000') client.transport = transport client.skt = 'skt' try: client._exchange({'some': 'data'}) assert False except AgentProxyException as e: assert str(e) == 'some error'
def test_error_response(self, monkeypatch): skt = MockSocket.create() monkeypatch.setattr(socket, 'socket', lambda: skt) client = AgentProxy('localhost:7000') client.connect() try: client._exchange({'response': 'error'}) assert False except AgentProxyException as e: assert str(e) == 'unknown error' try: client._exchange({'response': 'error', 'message': 'some error'}) assert False except AgentProxyException as e: assert str(e) == 'some error'
def test_exchange(self, monkeypatch): skt = MockSocket.create() monkeypatch.setattr(socket, 'socket', lambda: skt) client = AgentProxy('localhost:7000') client.connect() ret = client._exchange({'response': 'action', 'data': [1, 2, 3]}) assert ret == [1, 2, 3]