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
1diff --git a/src/maasserver/websockets/base.py b/src/maasserver/websockets/base.py
2index 61abc7a..9cc9ffe 100644
3--- a/src/maasserver/websockets/base.py
4+++ b/src/maasserver/websockets/base.py
5@@ -210,7 +210,7 @@ class Handler(metaclass=HandlerMetaclass):
6 data[field_name] = dehydrate_method(field_obj)
7 else:
8 value = field.value_from_object(obj)
9- if is_protected_type(value):
10+ if is_protected_type(value) or isinstance(value, dict):
11 data[field_name] = value
12 elif isinstance(field, ArrayField):
13 data[field_name] = field.to_python(value)
14diff --git a/src/maasserver/websockets/handlers/script.py b/src/maasserver/websockets/handlers/script.py
15index 872db05..971c55b 100644
16--- a/src/maasserver/websockets/handlers/script.py
17+++ b/src/maasserver/websockets/handlers/script.py
18@@ -1,7 +1,7 @@
19-# Copyright 2017-2018 Canonical Ltd. This software is licensed under the
20+# Copyright 2017-2019 Canonical Ltd. This software is licensed under the
21 # GNU Affero General Public License version 3 (see the file LICENSE).
22
23-"""The DHCPSnippet handler for the WebSocket connection."""
24+"""The Script handler for the WebSocket connection."""
25
26 __all__ = [
27 "ScriptHandler",
28diff --git a/src/maasserver/websockets/handlers/tests/test_script.py b/src/maasserver/websockets/handlers/tests/test_script.py
29index 1108d6d..7246ef7 100644
30--- a/src/maasserver/websockets/handlers/tests/test_script.py
31+++ b/src/maasserver/websockets/handlers/tests/test_script.py
32@@ -5,7 +5,6 @@
33
34 __all__ = []
35
36-import json
37
38 from maasserver.testing.factory import factory
39 from maasserver.testing.testcase import MAASServerTestCase
40@@ -25,9 +24,9 @@ class TestScriptHandler(MAASServerTestCase):
41 'script_type': script.script_type,
42 'hardware_type': script.hardware_type,
43 'parallel': script.parallel,
44- 'results': json.dumps(script.results),
45- 'parameters': json.dumps(script.parameters),
46- 'packages': json.dumps(script.packages),
47+ 'results': script.results,
48+ 'parameters': script.parameters,
49+ 'packages': script.packages,
50 'timeout': '0%s' % str(script.timeout),
51 'destructive': script.destructive,
52 'default': script.default,
53@@ -43,8 +42,9 @@ class TestScriptHandler(MAASServerTestCase):
54 def test_list(self):
55 user = factory.make_User()
56 handler = ScriptHandler(user, {}, None)
57+ parameters = {'interface': {'type': 'interface'}}
58 expected_scripts = sorted([
59- self.dehydrate_script(factory.make_Script())
60+ self.dehydrate_script(factory.make_Script(parameters=parameters))
61 for _ in range(3)
62 ], key=lambda i: i['id'])
63 sorted_results = sorted(handler.list({}), key=lambda i: i['id'])

Subscribers

People subscribed via source and target branches