コード例 #1
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_ext_type__timedelta(self, ExtTypeMock):
        packer = _Packer()

        CODE = 124
        td = datetime.timedelta(days=1, hours=2, minutes=3, seconds=4)
        data = dumps(td, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(td, packer.ext_type_unpack_hook(CODE, data))

        packer.ext_type_pack_hook(td)
        ExtTypeMock.assert_called_once_with(CODE, data)
コード例 #2
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_ext_type__time_tzinfo(self, ExtTypeMock):
        packer = _Packer()

        CODE = 125
        tm = datetime.time(15, 51, 0, tzinfo=datetime.timezone.utc)
        data = dumps(tm, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(tm, packer.ext_type_unpack_hook(CODE, data))

        packer.ext_type_pack_hook(tm)
        ExtTypeMock.assert_called_once_with(CODE, data)
コード例 #3
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
    def test_ext_type__timedelta(self, ExtTypeMock):
        packer = _Packer()

        CODE = 124
        td = datetime.timedelta(days=1, hours=2, minutes=3, seconds=4)
        data = dumps(td, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(td, packer.ext_type_unpack_hook(CODE, data))

        packer.ext_type_pack_hook(td)
        ExtTypeMock.assert_called_once_with(CODE, data)
コード例 #4
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_ext_type__datetime(self, ExtTypeMock):
        packer = _Packer()

        CODE = 126
        dt = datetime.datetime(2014, 3, 25, 15, 18)
        data = dumps(dt, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(dt, packer.ext_type_unpack_hook(CODE, data))

        packer.ext_type_pack_hook(dt)
        ExtTypeMock.assert_called_once_with(CODE, data)
コード例 #5
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
    def test_ext_type__datetime(self, ExtTypeMock):
        packer = _Packer()

        CODE = 126
        dt = datetime.datetime(2014, 3, 25, 15, 18)
        data = dumps(dt, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(dt, packer.ext_type_unpack_hook(CODE, data))

        packer.ext_type_pack_hook(dt)
        ExtTypeMock.assert_called_once_with(CODE, data)
コード例 #6
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
    def test_ext_type__time_tzinfo(self, ExtTypeMock):
        packer = _Packer()

        CODE = 125
        tm = datetime.time(15, 51, 0, tzinfo=datetime.timezone.utc)
        data = dumps(tm, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(tm, packer.ext_type_unpack_hook(CODE, data))

        packer.ext_type_pack_hook(tm)
        ExtTypeMock.assert_called_once_with(CODE, data)
コード例 #7
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_simple_translators(self):
        translation_table = {
            0: (Point, partial(dumps, protocol=HIGHEST_PROTOCOL), loads),
        }
        packer = _Packer(translation_table=translation_table)

        pt = Point(1, 2)
        data = dumps(pt, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(pt, packer.unpackb(packer.packb(pt)))
        self.assertEqual(ExtType(0, data), packer.ext_type_pack_hook(pt))

        self.assertEqual(pt, packer.ext_type_unpack_hook(0, data))
コード例 #8
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
    def test_simple_translators(self):
        translation_table = {
            0: (Point, partial(dumps, protocol=HIGHEST_PROTOCOL), loads),
        }
        packer = _Packer(translation_table=translation_table)

        pt = Point(1, 2)
        data = dumps(pt, protocol=HIGHEST_PROTOCOL)

        self.assertEqual(pt, packer.unpackb(packer.packb(pt)))
        self.assertEqual(ExtType(0, data), packer.ext_type_pack_hook(pt))

        self.assertEqual(pt, packer.ext_type_unpack_hook(0, data))
コード例 #9
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_override_translators(self):
        translation_table = {
            125: (Point, partial(dumps, protocol=HIGHEST_PROTOCOL), loads),
        }
        packer = _Packer(translation_table=translation_table)

        pt = Point(3, 4)
        data = dumps(pt, protocol=HIGHEST_PROTOCOL)

        dt = datetime.time(15, 2)

        self.assertEqual(ExtType(125, data), packer.ext_type_pack_hook(pt))
        with self.assertRaisesRegex(TypeError, "Unknown type: "):
            packer.ext_type_pack_hook(dt)
コード例 #10
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
    def test_override_translators(self):
        translation_table = {
            125: (Point, partial(dumps, protocol=HIGHEST_PROTOCOL), loads),
        }
        packer = _Packer(translation_table=translation_table)

        pt = Point(3, 4)
        data = dumps(pt, protocol=HIGHEST_PROTOCOL)

        dt = datetime.time(15, 2)

        self.assertEqual(ExtType(125, data), packer.ext_type_pack_hook(pt))
        with self.assertRaisesRegex(TypeError, "Unknown type: "):
            packer.ext_type_pack_hook(dt)
コード例 #11
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_ext_type_errors(self):
        packer = _Packer()

        with self.assertRaisesRegex(TypeError, "Unknown type: "):
            packer.ext_type_pack_hook(packer)
        self.assertIn(_Packer, packer._pack_cache)
        self.assertIsNone(packer._pack_cache[_Packer])
        # lets try again just for good coverage
        with self.assertRaisesRegex(TypeError, "Unknown type: "):
            packer.ext_type_pack_hook(packer)

        self.assertEqual(ExtType(1, b''), packer.ext_type_unpack_hook(1, b''))

        # TODO: should be more specific errors
        with self.assertRaises(Exception):
            packer.ext_type_unpack_hook(127, b'bad data')
コード例 #12
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
    def test_ext_type_errors(self):
        packer = _Packer()

        with self.assertRaisesRegex(TypeError, "Unknown type: "):
            packer.ext_type_pack_hook(packer)
        self.assertIn(_Packer, packer._pack_cache)
        self.assertIsNone(packer._pack_cache[_Packer])
        # lets try again just for good coverage
        with self.assertRaisesRegex(TypeError, "Unknown type: "):
            packer.ext_type_pack_hook(packer)

        self.assertEqual(ExtType(1, b''), packer.ext_type_unpack_hook(1, b''))

        # TODO: should be more specific errors
        with self.assertRaises(Exception):
            packer.ext_type_unpack_hook(127, b'bad data')
コード例 #13
0
ファイル: rpc_packer_test.py プロジェクト: aio-libs/aiozmq
    def test_preserve_resolution_order(self):
        class A:
            pass

        class B(A):
            pass

        dump_a = mock.Mock(return_value=b"a")
        load_a = mock.Mock(return_value=A())

        dump_b = mock.Mock(return_value=b"b")
        load_b = mock.Mock(return_value=B())

        translation_table = {
            1: (A, dump_a, load_a),
            2: (B, dump_b, load_b),
        }
        packer = _Packer(translation_table=translation_table)
        self.assertEqual(packer.packb(ExtType(1, b"a")), packer.packb(A()))
        self.assertEqual(packer.packb(ExtType(2, b"b")), packer.packb(B()))
コード例 #14
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
    def test_preserve_resolution_order(self):
        class A:
            pass

        class B(A):
            pass

        dump_a = mock.Mock(return_value=b'a')
        load_a = mock.Mock(return_value=A())

        dump_b = mock.Mock(return_value=b'b')
        load_b = mock.Mock(return_value=B())

        translation_table = {
            1: (A, dump_a, load_a),
            2: (B, dump_b, load_b),
        }
        packer = _Packer(translation_table=translation_table)
        self.assertEqual(packer.packb(ExtType(1, b'a')), packer.packb(A()))
        self.assertEqual(packer.packb(ExtType(2, b'b')), packer.packb(B()))
コード例 #15
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
 def test_unpackb_simple(self):
     packer = _Packer()
     self.assertEqual('test', packer.unpackb(packb('test')))
     self.assertEqual((123,), packer.unpackb(packb([123])))
     self.assertEqual((123,), packer.unpackb(packb((123,))))
コード例 #16
0
ファイル: rpc_packer_test.py プロジェクト: TadLeonard/aiozmq
 def test_packb_simple(self):
     packer = _Packer()
     self.assertEqual(packb('test'), packer.packb('test'))
     self.assertEqual(packb([123]), packer.packb([123]))
     self.assertEqual(packb((123,)), packer.packb([123]))
コード例 #17
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
 def test_unpackb_simple(self):
     packer = _Packer()
     self.assertEqual('test', packer.unpackb(packb('test')))
     self.assertEqual((123,), packer.unpackb(packb([123])))
     self.assertEqual((123,), packer.unpackb(packb((123,))))
コード例 #18
0
ファイル: rpc_packer_test.py プロジェクト: wabu/aiozmq
 def test_packb_simple(self):
     packer = _Packer()
     self.assertEqual(packb('test'), packer.packb('test'))
     self.assertEqual(packb([123]), packer.packb([123]))
     self.assertEqual(packb((123,)), packer.packb([123]))