Merge ~ltrager/maas:lp1843759 into maas:master

Proposed by Lee Trager
Status: Merged
Approved by: Lee Trager
Approved revision: 20065b4b0c962169151ea3a76b21f65f75d94e87
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~ltrager/maas:lp1843759
Merge into: maas:master
Diff against target: 63 lines (+8/-8)
3 files modified
src/maasserver/websockets/base.py (+1/-1)
src/maasserver/websockets/handlers/script.py (+2/-2)
src/maasserver/websockets/handlers/tests/test_script.py (+5/-5)
Reviewer Review Type Date Requested Status
MAAS Lander Needs Fixing
Blake Rouse (community) Approve
Review via email: mp+373004@code.launchpad.net

Commit message

LP: #1843759 - Don't convert JSONObjectField into a string when dehydrating.

To post a comment you must log in.
Revision history for this message
Blake Rouse (blake-rouse) wrote :

Looks good.

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b lp1843759 lp:~ltrager/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci-jenkins.internal:8080/job/maas/job/branch-tester/6450/console
COMMIT: 436a4177c05a842d25b83499bb0b8bdf90bd72c1

review: Needs Fixing
~ltrager/maas:lp1843759 updated
20065b4... by Lee Trager

Fix lint

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/maasserver/websockets/base.py b/src/maasserver/websockets/base.py
index 61abc7a..9cc9ffe 100644
--- a/src/maasserver/websockets/base.py
+++ b/src/maasserver/websockets/base.py
@@ -210,7 +210,7 @@ class Handler(metaclass=HandlerMetaclass):
210 data[field_name] = dehydrate_method(field_obj)210 data[field_name] = dehydrate_method(field_obj)
211 else:211 else:
212 value = field.value_from_object(obj)212 value = field.value_from_object(obj)
213 if is_protected_type(value):213 if is_protected_type(value) or isinstance(value, dict):
214 data[field_name] = value214 data[field_name] = value
215 elif isinstance(field, ArrayField):215 elif isinstance(field, ArrayField):
216 data[field_name] = field.to_python(value)216 data[field_name] = field.to_python(value)
diff --git a/src/maasserver/websockets/handlers/script.py b/src/maasserver/websockets/handlers/script.py
index 872db05..971c55b 100644
--- a/src/maasserver/websockets/handlers/script.py
+++ b/src/maasserver/websockets/handlers/script.py
@@ -1,7 +1,7 @@
1# Copyright 2017-2018 Canonical Ltd. This software is licensed under the1# Copyright 2017-2019 Canonical Ltd. This software is licensed under the
2# GNU Affero General Public License version 3 (see the file LICENSE).2# GNU Affero General Public License version 3 (see the file LICENSE).
33
4"""The DHCPSnippet handler for the WebSocket connection."""4"""The Script handler for the WebSocket connection."""
55
6__all__ = [6__all__ = [
7 "ScriptHandler",7 "ScriptHandler",
diff --git a/src/maasserver/websockets/handlers/tests/test_script.py b/src/maasserver/websockets/handlers/tests/test_script.py
index 1108d6d..7246ef7 100644
--- a/src/maasserver/websockets/handlers/tests/test_script.py
+++ b/src/maasserver/websockets/handlers/tests/test_script.py
@@ -5,7 +5,6 @@
55
6__all__ = []6__all__ = []
77
8import json
98
10from maasserver.testing.factory import factory9from maasserver.testing.factory import factory
11from maasserver.testing.testcase import MAASServerTestCase10from maasserver.testing.testcase import MAASServerTestCase
@@ -25,9 +24,9 @@ class TestScriptHandler(MAASServerTestCase):
25 'script_type': script.script_type,24 'script_type': script.script_type,
26 'hardware_type': script.hardware_type,25 'hardware_type': script.hardware_type,
27 'parallel': script.parallel,26 'parallel': script.parallel,
28 'results': json.dumps(script.results),27 'results': script.results,
29 'parameters': json.dumps(script.parameters),28 'parameters': script.parameters,
30 'packages': json.dumps(script.packages),29 'packages': script.packages,
31 'timeout': '0%s' % str(script.timeout),30 'timeout': '0%s' % str(script.timeout),
32 'destructive': script.destructive,31 'destructive': script.destructive,
33 'default': script.default,32 'default': script.default,
@@ -43,8 +42,9 @@ class TestScriptHandler(MAASServerTestCase):
43 def test_list(self):42 def test_list(self):
44 user = factory.make_User()43 user = factory.make_User()
45 handler = ScriptHandler(user, {}, None)44 handler = ScriptHandler(user, {}, None)
45 parameters = {'interface': {'type': 'interface'}}
46 expected_scripts = sorted([46 expected_scripts = sorted([
47 self.dehydrate_script(factory.make_Script())47 self.dehydrate_script(factory.make_Script(parameters=parameters))
48 for _ in range(3)48 for _ in range(3)
49 ], key=lambda i: i['id'])49 ], key=lambda i: i['id'])
50 sorted_results = sorted(handler.list({}), key=lambda i: i['id'])50 sorted_results = sorted(handler.list({}), key=lambda i: i['id'])

Subscribers

People subscribed via source and target branches