changeset 48079ba5f123 in trytond:6.0
details: https://hg.tryton.org/trytond?cmd=changeset&node=48079ba5f123
description:
        Make ImmutableDict dumpable by protocols

        issue10599
        review349001002
        (grafted from 9826b7711f94fd9ae4b67b625f9b8b1c63f85cca)
diffstat:

 trytond/protocols/xmlrpc.py     |  2 ++
 trytond/tests/test_protocols.py |  9 +++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diffs (52 lines):

diff -r f355f5479fc3 -r 48079ba5f123 trytond/protocols/xmlrpc.py
--- a/trytond/protocols/xmlrpc.py       Wed Jul 07 00:44:40 2021 +0200
+++ b/trytond/protocols/xmlrpc.py       Thu Jul 22 19:06:15 2021 +0200
@@ -12,6 +12,7 @@
     BadRequest, InternalServerError, Conflict, Forbidden, Locked,
     TooManyRequests)
 
+from trytond.model.fields.dict import ImmutableDict
 from trytond.protocols.wrappers import Request
 from trytond.exceptions import (
     TrytonException, UserWarning, LoginException, ConcurrencyException,
@@ -72,6 +73,7 @@
 
 
 client.Marshaller.dispatch[dict] = dump_struct
+client.Marshaller.dispatch[ImmutableDict] = dump_struct
 
 
 class XMLRPCDecoder(object):
diff -r f355f5479fc3 -r 48079ba5f123 trytond/tests/test_protocols.py
--- a/trytond/tests/test_protocols.py   Wed Jul 07 00:44:40 2021 +0200
+++ b/trytond/tests/test_protocols.py   Thu Jul 22 19:06:15 2021 +0200
@@ -6,6 +6,7 @@
 import datetime
 from decimal import Decimal
 
+from trytond.model.fields.dict import ImmutableDict
 from trytond.protocols.jsonrpc import JSONEncoder, JSONDecoder, JSONRequest
 from trytond.protocols.xmlrpc import client, XMLRequest
 
@@ -49,6 +50,10 @@
         'Test Decimal'
         self.dumps_loads(Decimal('3.141592653589793'))
 
+    def test_immutable_dict(self):
+        "Test ImmutableDict"
+        self.dumps_loads(ImmutableDict(foo='bar'))
+
 
 class XMLTestCase(unittest.TestCase):
     'Test XML'
@@ -95,6 +100,10 @@
         'Test time'
         self.dumps_loads(datetime.datetime.now().time())
 
+    def test_immutable_dict(self):
+        "Test ImmutableDict"
+        self.dumps_loads(ImmutableDict(foo='bar'))
+
     def test_none(self):
         'Test None'
         self.dumps_loads(None)

Reply via email to