예제 #1
0
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'])
예제 #2
0
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)