Merge ~cgrabowski/maas:remove_new_filter_list_from_controller_and_device into maas:master
- Git
- lp:~cgrabowski/maas
- remove_new_filter_list_from_controller_and_device
- Merge into master
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) |
Related bugs: |
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
Description of the change
MAAS Lander (maas-lander) wrote : | # |
UNIT TESTS
-b remove_
STATUS: FAILED
LOG: http://
COMMIT: 8fbba2997a577d5
Alexsander de Souza (alexsander-souza) wrote : | # |
+1
MAAS Lander (maas-lander) wrote : | # |
UNIT TESTS
-b remove_
STATUS: FAILED
LOG: http://
COMMIT: e234c1c92487366
Christian Grabowski (cgrabowski) wrote : | # |
jenkins: !test
MAAS Lander (maas-lander) wrote : | # |
UNIT TESTS
-b remove_
STATUS: SUCCESS
COMMIT: e234c1c92487366
MAAS Lander (maas-lander) wrote : | # |
LANDING
-b remove_
STATUS: FAILED BUILD
LOG: http://
MAAS Lander (maas-lander) wrote : | # |
UNIT TESTS
-b remove_
STATUS: SUCCESS
COMMIT: f2d22a8662281f2
Preview Diff
1 | diff --git a/src/maasserver/websockets/base.py b/src/maasserver/websockets/base.py |
2 | index 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) |
23 | diff --git a/src/maasserver/websockets/handlers/machine.py b/src/maasserver/websockets/handlers/machine.py |
24 | index 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) |
35 | diff --git a/src/maasserver/websockets/handlers/node.py b/src/maasserver/websockets/handlers/node.py |
36 | index 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) |
48 | diff --git a/src/maasserver/websockets/handlers/tests/test_controller.py b/src/maasserver/websockets/handlers/tests/test_controller.py |
49 | index 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() |
194 | diff --git a/src/maasserver/websockets/handlers/tests/test_device.py b/src/maasserver/websockets/handlers/tests/test_device.py |
195 | index 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 |
243 | diff --git a/src/maasserver/websockets/tests/test_base.py b/src/maasserver/websockets/tests/test_base.py |
244 | index 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 = [ |
UNIT TESTS new_filter_ list_from_ controller_ and_device lp:~cgrabowski/maas/+git/maas into -b master lp:~maas-committers/maas
-b remove_
STATUS: FAILED maas-ci. internal: 8080/job/ maas-tester/ 190/consoleText 1d581b87bbbdacb 7f21057d00
LOG: http://
COMMIT: 9e742872cb91592