Пример #1
0
    def test_raise_exception_invalid_payload_type(self):
        with self.assertRaises(EXP.RCException) as exp:
            RCMPFrame.encode(1234)
        self.assertEqual(ERR.ERROR, exp.exception.errno)
        self.assertTrue('invalid payload type: ' in exp.exception.errmsg)

        with self.assertRaises(EXP.RCException) as exp:
            RCMPFrame.encode(PAYLOAD)
        self.assertEqual(ERR.ERROR, exp.exception.errno)
        self.assertTrue('invalid payload type: ' in exp.exception.errmsg)
Пример #2
0
    def test_raise_exception_payload_too_large(self):

        large_payload = 'a' * (0x10000 - CONST.RCMP_FRAMEHEADSIZE)
        frame = RCMPFrame.encode(large_payload)
        self.assertIsNotNone(frame)

        large_payload += 'a'
        with self.assertRaises(EXP.RCException) as exp:
            RCMPFrame.encode(large_payload)
        self.assertEqual(ERR.ERROR_INVALID, exp.exception.errno)
        self.assertEqual('payload too large', exp.exception.errmsg)
Пример #3
0
    def test_encode_and_parse(self):
        frame = RCMPFrame.encode(PAYLOAD_STR)
        payload_str, frame_length = RCMPFrame.parse(frame)
        payloadObj = json.loads(payload_str)

        self.assertEqual(CONST.RCMP_FRAMEHEADSIZE + len(PAYLOAD_STR),
                         frame_length)
        self.assertEqual(ordered(PAYLOAD), ordered(payloadObj))
Пример #4
0
 def test_encode_no_payload_bytes(self):
     frame = RCMPFrame.encode(None)
     self.assertEqual(frame, FRAME_NO_PAYLOAD)
Пример #5
0
 def test_encode_bytes(self):
     frame = RCMPFrame.encode(PAYLOAD_BYTES)
     self.assertEqual(frame, FRAME)
Пример #6
0
 def test_encode(self):
     frame = RCMPFrame.encode(PAYLOAD_STR)
     self.assertEqual(frame, FRAME)
Пример #7
0
    def test_encode_and_parse_no_payload(self):
        frame = RCMPFrame.encode(None)
        payload_str, frame_length = RCMPFrame.parse(frame)

        self.assertEqual(CONST.RCMP_FRAMEHEADSIZE, frame_length)
        self.assertEqual(None, payload_str)