Merge ~cgrabowski/maas:remove_new_filter_list_from_controller_and_device into maas:master

Proposed by Christian Grabowski
Status: Merged
Approved by: Christian Grabowski
Approved revision: f2d22a8662281f29812b288f2ba1e26631b47f3a
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~cgrabowski/maas:remove_new_filter_list_from_controller_and_device
Merge into: maas:master
Diff against target: 291 lines (+33/-42)
6 files modified
src/maasserver/websockets/base.py (+2/-2)
src/maasserver/websockets/handlers/machine.py (+1/-0)
src/maasserver/websockets/handlers/node.py (+1/-1)
src/maasserver/websockets/handlers/tests/test_controller.py (+19/-29)
src/maasserver/websockets/handlers/tests/test_device.py (+5/-5)
src/maasserver/websockets/tests/test_base.py (+5/-5)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Alexsander de Souza Approve
Review via email: mp+427513@code.launchpad.net

Commit message

revert units for device and controller handlers to original list schema

only use paginated list on Machine handler

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b remove_new_filter_list_from_controller_and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/190/consoleText
COMMIT: 9e742872cb915921d581b87bbbdacb7f21057d00

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

UNIT TESTS
-b remove_new_filter_list_from_controller_and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/191/consoleText
COMMIT: 8fbba2997a577d5c702e880dcc16f0517755ea09

review: Needs Fixing
Revision history for this message
Alexsander de Souza (alexsander-souza) wrote :

+1

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

UNIT TESTS
-b remove_new_filter_list_from_controller_and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas-tester/192/consoleText
COMMIT: e234c1c92487366168390394e1daef24afca347a

review: Needs Fixing
Revision history for this message
Christian Grabowski (cgrabowski) wrote :

jenkins: !test

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

UNIT TESTS
-b remove_new_filter_list_from_controller_and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: e234c1c92487366168390394e1daef24afca347a

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

LANDING
-b remove_new_filter_list_from_controller_and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED BUILD
LOG: http://maas-ci.internal:8080/job/maas-tester/194/consoleText

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

UNIT TESTS
-b remove_new_filter_list_from_controller_and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: f2d22a8662281f29812b288f2ba1e26631b47f3a

