changeset 9826b7711f94 in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset&node=9826b7711f94
description:
        Make ImmutableDict dumpable by protocols

        issue10599
        review349001002
diffstat:

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

diffs (52 lines):

diff -r 5fa47ee46ce6 -r 9826b7711f94 trytond/protocols/xmlrpc.py
--- a/trytond/protocols/xmlrpc.py       Mon Jul 12 23:31:09 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 5fa47ee46ce6 -r 9826b7711f94 trytond/tests/test_protocols.py
--- a/trytond/tests/test_protocols.py   Mon Jul 12 23:31:09 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