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)