Merge ~adam-collard/maas:no-assertItemsEqual-rpc into maas:master

Proposed by Adam Collard
Status: Superseded
Proposed branch: ~adam-collard/maas:no-assertItemsEqual-rpc
Merge into: maas:master
Prerequisite: ~adam-collard/maas:no-assertItemsEqual-CLI
Diff against target: 443 lines (+54/-56)
13 files modified
src/maasserver/clusterrpc/tests/test_boot_images.py (+7/-7)
src/maasserver/clusterrpc/tests/test_osystems.py (+7/-6)
src/maasserver/clusterrpc/tests/test_power.py (+4/-4)
src/maasserver/clusterrpc/tests/test_utils.py (+5/-5)
src/maasserver/rpc/boot.py (+1/-1)
src/maasserver/rpc/tests/test_boot.py (+8/-8)
src/maasserver/rpc/tests/test_leases.py (+4/-4)
src/maasserver/rpc/tests/test_nodes.py (+9/-11)
src/maasserver/rpc/tests/test_rackcontrollers.py (+1/-1)
src/maasserver/rpc/tests/test_regionservice.py (+1/-1)
src/maasserver/rpc/tests/test_regionservice_calls.py (+1/-1)
src/provisioningserver/rpc/tests/test_boot_images.py (+2/-2)
src/provisioningserver/rpc/tests/test_clusterservice.py (+4/-5)
Reviewer Review Type Date Requested Status
MAAS Maintainers Pending
Review via email: mp+408584@code.launchpad.net
To post a comment you must log in.

Unmerged commits

2f6b099... by Adam Collard

[rpc] Replace defunct assertItemsEqual

ae84549... by Adam Collard

Remove defunct assertItemsEqual in favour of bare assert ==

7c88e26... by Adam Collard

