class TestErrors(BaseTestCase): def make_req(self, *args): proc = Process(target=self.start_service, args=(self.addr, )) proc.start() self.client = Requester(self.addr, timeouts=(3000, 3000)) # Change encoder to force service to fail on encoding # since the service uses a MsgPack encoder self.client.encoder = encoder.JSONEncoder() # Build and send payload to service to trigger decoding payload = self.client.build_payload(None, 'divide', *args) self.client.send(payload) # Change back to msg pack encoder to read the service response self.client.encoder = encoder.MsgPackEncoder() out = self.client.receive() proc.terminate() return out def test_decode_error(self): # response now returns either error msg or result out = self.make_req(6, 2) #print(out) self.assertIsNotNone(out[0]['error'])
class TestErrors(BaseTestCase): def make_req(self, *args): proc = Process(target=self.start_service, args=(self.addr, )) proc.start() self.client = Requester(self.addr, timeouts=(3000, 3000)) # Change encoder to force service to fail on encoding # since the service uses a MsgPack encoder self.client.encoder = encoder.JSONEncoder() # Build and send payload to service to trigger decoding payload = self.client.build_payload('divide', args) self.client.send(payload) # Change back to msg pack encoder to read the service response self.client.encoder = encoder.MsgPackEncoder() out = self.client.receive() proc.terminate() return out def test_decode_error(self): out = self.make_req(6, 2) # response shoud be empty since there was a decode error self.assertEqual('', out)