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)