Drop unittest2, remove wrappers

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/clusterrpc/tests/test_boot_images.py b/src/maasserver/clusterrpc/tests/test_boot_images.py
2index d511c1e..43b5f18 100644
3--- a/src/maasserver/clusterrpc/tests/test_boot_images.py
4+++ b/src/maasserver/clusterrpc/tests/test_boot_images.py
5@@ -175,7 +175,7 @@ class TestGetBootImagesTxn(MAASTransactionServerTestCase):
6 for param in params:
7 make_image_dir(param, self.tftp_root)
8 test_tftppath.make_osystem(self, param["osystem"], purposes)
9- self.assertItemsEqual(
10+ self.assertCountEqual(
11 [
12 make_image(param, purpose)
13 for param in params
14@@ -213,7 +213,7 @@ class TestGetAvailableBootImages(MAASTransactionServerTestCase):
15 for param in params:
16 make_image_dir(param, self.tftp_root)
17 test_tftppath.make_osystem(self, param["osystem"], purposes)
18- self.assertItemsEqual(
19+ self.assertCountEqual(
20 [
21 make_image(param, purpose)
22 for param in params
23@@ -243,7 +243,7 @@ class TestGetAvailableBootImages(MAASTransactionServerTestCase):
24 callRemote.return_value = succeed({"images": available_images})
25
26 expected_images = images if self.all else available_images
27- self.assertItemsEqual(expected_images, self.get())
28+ self.assertCountEqual(expected_images, self.get())
29
30 def test_ignores_failures_when_talking_to_clusters(self):
31 factory.make_RackController()
32@@ -263,7 +263,7 @@ class TestGetAvailableBootImages(MAASTransactionServerTestCase):
33 # All clients but the first raise an exception.
34 callRemote.side_effect = ZeroDivisionError()
35
36- self.assertItemsEqual(images, self.get())
37+ self.assertCountEqual(images, self.get())
38
39 def test_returns_empty_list_when_all_clusters_fail(self):
40 factory.make_RackController()
41@@ -276,7 +276,7 @@ class TestGetAvailableBootImages(MAASTransactionServerTestCase):
42 callRemote = self.patch(client._conn, "callRemote")
43 callRemote.side_effect = ZeroDivisionError()
44
45- self.assertItemsEqual([], self.get())
46+ self.assertEqual([], self.get())
47
48
49 class TestGetBootImagesFor(MAASTransactionServerTestCase):
50@@ -304,7 +304,7 @@ class TestGetBootImagesFor(MAASTransactionServerTestCase):
51 params = self.make_boot_images()
52 param = params.pop()
53
54- self.assertItemsEqual(
55+ self.assertCountEqual(
56 self.make_rpc_boot_images(param),
57 get_boot_images_for(
58 rack,
59@@ -339,7 +339,7 @@ class TestGetBootImagesFor(MAASTransactionServerTestCase):
60 resource.save()
61
62 subarch = subarches.pop()
63- self.assertItemsEqual(
64+ self.assertCountEqual(
65 self.make_rpc_boot_images(param),
66 get_boot_images_for(
67 rack,
68diff --git a/src/maasserver/clusterrpc/tests/test_osystems.py b/src/maasserver/clusterrpc/tests/test_osystems.py
69index a369cc4..1fa0748 100644
70--- a/src/maasserver/clusterrpc/tests/test_osystems.py
71+++ b/src/maasserver/clusterrpc/tests/test_osystems.py
72@@ -89,8 +89,8 @@ class TestGenAllKnownOperatingSystems(MAASServerTestCase):
73 callRemote = self.patch(client._conn, "callRemote")
74 callRemote.return_value = succeed(example)
75
76- self.assertItemsEqual(
77- example["osystems"], gen_all_known_operating_systems()
78+ self.assertEqual(
79+ example["osystems"], list(gen_all_known_operating_systems())
80 )
81
82 def test_ignores_failures_when_talking_to_clusters(self):
83@@ -114,8 +114,9 @@ class TestGenAllKnownOperatingSystems(MAASServerTestCase):
84 # The only OS information to get through is that from the first. The
85 # failures arising from communicating with the other clusters have all
86 # been suppressed.
87- self.assertItemsEqual(
88- [{"name": clients[0].ident}], gen_all_known_operating_systems()
89+ self.assertEqual(
90+ [{"name": clients[0].ident}],
91+ list(gen_all_known_operating_systems()),
92 )
93
94 def test_fixes_custom_osystem_release_titles(self):
95@@ -145,9 +146,9 @@ class TestGenAllKnownOperatingSystems(MAASServerTestCase):
96 releases_with_titles = [
97 {"name": release, "title": release.upper()} for release in releases
98 ]
99- self.assertItemsEqual(
100+ self.assertEqual(
101 [{"name": "custom", "releases": releases_with_titles}],
102- gen_all_known_operating_systems(),
103+ list(gen_all_known_operating_systems()),
104 )
105
106
107diff --git a/src/maasserver/clusterrpc/tests/test_power.py b/src/maasserver/clusterrpc/tests/test_power.py
108index 5df7ef5..9aef476 100644
109--- a/src/maasserver/clusterrpc/tests/test_power.py
110+++ b/src/maasserver/clusterrpc/tests/test_power.py
111@@ -227,8 +227,8 @@ class TestPowerQueryAll(MAASTransactionServerTestCase):
112 )
113
114 self.assertEqual(pick_best_power_state(power_states), power_state)
115- self.assertItemsEqual(successful_rack_ids, success_racks)
116- self.assertItemsEqual(error_rack_ids + failed_rack_ids, failed_racks)
117+ self.assertCountEqual(successful_rack_ids, success_racks)
118+ self.assertCountEqual(error_rack_ids + failed_rack_ids, failed_racks)
119
120 @wait_for_reactor
121 @inlineCallbacks
122@@ -250,8 +250,8 @@ class TestPowerQueryAll(MAASTransactionServerTestCase):
123 )
124
125 self.assertEqual(POWER_STATE.UNKNOWN, power_state)
126- self.assertItemsEqual([], success_racks)
127- self.assertItemsEqual([rack_id], failed_racks)
128+ self.assertEqual(set(), success_racks)
129+ self.assertEqual({rack_id}, failed_racks)
130
131
132 class TestSetBootOrder(MAASTransactionServerTestCase):
133diff --git a/src/maasserver/clusterrpc/tests/test_utils.py b/src/maasserver/clusterrpc/tests/test_utils.py
134index 2e82e6d..5ca6bca 100644
135--- a/src/maasserver/clusterrpc/tests/test_utils.py
136+++ b/src/maasserver/clusterrpc/tests/test_utils.py
137@@ -51,8 +51,8 @@ class TestCallClusters(MAASServerTestCase):
138 # call_clusters returns with nothing because we patched out
139 # asynchronous.gather, but we're interested in the side-effect:
140 # getClientFor has been called for the accepted nodegroup.
141- self.assertItemsEqual([], utils.call_clusters(sentinel.command))
142- self.assertThat(getClientFor, MockCalledOnceWith(rack.system_id))
143+ self.assertEqual([], list(utils.call_clusters(sentinel.command)))
144+ getClientFor.assert_called_once_with(rack.system_id)
145
146 def test_with_successful_callbacks(self):
147 rack = factory.make_RackController()
148@@ -207,10 +207,10 @@ class TestCallRacksSynchronously(MAASServerTestCase):
149 # call_clusters returns with nothing because we patched out
150 # asynchronous.gather, but we're interested in the side-effect:
151 # getClientFor has been called for the accepted nodegroup.
152- self.assertItemsEqual(
153- [], call_racks_synchronously(sentinel.command).results
154+ self.assertEqual(
155+ [], list(call_racks_synchronously(sentinel.command).results)
156 )
157- self.assertThat(getClientFor, MockCalledOnceWith(rack.system_id))
158+ getClientFor.assert_called_once_with(rack.system_id)
159
160
161 class TestGetErrorMessageForException(MAASServerTestCase):
162diff --git a/src/maasserver/rpc/boot.py b/src/maasserver/rpc/boot.py
163index 712128f..12f14b4 100644
164--- a/src/maasserver/rpc/boot.py
165+++ b/src/maasserver/rpc/boot.py
166@@ -151,7 +151,7 @@ def merge_kparams_with_extra(kparams, extra_kernel_opts):
167 This section will merge the kparams with the extra opts. Our goal is to
168 start with what is in kparams and then look to extra_opts for anything
169 to add to or override settings in kparams. Anything in extra_opts, which
170- can be set through tabs, takes precedence so we use that to start with.
171+ can be set through tags, takes precedence so we use that to start with.
172 """
173 final_params = ""
174 if extra_kernel_opts is not None and extra_kernel_opts != "":
175diff --git a/src/maasserver/rpc/tests/test_boot.py b/src/maasserver/rpc/tests/test_boot.py
176index 5c220c6..942ebdb 100644
177--- a/src/maasserver/rpc/tests/test_boot.py
178+++ b/src/maasserver/rpc/tests/test_boot.py
179@@ -51,19 +51,19 @@ def get_config(*args, **kwargs):
180
181 class TestKparamsMerge(MAASServerTestCase):
182 def test_simple_merge(self):
183- expected_state = "a=b b=c"
184+ expected_state = "b=c a=b"
185 calculated_state = merge_kparams_with_extra("a=b", "b=c")
186- self.assertItemsEqual(expected_state, calculated_state)
187+ self.assertEqual(expected_state, calculated_state)
188
189 def test_override_merge(self):
190- expected_state = "a=b b=d"
191+ expected_state = "b=d a=b"
192 calculated_state = merge_kparams_with_extra("a=b b=c", "b=d")
193- self.assertItemsEqual(expected_state, calculated_state)
194+ self.assertEqual(expected_state, calculated_state)
195
196 def test_override_with_add_merge(self):
197- expected_state = "a=b b=d c=e"
198+ expected_state = "b=d c=e a=b"
199 calculated_state = merge_kparams_with_extra("a=b b=c", "b=d c=e")
200- self.assertItemsEqual(expected_state, calculated_state)
201+ self.assertEqual(expected_state, calculated_state)
202
203
204 class TestGetConfig(MAASServerTestCase):
205@@ -1476,7 +1476,7 @@ class TestGetBootFilenames(MAASServerTestCase):
206 )
207
208 def test_returns_all_none_when_not_found(self):
209- self.assertItemsEqual(
210+ self.assertEqual(
211 (None, None, None),
212 get_boot_filenames(
213 factory.make_name("arch"),
214@@ -1487,7 +1487,7 @@ class TestGetBootFilenames(MAASServerTestCase):
215 )
216
217 def test_returns_all_none_when_not_found_and_generic(self):
218- self.assertItemsEqual(
219+ self.assertEqual(
220 (None, None, None),
221 get_boot_filenames(
222 factory.make_name("arch"),
223diff --git a/src/maasserver/rpc/tests/test_leases.py b/src/maasserver/rpc/tests/test_leases.py
224index 134ecef..786c721 100644
225--- a/src/maasserver/rpc/tests/test_leases.py
226+++ b/src/maasserver/rpc/tests/test_leases.py
227@@ -281,7 +281,7 @@ class TestUpdateLease(MAASServerTestCase):
228 updated=datetime.fromtimestamp(kwargs["timestamp"]),
229 ),
230 )
231- self.assertItemsEqual(
232+ self.assertCountEqual(
233 [boot_interface.id], sip.interface_set.values_list("id", flat=True)
234 )
235 self.assertEqual(
236@@ -364,7 +364,7 @@ class TestUpdateLease(MAASServerTestCase):
237 updated=datetime.fromtimestamp(kwargs["timestamp"]),
238 ),
239 )
240- self.assertItemsEqual(
241+ self.assertCountEqual(
242 [boot_interface.id, bond_interface.id],
243 sip.interface_set.values_list("id", flat=True),
244 )
245@@ -393,7 +393,7 @@ class TestUpdateLease(MAASServerTestCase):
246 "DISCOVERED IP address shold have been created without an "
247 "IP address.",
248 )
249- self.assertItemsEqual(
250+ self.assertCountEqual(
251 [boot_interface.id], sip.interface_set.values_list("id", flat=True)
252 )
253
254@@ -421,7 +421,7 @@ class TestUpdateLease(MAASServerTestCase):
255 "DISCOVERED IP address shold have been created without an "
256 "IP address.",
257 )
258- self.assertItemsEqual(
259+ self.assertCountEqual(
260 [boot_interface.id], sip.interface_set.values_list("id", flat=True)
261 )
262
263diff --git a/src/maasserver/rpc/tests/test_nodes.py b/src/maasserver/rpc/tests/test_nodes.py
264index c509ff6..1aafe1f 100644
265--- a/src/maasserver/rpc/tests/test_nodes.py
266+++ b/src/maasserver/rpc/tests/test_nodes.py
267@@ -17,9 +17,7 @@ from testtools.matchers import (
268 Equals,
269 GreaterThan,
270 HasLength,
271- Is,
272 LessThan,
273- Not,
274 )
275
276 from maasserver import ntp
277@@ -91,8 +89,8 @@ class TestCreateNode(MAASTransactionServerTestCase):
278 # Node will not have an auto-generated name because migrations are
279 # not ran in the testing environment.
280 # self.expectThat(node.hostname, Contains("-"))
281- self.expectThat(node.id, Not(Is(None)))
282- self.assertItemsEqual(
283+ self.assertIsNotNone(node.id)
284+ self.assertCountEqual(
285 mac_addresses,
286 [nic.mac_address for nic in node.interface_set.all()],
287 )
288@@ -117,8 +115,8 @@ class TestCreateNode(MAASTransactionServerTestCase):
289 node.hostname,
290 ),
291 )
292- self.expectThat(node.id, Not(Is(None)))
293- self.assertItemsEqual(
294+ self.assertIsNotNone(node.id)
295+ self.assertCountEqual(
296 mac_addresses,
297 [nic.mac_address for nic in node.interface_set.all()],
298 )
299@@ -168,8 +166,8 @@ class TestCreateNode(MAASTransactionServerTestCase):
300 node.hostname,
301 ),
302 )
303- self.expectThat(node.id, Not(Is(None)))
304- self.assertItemsEqual(
305+ self.assertIsNotNone(node.id)
306+ self.assertCountEqual(
307 mac_addresses,
308 [nic.mac_address for nic in node.interface_set.all()],
309 )
310@@ -425,7 +423,7 @@ class TestListClusterNodesPowerParameters(MAASServerTestCase):
311 power_parameters = list_cluster_nodes_power_parameters(rack.system_id)
312 system_ids = [params["system_id"] for params in power_parameters]
313
314- self.assertItemsEqual(
315+ self.assertCountEqual(
316 {node_unchecked.system_id, node_checked_long_ago.system_id},
317 system_ids,
318 )
319@@ -444,7 +442,7 @@ class TestListClusterNodesPowerParameters(MAASServerTestCase):
320 power_parameters = list_cluster_nodes_power_parameters(rack.system_id)
321 system_ids = [params["system_id"] for params in power_parameters]
322
323- self.assertItemsEqual([node_queryable.system_id], system_ids)
324+ self.assertEqual([node_queryable.system_id], system_ids)
325
326 def test_excludes_no_power_type(self):
327 rack = factory.make_RackController()
328@@ -459,7 +457,7 @@ class TestListClusterNodesPowerParameters(MAASServerTestCase):
329 power_parameters = list_cluster_nodes_power_parameters(rack.system_id)
330 system_ids = [params["system_id"] for params in power_parameters]
331
332- self.assertItemsEqual([node_queryable.system_id], system_ids)
333+ self.assertEqual([node_queryable.system_id], system_ids)
334
335 def test_returns_checked_nodes_in_last_checked_order(self):
336 rack = factory.make_RackController()
337diff --git a/src/maasserver/rpc/tests/test_rackcontrollers.py b/src/maasserver/rpc/tests/test_rackcontrollers.py
338index 4780096..d2174ce 100644
339--- a/src/maasserver/rpc/tests/test_rackcontrollers.py
340+++ b/src/maasserver/rpc/tests/test_rackcontrollers.py
341@@ -59,7 +59,7 @@ class TestHandleUpgrade(MAASServerTestCase):
342 vlan = reload_object(vlan)
343 self.assertEqual(rack.system_id, vlan.primary_rack.system_id)
344 self.assertTrue(vlan.dhcp_on)
345- self.assertItemsEqual([], NodeGroupToRackController.objects.all())
346+ self.assertCountEqual([], NodeGroupToRackController.objects.all())
347
348 def test_logs_migration(self):
349 logger = self.useFixture(FakeLogger("maas"))
350diff --git a/src/maasserver/rpc/tests/test_regionservice.py b/src/maasserver/rpc/tests/test_regionservice.py
351index bb5b350..0d24aa8 100644
352--- a/src/maasserver/rpc/tests/test_regionservice.py
353+++ b/src/maasserver/rpc/tests/test_regionservice.py
354@@ -912,7 +912,7 @@ class TestRegionService(MAASTestCase):
355 conns_for_uuid.update({c1, c2})
356
357 def check_choice(choices):
358- self.assertItemsEqual(choices, conns_for_uuid)
359+ self.assertCountEqual(choices, conns_for_uuid)
360 return chosen
361
362 self.patch(random, "choice", check_choice)
363diff --git a/src/maasserver/rpc/tests/test_regionservice_calls.py b/src/maasserver/rpc/tests/test_regionservice_calls.py
364index 846fa3e..4d9d337 100644
365--- a/src/maasserver/rpc/tests/test_regionservice_calls.py
366+++ b/src/maasserver/rpc/tests/test_regionservice_calls.py
367@@ -563,7 +563,7 @@ class TestRegionProtocol_ListNodePowerParameters(
368 )
369
370 self.maxDiff = None
371- self.assertItemsEqual(nodes, response["nodes"])
372+ self.assertCountEqual(nodes, response["nodes"])
373
374 @wait_for_reactor
375 def test_raises_exception_if_nodegroup_doesnt_exist(self):
376diff --git a/src/provisioningserver/rpc/tests/test_boot_images.py b/src/provisioningserver/rpc/tests/test_boot_images.py
377index 531c83b..351cdb3 100644
378--- a/src/provisioningserver/rpc/tests/test_boot_images.py
379+++ b/src/provisioningserver/rpc/tests/test_boot_images.py
380@@ -104,7 +104,7 @@ class TestGetHostsFromSources(MAASTestCase):
381 # with brackets.
382 if ":" in host:
383 hosts.add("[%s]" % host)
384- self.assertItemsEqual(hosts, get_hosts_from_sources(sources))
385+ self.assertCountEqual(hosts, get_hosts_from_sources(sources))
386
387
388 class TestFixSourcesForCluster(MAASTestCase):
389@@ -227,7 +227,7 @@ class TestRunImport(MAASTestCase):
390 sources, _ = make_sources()
391 fake = self.patch_boot_resources_function()
392 _run_import(sources=sources, maas_url=maas_url)
393- self.assertItemsEqual(
394+ self.assertCountEqual(
395 fake.env["no_proxy"].split(","),
396 [
397 "localhost",
398diff --git a/src/provisioningserver/rpc/tests/test_clusterservice.py b/src/provisioningserver/rpc/tests/test_clusterservice.py
399index 4a7fba0..89b2289 100644
400--- a/src/provisioningserver/rpc/tests/test_clusterservice.py
401+++ b/src/provisioningserver/rpc/tests/test_clusterservice.py
402@@ -286,7 +286,7 @@ class TestClusterProtocol_ListBootImages(MAASTestCase):
403 response = yield call_responder(Cluster(), cluster.ListBootImages, {})
404
405 self.assertThat(response, KeysEqual("images"))
406- self.assertItemsEqual(expected_images, response["images"])
407+ self.assertEqual(expected_images, response["images"])
408
409
410 class TestClusterProtocol_ImportBootImages(MAASTestCase):
411@@ -430,13 +430,12 @@ class TestClusterProtocol_DescribePowerTypes(MAASTestCase):
412
413 @inlineCallbacks
414 def test_describe_power_types_returns_jsonized_schema(self):
415-
416 response = yield call_responder(
417 Cluster(), cluster.DescribePowerTypes, {}
418 )
419
420 self.assertThat(response, KeysEqual("power_types"))
421- self.assertItemsEqual(
422+ self.assertEqual(
423 PowerDriverRegistry.get_schema(detect_missing_packages=False),
424 response["power_types"],
425 )
426@@ -934,7 +933,7 @@ class TestClusterClientService(MAASTestCase):
427 call("host1:pid=2002", ("::ffff:1.1.1.1", 3333)),
428 call("host2:pid=3003", ("::ffff:2.2.2.2", 5555)),
429 ]
430- self.assertItemsEqual(
431+ self.assertEqual(
432 _make_connection_expected, _make_connection.call_args_list
433 )
434 self.assertEqual(
435@@ -1312,7 +1311,7 @@ class TestClusterClientService(MAASTestCase):
436 c2 = DummyConnection()
437 service.connections[uuid2] = c2
438 clients = service.getAllClients()
439- self.assertItemsEqual(clients, {common.Client(c1), common.Client(c2)})
440+ self.assertEqual(clients, [common.Client(c1), common.Client(c2)])
441
442 def test_getAllClients_when_there_are_no_connections(self):
443 service = ClusterClientService(Clock())

Subscribers

People subscribed via source and target branches