review: Approve

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 e0526ab..2f4d98f 100644
3--- a/src/maasserver/websockets/base.py
4+++ b/src/maasserver/websockets/base.py
5@@ -116,7 +116,7 @@ class HandlerOptions:
6 view_permission = None
7 edit_permission = None
8 delete_permission = None
9- use_new_schema = False
10+ use_paginated_list = False
11 dft_page_size = 100
12
13 def __new__(cls, meta=None):
14@@ -525,7 +525,7 @@ class Handler(metaclass=HandlerMetaclass):
15 if "filter" in params:
16 qs_filter = self._filter(qs_filter, "list", params["filter"])
17
18- if self._meta.use_new_schema:
19+ if self._meta.use_paginated_list:
20 return self._build_list_grouping(qs_filter, params)
21 else:
22 return self._build_list_simple(qs_filter, params)
23diff --git a/src/maasserver/websockets/handlers/machine.py b/src/maasserver/websockets/handlers/machine.py
24index a64d51d..c7e0915 100644
25--- a/src/maasserver/websockets/handlers/machine.py
26+++ b/src/maasserver/websockets/handlers/machine.py
27@@ -257,6 +257,7 @@ class MachineHandler(NodeHandler):
28 view_permission = NodePermission.view
29 edit_permission = NodePermission.admin
30 delete_permission = NodePermission.admin
31+ use_paginated_list = True
32
33 def __init__(self, *args, **kwargs):
34 super().__init__(*args, **kwargs)
35diff --git a/src/maasserver/websockets/handlers/node.py b/src/maasserver/websockets/handlers/node.py
36index 77b6dfc..b422758 100644
37--- a/src/maasserver/websockets/handlers/node.py
38+++ b/src/maasserver/websockets/handlers/node.py
39@@ -158,7 +158,7 @@ class NodeHandler(TimestampedModelHandler):
40 pk = "system_id"
41 bulk_pk = "system_ids"
42 pk_type = str
43- use_new_schema = True
44+ use_paginated_list = False
45
46 def __init__(self, user, cache, request):
47 super().__init__(user, cache, request)
48diff --git a/src/maasserver/websockets/handlers/tests/test_controller.py b/src/maasserver/websockets/handlers/tests/test_controller.py
49index f961ede..692f01d 100644
50--- a/src/maasserver/websockets/handlers/tests/test_controller.py
51+++ b/src/maasserver/websockets/handlers/tests/test_controller.py
52@@ -38,8 +38,7 @@ class TestControllerHandler(MAASServerTestCase):
53
54 handler = ControllerHandler(owner, {}, None)
55 list_results = handler.list({})
56- list_items = list_results["groups"][0]["items"]
57- result = {entry["id"]: entry["vlans_ha"] for entry in list_items}
58+ result = {entry["id"]: entry["vlans_ha"] for entry in list_results}
59 self.assertEqual(
60 result,
61 {
62@@ -53,13 +52,12 @@ class TestControllerHandler(MAASServerTestCase):
63 handler = ControllerHandler(owner, {}, None)
64 node = factory.make_RackController(owner=owner)
65 list_results = handler.list({})
66- list_items = list_results["groups"][0]["items"]
67- self.assertEqual(1, len(list_items))
68+ self.assertEqual(1, len(list_results))
69 self.assertEqual(
70- NODE_TYPE.RACK_CONTROLLER, list_items[0].get("node_type")
71+ NODE_TYPE.RACK_CONTROLLER, list_results[0].get("node_type")
72 )
73 self.assertEqual(
74- list_items[0].get("last_image_sync"),
75+ list_results[0].get("last_image_sync"),
76 dehydrate_datetime(node.last_image_sync),
77 )
78 data = handler.get({"system_id": node.system_id})
79@@ -73,12 +71,11 @@ class TestControllerHandler(MAASServerTestCase):
80 handler = ControllerHandler(owner, {}, None)
81 node = factory.make_RackController(owner=owner, last_image_sync=None)
82 list_results = handler.list({})
83- list_items = list_results["groups"][0]["items"]
84- self.assertEqual(1, len(list_items))
85+ self.assertEqual(1, len(list_results))
86 self.assertEqual(
87- NODE_TYPE.RACK_CONTROLLER, list_items[0].get("node_type")
88+ NODE_TYPE.RACK_CONTROLLER, list_results[0].get("node_type")
89 )
90- self.assertIsNone(list_items[0].get("last_image_sync"))
91+ self.assertIsNone(list_results[0].get("last_image_sync"))
92 data = handler.get({"system_id": node.system_id})
93 self.assertIsNone(data.get("last_image_sync"))
94
95@@ -94,10 +91,9 @@ class TestControllerHandler(MAASServerTestCase):
96 device_with_parent.save()
97 node = factory.make_RackController(owner=owner)
98 list_results = handler.list({})
99- list_items = list_results["groups"][0]["items"]
100- self.assertEqual(1, len(list_items))
101+ self.assertEqual(1, len(list_results))
102 self.assertEqual(
103- NODE_TYPE.RACK_CONTROLLER, list_items[0].get("node_type")
104+ NODE_TYPE.RACK_CONTROLLER, list_results[0].get("node_type")
105 )
106
107 def test_list_num_queries_is_the_expected_number(self):
108@@ -250,8 +246,7 @@ class TestControllerHandler(MAASServerTestCase):
109 handler = ControllerHandler(owner, {}, None)
110 factory.make_RackController()
111 list_results = handler.list({})
112- list_items = list_results["groups"][0]["items"]
113- self.assertEqual(list_items[0]["versions"], {})
114+ self.assertEqual(list_results[0]["versions"], {})
115
116 def test_dehydrate_with_versions_snap(self):
117 owner = factory.make_admin()
118@@ -271,9 +266,8 @@ class TestControllerHandler(MAASServerTestCase):
119 )
120 ControllerInfo.objects.set_versions_info(rack, versions)
121 list_results = handler.list({})
122- list_items = list_results["groups"][0]["items"]
123 self.assertEqual(
124- list_items[0]["versions"],
125+ list_results[0]["versions"],
126 {
127 "install_type": "snap",
128 "current": {
129@@ -307,9 +301,8 @@ class TestControllerHandler(MAASServerTestCase):
130 )
131 ControllerInfo.objects.set_versions_info(rack, versions)
132 list_results = handler.list({})
133- list_items = list_results["groups"][0]["items"]
134 self.assertEqual(
135- list_items[0]["versions"],
136+ list_results[0]["versions"],
137 {
138 "install_type": "deb",
139 "current": {
140@@ -337,9 +330,8 @@ class TestControllerHandler(MAASServerTestCase):
141 )
142 ControllerInfo.objects.set_versions_info(rack, versions)
143 list_results = handler.list({})
144- list_items = list_results["groups"][0]["items"]
145 self.assertEqual(
146- list_items[0]["versions"],
147+ list_results[0]["versions"],
148 {
149 "install_type": "snap",
150 "current": {
151@@ -376,9 +368,8 @@ class TestControllerHandler(MAASServerTestCase):
152 ),
153 )
154 list_results = handler.list({})
155- list_items = list_results["groups"][0]["items"]
156 self.assertEqual(
157- list_items[0]["versions"],
158+ list_results[0]["versions"],
159 {
160 "install_type": "snap",
161 "current": {
162@@ -416,8 +407,7 @@ class TestControllerHandler(MAASServerTestCase):
163 ),
164 )
165 list_results = handler.list({})
166- list_items = list_results["groups"][0]["items"]
167- versions = list_items[0]["versions"]
168+ versions = list_results[0]["versions"]
169 self.assertEqual(versions["issues"], ["different-cohort"])
170
171 def test_dehydrate_with_versions_empty_origin(self):
172@@ -432,8 +422,7 @@ class TestControllerHandler(MAASServerTestCase):
173 )
174 ControllerInfo.objects.set_versions_info(rack, versions)
175 list_results = handler.list({})
176- [list_item] = list_results["groups"][0]["items"]
177- self.assertEqual(list_item["versions"]["origin"], "")
178+ self.assertEqual(list_results[0]["versions"]["origin"], "")
179
180 def test_dehydrate_includes_tags(self):
181 owner = factory.make_admin()
182@@ -442,8 +431,9 @@ class TestControllerHandler(MAASServerTestCase):
183 tags = [factory.make_Tag(definition="") for _ in range(3)]
184 region.tags.set(tags)
185 list_results = handler.list({})
186- [list_item] = list_results["groups"][0]["items"]
187- self.assertCountEqual(list_item["tags"], [tag.id for tag in tags])
188+ self.assertCountEqual(
189+ list_results[0]["tags"], [tag.id for tag in tags]
190+ )
191
192 def test_register_info_non_admin(self):
193 user = factory.make_User()
194diff --git a/src/maasserver/websockets/handlers/tests/test_device.py b/src/maasserver/websockets/handlers/tests/test_device.py
195index b7aa50d..e22748b 100644
196--- a/src/maasserver/websockets/handlers/tests/test_device.py
197+++ b/src/maasserver/websockets/handlers/tests/test_device.py
198@@ -302,7 +302,7 @@ class TestDeviceHandler(MAASTransactionServerTestCase):
199 list_results = handler.list({})
200 self.assertCountEqual(
201 [self.dehydrate_device(device, owner, for_list=True)],
202- list_results["groups"][0]["items"],
203+ list_results,
204 )
205
206 @transactional
207@@ -318,7 +318,7 @@ class TestDeviceHandler(MAASTransactionServerTestCase):
208 list_results = handler.list({})
209 self.assertCountEqual(
210 [self.dehydrate_device(device, owner, for_list=True)],
211- list_results["groups"][0]["items"],
212+ list_results,
213 )
214
215 @transactional
216@@ -331,7 +331,7 @@ class TestDeviceHandler(MAASTransactionServerTestCase):
217 list_results = handler.list({})
218 self.assertCountEqual(
219 [self.dehydrate_device(device, owner, for_list=True)],
220- list_results["groups"][0]["items"],
221+ list_results,
222 )
223
224 @transactional
225@@ -354,7 +354,7 @@ class TestDeviceHandler(MAASTransactionServerTestCase):
226 # and slowing down the client waiting for the response.
227 self.assertEqual(
228 query_10_count,
229- 13,
230+ 11,
231 "Number of queries has changed; make sure this is expected.",
232 )
233
234@@ -394,7 +394,7 @@ class TestDeviceHandler(MAASTransactionServerTestCase):
235 list_results = handler.list({})
236 self.assertCountEqual(
237 [self.dehydrate_device(device, user, for_list=True)],
238- list_results["groups"][0]["items"],
239+ list_results,
240 )
241
242 @transactional
243diff --git a/src/maasserver/websockets/tests/test_base.py b/src/maasserver/websockets/tests/test_base.py
244index 989c69d..aa3697a 100644
245--- a/src/maasserver/websockets/tests/test_base.py
246+++ b/src/maasserver/websockets/tests/test_base.py
247@@ -493,7 +493,7 @@ class TestHandler(MAASServerTestCase, FakeNodesHandlerMixin):
248 nodes = [factory.make_Node() for _ in range(5)]
249 handler = self.make_nodes_handler(
250 list_fields=["system_id"],
251- use_new_schema=True,
252+ use_paginated_list=True,
253 )
254 output = {
255 "count": 5,
256@@ -522,7 +522,7 @@ class TestHandler(MAASServerTestCase, FakeNodesHandlerMixin):
257 nodes = [factory.make_Node() for _ in range(5)]
258 handler = self.make_nodes_handler(
259 list_fields=["system_id"],
260- use_new_schema=True,
261+ use_paginated_list=True,
262 )
263 output = {
264 "count": 5,
265@@ -551,7 +551,7 @@ class TestHandler(MAASServerTestCase, FakeNodesHandlerMixin):
266 nodes = [factory.make_Node() for _ in range(5)]
267 handler = self.make_nodes_handler(
268 list_fields=["system_id"],
269- use_new_schema=True,
270+ use_paginated_list=True,
271 )
272 output = {
273 "count": 5,
274@@ -580,7 +580,7 @@ class TestHandler(MAASServerTestCase, FakeNodesHandlerMixin):
275 nodes = [factory.make_Node() for _ in range(5)]
276 handler = self.make_nodes_handler(
277 list_fields=["system_id"],
278- use_new_schema=True,
279+ use_paginated_list=True,
280 )
281 output = {
282 "count": 5,
283@@ -1021,7 +1021,7 @@ class TestHandler(MAASServerTestCase, FakeNodesHandlerMixin):
284
285 class TestHandlerGrouping(MAASServerTestCase, FakeNodesHandlerMixin):
286 def make_nodes_handler(self, **kwargs):
287- return super().make_nodes_handler(use_new_schema=True, **kwargs)
288+ return super().make_nodes_handler(use_paginated_list=True, **kwargs)
289
290 def test_group_simple(self):
291 nodes_ready = [

Subscribers

People subscribed via source and target branches