Merge ~adam-collard/maas:no-assert-equals into maas:master

Proposed by Adam Collard
Status: Merged
Approved by: Adam Collard
Approved revision: 607f0374589b4e4253aa2841cfcd18c64433b053
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~adam-collard/maas:no-assert-equals
Merge into: maas:master
Diff against target: 8976 lines (+1304/-1315)
143 files modified
src/maascli/actions/tests/test_sshkeys_import.py (+2/-2)
src/maascli/tests/test_snappy.py (+2/-2)
src/maasserver/api/tests/test_blockdevice.py (+40/-25)
src/maasserver/api/tests/test_commissioning.py (+11/-11)
src/maasserver/api/tests/test_devices.py (+9/-9)
src/maasserver/api/tests/test_dhcpsnippets.py (+5/-5)
src/maasserver/api/tests/test_interfaces.py (+5/-5)
src/maasserver/api/tests/test_machine.py (+1/-1)
src/maasserver/api/tests/test_machines.py (+8/-8)
src/maasserver/api/tests/test_node.py (+16/-16)
src/maasserver/api/tests/test_pods.py (+1/-1)
src/maasserver/api/tests/test_scriptresults.py (+15/-17)
src/maasserver/api/tests/test_scripts.py (+46/-46)
src/maasserver/api/tests/test_ssl_key.py (+1/-1)
src/maasserver/api/tests/test_tag.py (+5/-5)
src/maasserver/api/tests/test_users.py (+4/-4)
src/maasserver/api/tests/test_vmfs_datastores.py (+6/-6)
src/maasserver/api/tests/test_volume_groups.py (+1/-1)
src/maasserver/clusterrpc/tests/test_driver_parameters.py (+1/-1)
src/maasserver/clusterrpc/tests/test_pods.py (+2/-2)
src/maasserver/forms/tests/test_clone.py (+5/-5)
src/maasserver/forms/tests/test_dhcpsnippet.py (+4/-4)
src/maasserver/forms/tests/test_interface.py (+2/-2)
src/maasserver/forms/tests/test_machinewithmacaddresses.py (+2/-2)
src/maasserver/forms/tests/test_packagerepository.py (+1/-1)
src/maasserver/forms/tests/test_parameters.py (+15/-15)
src/maasserver/forms/tests/test_pods.py (+7/-7)
src/maasserver/forms/tests/test_script.py (+78/-78)
src/maasserver/forms/tests/test_sslkey.py (+1/-1)
src/maasserver/forms/tests/test_subnet.py (+3/-3)
src/maasserver/forms/tests/test_vlan.py (+3/-3)
src/maasserver/models/signals/tests/test_interfaces.py (+6/-6)
src/maasserver/models/signals/tests/test_nodes.py (+2/-2)
src/maasserver/models/signals/tests/test_podhints.py (+2/-2)
src/maasserver/models/signals/tests/test_services.py (+4/-6)
src/maasserver/models/signals/tests/test_users.py (+1/-1)
src/maasserver/models/tests/test_bmc.py (+17/-17)
src/maasserver/models/tests/test_bootresource.py (+2/-2)
src/maasserver/models/tests/test_bootsourcecache.py (+2/-2)
src/maasserver/models/tests/test_cleansave.py (+27/-27)
src/maasserver/models/tests/test_config.py (+2/-2)
src/maasserver/models/tests/test_filesystemgroup.py (+3/-3)
src/maasserver/models/tests/test_interface.py (+16/-16)
src/maasserver/models/tests/test_iscsiblockdevice.py (+1/-1)
src/maasserver/models/tests/test_node.py (+50/-50)
src/maasserver/models/tests/test_ownerdata.py (+3/-3)
src/maasserver/models/tests/test_packagerepository.py (+4/-4)
src/maasserver/models/tests/test_partitiontable.py (+3/-3)
src/maasserver/models/tests/test_podstoragepool.py (+2/-2)
src/maasserver/models/tests/test_versionedtextfile.py (+7/-7)
src/maasserver/prometheus/tests/test_stats.py (+3/-3)
src/maasserver/rpc/tests/test_boot.py (+12/-12)
src/maasserver/rpc/tests/test_leases.py (+9/-11)
src/maasserver/rpc/tests/test_nodes.py (+1/-1)
src/maasserver/rpc/tests/test_rackcontrollers.py (+2/-2)
src/maasserver/rpc/tests/test_regionservice.py (+6/-6)
src/maasserver/rpc/tests/test_regionservice_calls.py (+1/-1)
src/maasserver/tests/test_audit.py (+5/-5)
src/maasserver/tests/test_bootresources.py (+8/-8)
src/maasserver/tests/test_bootsources.py (+5/-5)
src/maasserver/tests/test_config_forms.py (+1/-1)
src/maasserver/tests/test_dhcp.py (+27/-27)
src/maasserver/tests/test_eventloop.py (+11/-11)
src/maasserver/tests/test_fields.py (+9/-9)
src/maasserver/tests/test_ipc.py (+10/-10)
src/maasserver/tests/test_listener.py (+3/-3)
src/maasserver/tests/test_node_action.py (+3/-5)
src/maasserver/tests/test_node_constraint_filter_forms.py (+6/-6)
src/maasserver/tests/test_preseed.py (+1/-1)
src/maasserver/tests/test_rack_controller.py (+8/-8)
src/maasserver/tests/test_region_controller.py (+4/-4)
src/maasserver/tests/test_start_up.py (+2/-2)
src/maasserver/tests/test_stats.py (+4/-4)
src/maasserver/tests/test_status_monitor.py (+19/-19)
src/maasserver/tests/test_storage_layouts.py (+13/-13)
src/maasserver/tests/test_workers.py (+9/-9)
src/maasserver/triggers/tests/test_system_listener.py (+2/-2)
src/maasserver/utils/tests/test_osystems.py (+7/-7)
src/maasserver/utils/tests/test_storage.py (+1/-1)
src/maasserver/utils/tests/test_utils.py (+7/-7)
src/maasserver/views/tests/test_account.py (+4/-4)
src/maasserver/websockets/handlers/tests/test_bootresource.py (+9/-9)
src/maasserver/websockets/handlers/tests/test_config.py (+4/-6)
src/maasserver/websockets/handlers/tests/test_dhcpsnippet.py (+2/-2)
src/maasserver/websockets/handlers/tests/test_discovery.py (+2/-2)
src/maasserver/websockets/handlers/tests/test_machine.py (+12/-12)
src/maasserver/websockets/handlers/tests/test_node_result.py (+10/-12)
src/maasserver/websockets/handlers/tests/test_packagerepository.py (+1/-1)
src/maasserver/websockets/handlers/tests/test_subnet.py (+3/-3)
src/maasserver/websockets/handlers/tests/test_zone.py (+3/-3)
src/maasserver/websockets/tests/test_protocol.py (+8/-10)
src/metadataserver/builtin_scripts/commissioning_scripts/tests/test_bmc_config.py (+4/-4)
src/metadataserver/builtin_scripts/testing_scripts/tests/test_badblocks.py (+3/-5)
src/metadataserver/builtin_scripts/testing_scripts/tests/test_seven_z.py (+1/-1)
src/metadataserver/builtin_scripts/testing_scripts/tests/test_smartctl.py (+9/-9)
src/metadataserver/builtin_scripts/tests/test_builtin_scripts.py (+15/-15)
src/metadataserver/builtin_scripts/tests/test_hooks.py (+25/-27)
src/metadataserver/models/tests/test_nodekey.py (+3/-3)
src/metadataserver/models/tests/test_script.py (+11/-11)
src/metadataserver/models/tests/test_scriptresult.py (+60/-62)
src/metadataserver/models/tests/test_scriptset.py (+37/-41)
src/metadataserver/tests/test_api.py (+45/-45)
src/metadataserver/tests/test_api_twisted.py (+16/-16)
src/metadataserver/tests/test_vendor_data.py (+2/-2)
src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py (+31/-31)
src/metadataserver/user_data/tests/test_generate_user_data.py (+18/-18)
src/provisioningserver/boot/tests/test_pxe.py (+2/-2)
src/provisioningserver/dhcp/tests/test_helper_clean.py (+1/-1)
src/provisioningserver/drivers/osystem/tests/test_bootloader.py (+2/-2)
src/provisioningserver/drivers/osystem/tests/test_ubuntu.py (+1/-1)
src/provisioningserver/drivers/pod/tests/test_base.py (+62/-62)
src/provisioningserver/drivers/pod/tests/test_lxd.py (+22/-22)
src/provisioningserver/drivers/pod/tests/test_rsd.py (+43/-43)
src/provisioningserver/drivers/pod/tests/test_virsh.py (+41/-41)
src/provisioningserver/drivers/power/tests/test_msftocs.py (+1/-1)
src/provisioningserver/drivers/power/tests/test_openbmc.py (+2/-2)
src/provisioningserver/drivers/power/tests/test_recs.py (+4/-4)
src/provisioningserver/drivers/power/tests/test_redfish.py (+11/-11)
src/provisioningserver/proxy/tests/test_config.py (+2/-2)
src/provisioningserver/rackdservices/tests/test_external.py (+6/-6)
src/provisioningserver/rackdservices/tests/test_http.py (+17/-17)
src/provisioningserver/rackdservices/tests/test_lease_socket_service.py (+5/-5)
src/provisioningserver/rackdservices/tests/test_service_monitor_service.py (+2/-2)
src/provisioningserver/rackdservices/tests/test_tftp.py (+16/-16)
src/provisioningserver/refresh/tests/test_maas_api_helper.py (+8/-8)
src/provisioningserver/refresh/tests/test_refresh.py (+2/-2)
src/provisioningserver/rpc/tests/test_clusterservice.py (+8/-8)
src/provisioningserver/rpc/tests/test_dhcp.py (+6/-6)
src/provisioningserver/rpc/tests/test_pods.py (+2/-2)
src/provisioningserver/syslog/tests/test_config.py (+2/-2)
src/provisioningserver/tests/test_maas_certificates.py (+2/-2)
src/provisioningserver/utils/tests/test_avahi.py (+4/-4)
src/provisioningserver/utils/tests/test_dhclient.py (+3/-3)
src/provisioningserver/utils/tests/test_env.py (+5/-5)
src/provisioningserver/utils/tests/test_fs.py (+1/-1)
src/provisioningserver/utils/tests/test_ipaddr.py (+1/-1)
src/provisioningserver/utils/tests/test_iproute.py (+4/-4)
src/provisioningserver/utils/tests/test_lxd.py (+1/-1)
src/provisioningserver/utils/tests/test_network.py (+6/-6)
src/provisioningserver/utils/tests/test_ps.py (+1/-3)
src/provisioningserver/utils/tests/test_service_monitor.py (+10/-10)
src/provisioningserver/utils/tests/test_url.py (+2/-2)
src/provisioningserver/utils/tests/test_utils.py (+3/-3)
Reviewer Review Type Date Requested Status
Dougal Matthews (community) Approve
Alberto Donato (community) Approve
MAAS Lander Approve
Review via email: mp+394459@code.launchpad.net

Commit message

s/assertEquals/assertEqual/g

Replace all assertEquals with preferred spelling of assertEqual.

Simple bowler script of:

query = Query().select_method("assertEquals").rename("assertEqual").write()

To post a comment you must log in.
~adam-collard/maas:no-assert-equals updated
607f037... by Adam Collard

Blacken

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

UNIT TESTS
-b no-assert-equals lp:~adam-collard/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas/job/branch-tester/8756/console
COMMIT: 81aab4f30dacb590efb8cd3b2e300d97c9a685ad

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

UNIT TESTS
-b no-assert-equals lp:~adam-collard/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 7169f72b1d771b2d4d0bc821dcf4e1c610ff1a32

review: Approve
Revision history for this message
Alberto Donato (ack) wrote :

+1.

I think we should also add a script to run as part of `make lint` which checks that we don't reintroduce those (we can later extend it to look for other things that we want to move away from (like dreaded assertThat).
I don't mean to add it to this branch, just a thought.

review: Approve
Revision history for this message
Dougal Matthews (d0ugal) wrote :

> (like dreaded assertThat).

We could remove testtools instead, or overwrite it.

def assertThat(self, *args, **kwargs):
    raise SyntaxError("not a chance")

review: Approve
~adam-collard/maas:no-assert-equals updated
45f24c3... by Adam Collard

Remove the triple quotes that were effectively ignoring tests.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maascli/actions/tests/test_sshkeys_import.py b/src/maascli/actions/tests/test_sshkeys_import.py
2index 540dc30..d8de2b4 100644
3--- a/src/maascli/actions/tests/test_sshkeys_import.py
4+++ b/src/maascli/actions/tests/test_sshkeys_import.py
5@@ -39,14 +39,14 @@ class TestSSHKeysImportAction(MAASTestCase):
6 )
7 expected_data = ("keysource", ks)
8 data = action.name_value_pair(ks)
9- self.assertEquals(data, expected_data)
10+ self.assertEqual(data, expected_data)
11
12 def test_name_value_pair_returns_sshkey_creds_tuple_for_no_protocol(self):
13 action = self.make_sshkeys_import_action()
14 ks = factory.make_name("user-id")
15 expected_data = ("keysource", ks)
16 data = action.name_value_pair(ks)
17- self.assertEquals(data, expected_data)
18+ self.assertEqual(data, expected_data)
19
20 def test_name_value_pair_returns_sshkey_creds_tuple_for_no_input(self):
21 action = self.make_sshkeys_import_action()
22diff --git a/src/maascli/tests/test_snappy.py b/src/maascli/tests/test_snappy.py
23index 2014071..95458f7 100644
24--- a/src/maascli/tests/test_snappy.py
25+++ b/src/maascli/tests/test_snappy.py
26@@ -257,7 +257,7 @@ class TestSupervisordHelpers(MAASTestCase):
27 mock_popen.return_value = mock_process
28 snappy.sighup_supervisord()
29 self.assertThat(mock_kill, MockCalledOnceWith(pid, signal.SIGHUP))
30- self.assertEquals(2, mock_popen.call_count)
31+ self.assertEqual(2, mock_popen.call_count)
32
33
34 class TestConfigHelpers(MAASTestCase):
35@@ -302,7 +302,7 @@ class TestConfigHelpers(MAASTestCase):
36 def test_set_rpc_secret_sets_secret(self):
37 secret = factory.make_string()
38 snappy.set_rpc_secret(secret)
39- self.assertEquals(secret, snappy.get_rpc_secret())
40+ self.assertEqual(secret, snappy.get_rpc_secret())
41
42 def test_set_rpc_secret_clears_secret(self):
43 secret = factory.make_string()
44diff --git a/src/maasserver/api/tests/test_blockdevice.py b/src/maasserver/api/tests/test_blockdevice.py
45index 8329df7..e03ecea 100644
46--- a/src/maasserver/api/tests/test_blockdevice.py
47+++ b/src/maasserver/api/tests/test_blockdevice.py
48@@ -1183,51 +1183,66 @@ class TestBlockDeviceAPI(APITestCase.ForUser):
49 http.client.CONFLICT, response.status_code, response.content
50 )
51
52- """
53 def test_set_boot_disk_returns_400_for_virtual_device(self):
54 self.become_admin()
55- node = factory.make_Node(owner=self.user)
56+ node = factory.make_Node(status=NODE_STATUS.READY, owner=self.user)
57 block_device = factory.make_VirtualBlockDevice(node=node)
58 uri = get_blockdevice_uri(block_device)
59- response = self.client.post(uri, {
60- 'op': "set_boot_disk",
61- })
62+ response = self.client.post(
63+ uri,
64+ {
65+ "op": "set_boot_disk",
66+ },
67+ )
68+ self.assertEqual(
69+ http.client.BAD_REQUEST, response.status_code, response.content
70+ )
71 self.assertEqual(
72- httplib.BAD_REQUEST, response.status_code, response.content)
73- self.assertEquals(
74- "Cannot set a virtual block device as the boot disk.",
75- response.content)
76+ b"Cannot set a virtual block device as the boot disk.",
77+ response.content,
78+ )
79
80 def test_set_boot_disk_returns_403_for_normal_user(self):
81- node = factory.make_Node(owner=self.user)
82+ node = factory.make_Node(status=NODE_STATUS.READY, owner=self.user)
83 block_device = factory.make_PhysicalBlockDevice(node=node)
84 uri = get_blockdevice_uri(block_device)
85- response = self.client.post(uri, {
86- 'op': "set_boot_disk",
87- })
88+ response = self.client.post(
89+ uri,
90+ {
91+ "op": "set_boot_disk",
92+ },
93+ )
94 self.assertEqual(
95- httplib.FORBIDDEN, response.status_code, response.content)
96+ http.client.FORBIDDEN, response.status_code, response.content
97+ )
98
99 def test_set_boot_disk_returns_404_for_block_device_not_on_node(self):
100 node = factory.make_Node(owner=self.user)
101 block_device = factory.make_PhysicalBlockDevice()
102 uri = get_blockdevice_uri(block_device, node=node)
103- response = self.client.post(uri, {
104- 'op': "set_boot_disk",
105- })
106+ response = self.client.post(
107+ uri,
108+ {
109+ "op": "set_boot_disk",
110+ },
111+ )
112 self.assertEqual(
113- httplib.NOT_FOUND, response.status_code, response.content)
114+ http.client.NOT_FOUND, response.status_code, response.content
115+ )
116
117 def test_set_boot_disk_sets_boot_disk_for_admin(self):
118 self.become_admin()
119- node = factory.make_Node(owner=self.user)
120+ node = factory.make_Node(status=NODE_STATUS.READY, owner=self.user)
121 block_device = factory.make_PhysicalBlockDevice(node=node)
122 uri = get_blockdevice_uri(block_device)
123- response = self.client.post(uri, {
124- 'op': "set_boot_disk",
125- })
126+ response = self.client.post(
127+ uri,
128+ {
129+ "op": "set_boot_disk",
130+ },
131+ )
132 self.assertEqual(
133- httplib.OK, response.status_code, response.content)
134+ http.client.OK, response.status_code, response.content
135+ )
136 node = reload_object(node)
137- self.assertEquals(block_device, node.boot_disk)
138- """
139+ self.assertEqual(block_device, node.boot_disk)
140diff --git a/src/maasserver/api/tests/test_commissioning.py b/src/maasserver/api/tests/test_commissioning.py
141index 33310c3..671125f 100644
142--- a/src/maasserver/api/tests/test_commissioning.py
143+++ b/src/maasserver/api/tests/test_commissioning.py
144@@ -65,8 +65,8 @@ class AdminCommissioningScriptsAPITest(APITestCase.ForAdmin):
145 self.assertThat(response, HasStatusCode(http.client.OK))
146
147 returned_script = json_load_bytes(response.content)
148- self.assertEquals(name, returned_script["name"])
149- self.assertEquals(
150+ self.assertEqual(name, returned_script["name"])
151+ self.assertEqual(
152 content.encode(), b64decode(returned_script["content"])
153 )
154
155@@ -133,7 +133,7 @@ class AdminCommissioningScriptAPITest(APITestCase.ForAdmin):
156 {"content": factory.make_file_upload(content=new_content)},
157 )
158 self.assertThat(response, HasStatusCode(http.client.OK))
159- self.assertEquals(rc.ALL_OK.content, response.content)
160+ self.assertEqual(rc.ALL_OK.content, response.content)
161
162 self.assertEqual(
163 new_content.decode("utf-8"), reload_object(script).script.data
164@@ -244,7 +244,7 @@ class NodeCommissionResultHandlerAPITest(APITestCase.ForUser):
165 for parsed_result in parsed_results:
166 if parsed_result["name"] == script_result.name:
167 break
168- self.assertEquals(
169+ self.assertEqual(
170 node.current_commissioning_script_set.scriptresult_set.count()
171 + node.current_testing_script_set.scriptresult_set.count()
172 + node.current_installation_script_set.scriptresult_set.count(),
173@@ -264,16 +264,16 @@ class NodeCommissionResultHandlerAPITest(APITestCase.ForUser):
174 ],
175 parsed_result.keys(),
176 )
177- self.assertEquals(script_result.id, parsed_result["id"])
178- self.assertEquals(script_result.name, parsed_result["name"])
179- self.assertEquals(
180+ self.assertEqual(script_result.id, parsed_result["id"])
181+ self.assertEqual(script_result.name, parsed_result["name"])
182+ self.assertEqual(
183 script_result.exit_status, parsed_result["script_result"]
184 )
185- self.assertEquals(script_set.result_type, parsed_result["result_type"])
186- self.assertEquals(
187+ self.assertEqual(script_set.result_type, parsed_result["result_type"])
188+ self.assertEqual(
189 {"system_id": script_set.node.system_id}, parsed_result["node"]
190 )
191- self.assertEquals(
192+ self.assertEqual(
193 script_result.stdout, b64decode(parsed_result["data"])
194 )
195
196@@ -396,7 +396,7 @@ class NodeCommissionResultHandlerAPITest(APITestCase.ForUser):
197 response = self.client.get(url, {"name": script_result.name})
198 self.assertThat(response, HasStatusCode(http.client.OK))
199 parsed_results = json_load_bytes(response.content)
200- self.assertEquals(script_result.id, parsed_results[0]["id"])
201+ self.assertEqual(script_result.id, parsed_results[0]["id"])
202
203 def test_list_displays_only_visible_nodes(self):
204 node = factory.make_Node(
205diff --git a/src/maasserver/api/tests/test_devices.py b/src/maasserver/api/tests/test_devices.py
206index bd5ff70..c305d20 100644
207--- a/src/maasserver/api/tests/test_devices.py
208+++ b/src/maasserver/api/tests/test_devices.py
209@@ -56,9 +56,9 @@ class TestDevicesAPI(APITestCase.ForUser):
210 device = Device.objects.get(system_id=system_id)
211 self.assertEqual(hostname, device.hostname)
212 self.assertIsNone(device.parent)
213- self.assertEquals(device.node_type, NODE_TYPE.DEVICE)
214- self.assertEquals(self.user, device.owner)
215- self.assertEquals(
216+ self.assertEqual(device.node_type, NODE_TYPE.DEVICE)
217+ self.assertEqual(self.user, device.owner)
218+ self.assertEqual(
219 macs, {nic.mac_address for nic in device.interface_set.all()}
220 )
221
222@@ -81,8 +81,8 @@ class TestDevicesAPI(APITestCase.ForUser):
223 )
224 system_id = json_load_bytes(response.content)["system_id"]
225 device = Device.objects.get(system_id=system_id)
226- self.assertEquals(hostname, device.hostname)
227- self.assertEquals(parent, device.parent)
228+ self.assertEqual(hostname, device.hostname)
229+ self.assertEqual(parent, device.parent)
230 self.assertEqual(device.node_type, NODE_TYPE.DEVICE)
231
232 def test_POST_creates_device_with_default_domain(self):
233@@ -99,8 +99,8 @@ class TestDevicesAPI(APITestCase.ForUser):
234 )
235 system_id = json_load_bytes(response.content)["system_id"]
236 device = Device.objects.get(system_id=system_id)
237- self.assertEquals(hostname, device.hostname)
238- self.assertEquals(Domain.objects.get_default_domain(), device.domain)
239+ self.assertEqual(hostname, device.hostname)
240+ self.assertEqual(Domain.objects.get_default_domain(), device.domain)
241 self.assertEqual(device.node_type, NODE_TYPE.DEVICE)
242
243 def test_POST_creates_device_with_domain(self):
244@@ -122,8 +122,8 @@ class TestDevicesAPI(APITestCase.ForUser):
245 )
246 system_id = json_load_bytes(response.content)["system_id"]
247 device = Device.objects.get(system_id=system_id)
248- self.assertEquals(hostname, device.hostname)
249- self.assertEquals(domain, device.domain)
250+ self.assertEqual(hostname, device.hostname)
251+ self.assertEqual(domain, device.domain)
252 self.assertEqual(device.node_type, NODE_TYPE.DEVICE)
253
254 def test_POST_without_macs_raises_appropriate_error(self):
255diff --git a/src/maasserver/api/tests/test_dhcpsnippets.py b/src/maasserver/api/tests/test_dhcpsnippets.py
256index 21a0e2e..d844daa 100644
257--- a/src/maasserver/api/tests/test_dhcpsnippets.py
258+++ b/src/maasserver/api/tests/test_dhcpsnippets.py
259@@ -198,7 +198,7 @@ class TestDHCPSnippetAPI(APITestCase.ForUser):
260 http.client.OK, response.status_code, response.content
261 )
262 parsed_dhcp_snippet = json.loads(response.content.decode())
263- self.assertEquals(
264+ self.assertEqual(
265 VersionedTextFile.objects.get(id=textfile_ids[revert_to - 1]).data,
266 parsed_dhcp_snippet["value"],
267 )
268@@ -326,10 +326,10 @@ class TestDHCPSnippetsAPI(APITestCase.ForUser):
269 },
270 )
271 parsed_dhcp_snippet = json.loads(response.content.decode())
272- self.assertEquals(name, parsed_dhcp_snippet["name"])
273- self.assertEquals(value, parsed_dhcp_snippet["value"])
274- self.assertEquals(description, parsed_dhcp_snippet["description"])
275- self.assertEquals(enabled, parsed_dhcp_snippet["enabled"])
276+ self.assertEqual(name, parsed_dhcp_snippet["name"])
277+ self.assertEqual(value, parsed_dhcp_snippet["value"])
278+ self.assertEqual(description, parsed_dhcp_snippet["description"])
279+ self.assertEqual(enabled, parsed_dhcp_snippet["enabled"])
280
281 def test_create_admin_only(self):
282 response = self.client.post(
283diff --git a/src/maasserver/api/tests/test_interfaces.py b/src/maasserver/api/tests/test_interfaces.py
284index 396b1bb..890f27d 100644
285--- a/src/maasserver/api/tests/test_interfaces.py
286+++ b/src/maasserver/api/tests/test_interfaces.py
287@@ -1104,8 +1104,8 @@ class TestNodeInterfaceAPI(APITransactionTestCase.ForUser):
288 http.client.OK, response.status_code, response.content
289 )
290 parsed_interface = json_load_bytes(response.content)
291- self.assertEquals(new_name, parsed_interface["name"])
292- self.assertEquals(new_vlan.vid, parsed_interface["vlan"]["vid"])
293+ self.assertEqual(new_name, parsed_interface["name"])
294+ self.assertEqual(new_vlan.vid, parsed_interface["vlan"]["vid"])
295
296 def test_update_bond_interface(self):
297 self.become_admin()
298@@ -1979,7 +1979,7 @@ class TestInterfaceAPIForControllers(APITestCase.ForUser):
299 http.client.OK, response.status_code, response.content
300 )
301 parsed_interface = json_load_bytes(response.content)
302- self.assertEquals(new_vlan.id, parsed_interface["vlan"]["id"])
303+ self.assertEqual(new_vlan.id, parsed_interface["vlan"]["id"])
304
305 def test_update_only_works_for_vlan_field(self):
306 self.become_admin()
307@@ -1997,8 +1997,8 @@ class TestInterfaceAPIForControllers(APITestCase.ForUser):
308 http.client.OK, response.status_code, response.content
309 )
310 parsed_interface = json_load_bytes(response.content)
311- self.assertEquals(new_vlan.id, parsed_interface["vlan"]["id"])
312- self.assertEquals(interface.name, parsed_interface["name"])
313+ self.assertEqual(new_vlan.id, parsed_interface["vlan"]["id"])
314+ self.assertEqual(interface.name, parsed_interface["name"])
315
316 def test_update_forbidden_for_vlan_interface(self):
317 self.become_admin()
318diff --git a/src/maasserver/api/tests/test_machine.py b/src/maasserver/api/tests/test_machine.py
319index dd6495c..9450e24 100644
320--- a/src/maasserver/api/tests/test_machine.py
321+++ b/src/maasserver/api/tests/test_machine.py
322@@ -854,7 +854,7 @@ class TestMachineAPI(APITestCase.ForUser):
323 http.client.OK, response.status_code, response.content
324 )
325 response_content = json_load_bytes(response.content)
326- self.assertEquals("virsh", response_content["power_type"])
327+ self.assertEqual("virsh", response_content["power_type"])
328
329 def test_POST_deploy_allocates_ready_machines(self):
330 self.patch(node_module.Node, "_start")
331diff --git a/src/maasserver/api/tests/test_machines.py b/src/maasserver/api/tests/test_machines.py
332index 0736ffe..8f43d33 100644
333--- a/src/maasserver/api/tests/test_machines.py
334+++ b/src/maasserver/api/tests/test_machines.py
335@@ -247,7 +247,7 @@ class TestMachinesAPI(APITestCase.ForUser):
336 validation_errors = json.loads(
337 response.content.decode(settings.DEFAULT_CHARSET)
338 )["power_type"]
339- self.assertEquals(
340+ self.assertEqual(
341 "Select a valid choice. %s is not one of the "
342 "available choices." % power_type,
343 validation_errors[0],
344@@ -269,7 +269,7 @@ class TestMachinesAPI(APITestCase.ForUser):
345 response.content.decode(settings.DEFAULT_CHARSET)
346 )["system_id"]
347 machine = Machine.objects.get(system_id=system_id)
348- self.assertEquals("", machine.power_type)
349+ self.assertEqual("", machine.power_type)
350 self.assertEqual({}, machine.power_parameters)
351
352 def test_POST_handles_error_when_unable_to_access_bmc(self):
353@@ -319,8 +319,8 @@ class TestMachinesAPI(APITestCase.ForUser):
354 },
355 )
356 parsed_result = json.loads(response.content.decode())
357- self.assertEquals(NODE_STATUS.COMMISSIONING, parsed_result["status"])
358- self.assertEquals(description, parsed_result["description"])
359+ self.assertEqual(NODE_STATUS.COMMISSIONING, parsed_result["status"])
360+ self.assertEqual(description, parsed_result["description"])
361
362 def test_POST_starts_commissioning_with_selected_test_scripts(self):
363 # Regression test for LP1707562
364@@ -342,7 +342,7 @@ class TestMachinesAPI(APITestCase.ForUser):
365 },
366 )
367 parsed_result = json.loads(response.content.decode())
368- self.assertEquals(NODE_STATUS.COMMISSIONING, parsed_result["status"])
369+ self.assertEqual(NODE_STATUS.COMMISSIONING, parsed_result["status"])
370 script_set = ScriptSet.objects.get(
371 id=parsed_result["current_testing_result_id"]
372 )
373@@ -366,7 +366,7 @@ class TestMachinesAPI(APITestCase.ForUser):
374 },
375 )
376 parsed_result = json.loads(response.content.decode())
377- self.assertEquals(NODE_STATUS.COMMISSIONING, parsed_result["status"])
378+ self.assertEqual(NODE_STATUS.COMMISSIONING, parsed_result["status"])
379
380 def test_POST_commission_false(self):
381 # Regression test for LP:1904398
382@@ -382,7 +382,7 @@ class TestMachinesAPI(APITestCase.ForUser):
383 },
384 )
385 parsed_result = json.loads(response.content.decode())
386- self.assertEquals(NODE_STATUS.NEW, parsed_result["status"])
387+ self.assertEqual(NODE_STATUS.NEW, parsed_result["status"])
388
389 def test_GET_lists_machines(self):
390 # The api allows for fetching the list of Machines.
391@@ -457,7 +457,7 @@ class TestMachinesAPI(APITestCase.ForUser):
392 parsed_result = json.loads(
393 response.content.decode(settings.DEFAULT_CHARSET)
394 )
395- self.assertEquals(
396+ self.assertEqual(
397 {
398 "id": pod.id,
399 "name": pod.name,
400diff --git a/src/maasserver/api/tests/test_node.py b/src/maasserver/api/tests/test_node.py
401index 295a72f..e8b84f2 100644
402--- a/src/maasserver/api/tests/test_node.py
403+++ b/src/maasserver/api/tests/test_node.py
404@@ -258,59 +258,59 @@ class TestNodeAPI(APITestCase.ForUser):
405 return SCRIPT_STATUS_CHOICES[status(s)][1]
406
407 self.assertThat(response, HasStatusCode(http.client.OK))
408- self.assertEquals(
409+ self.assertEqual(
410 status(commissioning_script_result),
411 parsed_result["commissioning_status"],
412 )
413- self.assertEquals(
414+ self.assertEqual(
415 status_name(commissioning_script_result),
416 parsed_result["commissioning_status_name"],
417 )
418- self.assertEquals(testing_status, parsed_result["testing_status"])
419- self.assertEquals(
420+ self.assertEqual(testing_status, parsed_result["testing_status"])
421+ self.assertEqual(
422 SCRIPT_STATUS_CHOICES[testing_status][1],
423 parsed_result["testing_status_name"],
424 )
425- self.assertEquals(
426+ self.assertEqual(
427 status(cpu_script_result), parsed_result["cpu_test_status"]
428 )
429- self.assertEquals(
430+ self.assertEqual(
431 status_name(cpu_script_result),
432 parsed_result["cpu_test_status_name"],
433 )
434- self.assertEquals(
435+ self.assertEqual(
436 status(memory_script_result), parsed_result["memory_test_status"]
437 )
438- self.assertEquals(
439+ self.assertEqual(
440 status_name(memory_script_result),
441 parsed_result["memory_test_status_name"],
442 )
443- self.assertEquals(
444+ self.assertEqual(
445 status(network_script_result), parsed_result["network_test_status"]
446 )
447- self.assertEquals(
448+ self.assertEqual(
449 status_name(network_script_result),
450 parsed_result["network_test_status_name"],
451 )
452- self.assertEquals(
453+ self.assertEqual(
454 status(storage_script_result), parsed_result["storage_test_status"]
455 )
456- self.assertEquals(
457+ self.assertEqual(
458 status_name(storage_script_result),
459 parsed_result["storage_test_status_name"],
460 )
461- self.assertEquals(
462+ self.assertEqual(
463 status(node_script_result), parsed_result["other_test_status"]
464 )
465- self.assertEquals(
466+ self.assertEqual(
467 status_name(node_script_result),
468 parsed_result["other_test_status_name"],
469 )
470- self.assertEquals(
471+ self.assertEqual(
472 status(interface_script_result),
473 parsed_result["interface_test_status"],
474 )
475- self.assertEquals(
476+ self.assertEqual(
477 status_name(interface_script_result),
478 parsed_result["interface_test_status_name"],
479 )
480diff --git a/src/maasserver/api/tests/test_pods.py b/src/maasserver/api/tests/test_pods.py
481index 5c840e7..33586b5 100644
482--- a/src/maasserver/api/tests/test_pods.py
483+++ b/src/maasserver/api/tests/test_pods.py
484@@ -491,7 +491,7 @@ class TestPodAPIAdmin(PodAPITestForAdmin, PodMixin):
485 self.assertEqual(
486 http.client.BAD_REQUEST, response.status_code, response.content
487 )
488- self.assertEquals(
489+ self.assertEqual(
490 b"Pod does not support composability.", response.content
491 )
492
493diff --git a/src/maasserver/api/tests/test_scriptresults.py b/src/maasserver/api/tests/test_scriptresults.py
494index c005848..c775ff8 100644
495--- a/src/maasserver/api/tests/test_scriptresults.py
496+++ b/src/maasserver/api/tests/test_scriptresults.py
497@@ -760,7 +760,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
498 self.assertThat(response, HasStatusCode(http.client.OK))
499 script_set = reload_object(script_set)
500 self.assertIsNotNone(script_set)
501- self.assertEquals(script_set.id, script_result.script_set.id)
502+ self.assertEqual(script_set.id, script_result.script_set.id)
503 script_result = reload_object(script_result)
504 self.assertTrue(script_result.suppressed)
505 for script_result in script_results:
506@@ -792,7 +792,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
507 self.assertThat(response, HasStatusCode(http.client.OK))
508 script_set = reload_object(script_set)
509 self.assertIsNotNone(script_set)
510- self.assertEquals(script_set.id, script_result.script_set.id)
511+ self.assertEqual(script_set.id, script_result.script_set.id)
512 script_result = reload_object(script_result)
513 self.assertTrue(script_result.suppressed)
514 for script_result in script_results:
515@@ -829,10 +829,10 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
516 self.assertThat(response, HasStatusCode(http.client.OK))
517 script_set = reload_object(script_set)
518 self.assertIsNotNone(script_set)
519- self.assertEquals(script_set.id, script_result.script_set.id)
520+ self.assertEqual(script_set.id, script_result.script_set.id)
521 script_result = reload_object(script_result)
522 self.assertTrue(script_result.suppressed)
523- self.assertEquals(hardware_type, script_result.script.hardware_type)
524+ self.assertEqual(hardware_type, script_result.script.hardware_type)
525 for script_result in script_results:
526 script_result = reload_object(script_result)
527 self.assertFalse(script_result.suppressed)
528@@ -858,7 +858,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
529 )
530 binary.write(script_result.output)
531 binary.write(b"\n")
532- self.assertEquals(binary.getvalue(), response.content)
533+ self.assertEqual(binary.getvalue(), response.content)
534
535 def test_download_single(self):
536 script_set = self.make_scriptset()
537@@ -869,7 +869,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
538 {"op": "download", "filter": script_result.id},
539 )
540 self.assertThat(response, HasStatusCode(http.client.OK))
541- self.assertEquals(script_result.output, response.content)
542+ self.assertEqual(script_result.output, response.content)
543
544 def test_download_filetype_txt(self):
545 script_set = self.make_scriptset()
546@@ -880,7 +880,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
547 {"op": "download", "filetype": "txt", "filters": script_result.id},
548 )
549 self.assertThat(response, HasStatusCode(http.client.OK))
550- self.assertEquals(script_result.output, response.content)
551+ self.assertEqual(script_result.output, response.content)
552
553 def test_download_filetype_tar_xz(self):
554 script_set = self.make_scriptset()
555@@ -935,7 +935,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
556 },
557 )
558 self.assertThat(response, HasStatusCode(http.client.OK))
559- self.assertEquals(script_result.output, response.content)
560+ self.assertEqual(script_result.output, response.content)
561
562 def test_download_output_stdout(self):
563 script_set = self.make_scriptset()
564@@ -946,7 +946,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
565 {"op": "download", "filter": script_result.id, "output": "stdout"},
566 )
567 self.assertThat(response, HasStatusCode(http.client.OK))
568- self.assertEquals(script_result.stdout, response.content)
569+ self.assertEqual(script_result.stdout, response.content)
570
571 def test_download_output_stderr(self):
572 script_set = self.make_scriptset()
573@@ -957,7 +957,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
574 {"op": "download", "filter": script_result.id, "output": "stderr"},
575 )
576 self.assertThat(response, HasStatusCode(http.client.OK))
577- self.assertEquals(script_result.stderr, response.content)
578+ self.assertEqual(script_result.stderr, response.content)
579
580 def test_download_output_result(self):
581 script_set = self.make_scriptset()
582@@ -968,7 +968,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
583 {"op": "download", "filter": script_result.id, "output": "result"},
584 )
585 self.assertThat(response, HasStatusCode(http.client.OK))
586- self.assertEquals(script_result.result, response.content)
587+ self.assertEqual(script_result.result, response.content)
588
589 def test_download_output_all(self):
590 script_set = self.make_scriptset()
591@@ -1002,7 +1002,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
592 binary.write(("%s %s %s\n" % (dashes, filename, dashes)).encode())
593 binary.write(script_result.result)
594 binary.write(b"\n")
595- self.assertEquals(binary.getvalue(), response.content)
596+ self.assertEqual(binary.getvalue(), response.content)
597
598 def test_download_filters(self):
599 scripts = [factory.make_Script() for _ in range(10)]
600@@ -1043,9 +1043,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
601 script_set.id,
602 )
603 with tarfile.open(mode="r", fileobj=BytesIO(response.content)) as tar:
604- self.assertEquals(
605- len(set(filtered_results)), len(tar.getmembers())
606- )
607+ self.assertEqual(len(set(filtered_results)), len(tar.getmembers()))
608 for script_result in filtered_results:
609 path = os.path.join(root_dir, script_result.name)
610 member = tar.getmember(path)
611@@ -1081,7 +1079,7 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
612 },
613 )
614 self.assertThat(response, HasStatusCode(http.client.OK))
615- self.assertEquals(script_result.output, response.content)
616+ self.assertEqual(script_result.output, response.content)
617
618 def test_download_shows_results_from_all_disks(self):
619 # Regression test for #LP:1755060
620@@ -1192,4 +1190,4 @@ class TestNodeScriptResultAPI(APITestCase.ForUser):
621 binary.write(("%s %s %s\n" % (dashes, filename, dashes)).encode())
622 binary.write(other_result.result)
623 binary.write(b"\n")
624- self.assertEquals(binary.getvalue(), response.content)
625+ self.assertEqual(binary.getvalue(), response.content)
626diff --git a/src/maasserver/api/tests/test_scripts.py b/src/maasserver/api/tests/test_scripts.py
627index c2a0d21..7718c7a 100644
628--- a/src/maasserver/api/tests/test_scripts.py
629+++ b/src/maasserver/api/tests/test_scripts.py
630@@ -77,18 +77,18 @@ class TestScriptsAPI(APITestCase.ForUser):
631 parsed_result = json_load_bytes(response.content)
632 script = Script.objects.get(id=int(parsed_result["id"]))
633
634- self.assertEquals(name, script.name)
635- self.assertEquals(title, script.title)
636- self.assertEquals(description, script.description)
637+ self.assertEqual(name, script.name)
638+ self.assertEqual(title, script.title)
639+ self.assertEqual(description, script.description)
640 self.assertThat(script.tags, ContainsAll(tags))
641- self.assertEquals(script_type, script.script_type)
642- self.assertEquals(hardware_type, script.hardware_type)
643- self.assertEquals(parallel, script.parallel)
644+ self.assertEqual(script_type, script.script_type)
645+ self.assertEqual(hardware_type, script.hardware_type)
646+ self.assertEqual(parallel, script.parallel)
647 self.assertDictEqual(packages, script.packages)
648- self.assertEquals(timeout, script.timeout.seconds)
649- self.assertEquals(destructive, script.destructive)
650- self.assertEquals(script_content, script.script.data)
651- self.assertEquals(comment, script.script.comment)
652+ self.assertEqual(timeout, script.timeout.seconds)
653+ self.assertEqual(destructive, script.destructive)
654+ self.assertEqual(script_content, script.script.data)
655+ self.assertEqual(comment, script.script.comment)
656
657 def test_POST_gets_name_from_filename(self):
658 self.become_admin()
659@@ -125,18 +125,18 @@ class TestScriptsAPI(APITestCase.ForUser):
660 parsed_result = json_load_bytes(response.content)
661 script = Script.objects.get(id=int(parsed_result["id"]))
662
663- self.assertEquals(name, script.name)
664- self.assertEquals(title, script.title)
665- self.assertEquals(description, script.description)
666+ self.assertEqual(name, script.name)
667+ self.assertEqual(title, script.title)
668+ self.assertEqual(description, script.description)
669 self.assertThat(script.tags, ContainsAll(tags))
670- self.assertEquals(script_type, script.script_type)
671- self.assertEquals(hardware_type, script.hardware_type)
672- self.assertEquals(parallel, script.parallel)
673+ self.assertEqual(script_type, script.script_type)
674+ self.assertEqual(hardware_type, script.hardware_type)
675+ self.assertEqual(parallel, script.parallel)
676 self.assertDictEqual(packages, script.packages)
677- self.assertEquals(timeout, script.timeout.seconds)
678- self.assertEquals(destructive, script.destructive)
679- self.assertEquals(script_content, script.script.data)
680- self.assertEquals(comment, script.script.comment)
681+ self.assertEqual(timeout, script.timeout.seconds)
682+ self.assertEqual(destructive, script.destructive)
683+ self.assertEqual(script_content, script.script.data)
684+ self.assertEqual(comment, script.script.comment)
685
686 def test_POST_requires_admin(self):
687 response = self.client.post(self.get_scripts_uri())
688@@ -224,7 +224,7 @@ class TestScriptsAPI(APITestCase.ForUser):
689 parsed_results = json_load_bytes(response.content)
690
691 for result in parsed_results:
692- self.assertEquals(
693+ self.assertEqual(
694 scripts[result["name"]].script.data.encode(),
695 b64decode(result["history"][0]["data"].encode()),
696 )
697@@ -298,7 +298,7 @@ class TestScriptAPI(APITestCase.ForUser):
698 for result_rev in history:
699 for rev in script.script.previous_versions():
700 if rev.id == result_rev["id"]:
701- self.assertEquals(
702+ self.assertEqual(
703 {
704 "id": rev.id,
705 "comment": rev.comment,
706@@ -354,7 +354,7 @@ class TestScriptAPI(APITestCase.ForUser):
707 for result_rev in history:
708 for rev in script.script.previous_versions():
709 if rev.id == result_rev["id"]:
710- self.assertEquals(
711+ self.assertEqual(
712 {
713 "id": rev.id,
714 "comment": rev.comment,
715@@ -428,18 +428,18 @@ class TestScriptAPI(APITestCase.ForUser):
716 self.assertThat(response, HasStatusCode(http.client.OK))
717 script = reload_object(script)
718
719- self.assertEquals(name, script.name)
720- self.assertEquals(title, script.title)
721- self.assertEquals(description, script.description)
722+ self.assertEqual(name, script.name)
723+ self.assertEqual(title, script.title)
724+ self.assertEqual(description, script.description)
725 self.assertThat(script.tags, ContainsAll(tags))
726- self.assertEquals(script_type, script.script_type)
727- self.assertEquals(hardware_type, script.hardware_type)
728- self.assertEquals(parallel, script.parallel)
729+ self.assertEqual(script_type, script.script_type)
730+ self.assertEqual(hardware_type, script.hardware_type)
731+ self.assertEqual(parallel, script.parallel)
732 self.assertDictEqual(packages, script.packages)
733- self.assertEquals(timeout, script.timeout.seconds)
734- self.assertEquals(destructive, script.destructive)
735- self.assertEquals(script_content, script.script.data)
736- self.assertEquals(comment, script.script.comment)
737+ self.assertEqual(timeout, script.timeout.seconds)
738+ self.assertEqual(destructive, script.destructive)
739+ self.assertEqual(script_content, script.script.data)
740+ self.assertEqual(comment, script.script.comment)
741 self.assertIsNotNone(script.script.previous_version)
742
743 def test_PUT_gets_name_from_filename(self):
744@@ -477,17 +477,17 @@ class TestScriptAPI(APITestCase.ForUser):
745 self.assertThat(response, HasStatusCode(http.client.OK))
746 script = reload_object(script)
747
748- self.assertEquals(name, script.name)
749- self.assertEquals(description, script.description)
750+ self.assertEqual(name, script.name)
751+ self.assertEqual(description, script.description)
752 self.assertThat(script.tags, ContainsAll(tags))
753- self.assertEquals(script_type, script.script_type)
754- self.assertEquals(hardware_type, script.hardware_type)
755- self.assertEquals(parallel, script.parallel)
756+ self.assertEqual(script_type, script.script_type)
757+ self.assertEqual(hardware_type, script.hardware_type)
758+ self.assertEqual(parallel, script.parallel)
759 self.assertDictEqual(packages, script.packages)
760- self.assertEquals(timeout, script.timeout.seconds)
761- self.assertEquals(destructive, script.destructive)
762- self.assertEquals(script_content, script.script.data)
763- self.assertEquals(comment, script.script.comment)
764+ self.assertEqual(timeout, script.timeout.seconds)
765+ self.assertEqual(destructive, script.destructive)
766+ self.assertEqual(script_content, script.script.data)
767+ self.assertEqual(comment, script.script.comment)
768 self.assertIsNotNone(script.script.previous_version)
769
770 def test_PUT_admin_only(self):
771@@ -503,7 +503,7 @@ class TestScriptAPI(APITestCase.ForUser):
772 self.get_script_uri(script), {"op": "download"}
773 )
774 self.assertThat(response, HasStatusCode(http.client.OK))
775- self.assertEquals(script.script.data, response.content.decode())
776+ self.assertEqual(script.script.data, response.content.decode())
777
778 def test_download_gets_previous_revision(self):
779 script = factory.make_Script()
780@@ -514,7 +514,7 @@ class TestScriptAPI(APITestCase.ForUser):
781 {"op": "download", "revision": script.script.previous_version.id},
782 )
783 self.assertThat(response, HasStatusCode(http.client.OK))
784- self.assertEquals(
785+ self.assertEqual(
786 script.script.previous_version.data, response.content.decode()
787 )
788
789@@ -527,7 +527,7 @@ class TestScriptAPI(APITestCase.ForUser):
790 {"op": "download", "rev": script.script.previous_version.id},
791 )
792 self.assertThat(response, HasStatusCode(http.client.OK))
793- self.assertEquals(
794+ self.assertEqual(
795 script.script.previous_version.data, response.content.decode()
796 )
797
798@@ -555,7 +555,7 @@ class TestScriptAPI(APITestCase.ForUser):
799 )
800 self.assertThat(response, HasStatusCode(http.client.OK))
801 script = reload_object(script)
802- self.assertEquals(
803+ self.assertEqual(
804 VersionedTextFile.objects.get(id=textfile_ids[revert_to - 1]).data,
805 script.script.data,
806 )
807diff --git a/src/maasserver/api/tests/test_ssl_key.py b/src/maasserver/api/tests/test_ssl_key.py
808index 0217420..67af5a6 100644
809--- a/src/maasserver/api/tests/test_ssl_key.py
810+++ b/src/maasserver/api/tests/test_ssl_key.py
811@@ -134,7 +134,7 @@ class TestSSLKeyHandlers(APITestCase.ForUser):
812 self.assertEqual(1, len(keys_after))
813 self.assertEqual(keys[1].id, keys_after[0].id)
814 self.assertIsNotNone(event)
815- self.assertEquals(
816+ self.assertEqual(
817 event.description, "Deleted SSL key id='%s'." % keys[0].id
818 )
819
820diff --git a/src/maasserver/api/tests/test_tag.py b/src/maasserver/api/tests/test_tag.py
821index 018259e..975b443 100644
822--- a/src/maasserver/api/tests/test_tag.py
823+++ b/src/maasserver/api/tests/test_tag.py
824@@ -209,7 +209,7 @@ class TestTagAPI(APITestCase.ForUser):
825 # `default_gateways`, `health_status`, 'special_filesystems' and
826 # 'resource_pool' the number of queries is not the same but it is
827 # proportional to the number of machines.
828- self.assertEquals(num_queries1, num_queries2 - (3 * 7))
829+ self.assertEqual(num_queries1, num_queries2 - (3 * 7))
830
831 def test_GET_machines_returns_machines(self):
832 tag = factory.make_Tag()
833@@ -282,7 +282,7 @@ class TestTagAPI(APITestCase.ForUser):
834 # `default_gateways`, `health_status` and 'resource_pool', the number
835 # of queries is not the same but it is proportional to the number of
836 # machines.
837- self.assertEquals(num_queries1, num_queries2 - (3 * 7))
838+ self.assertEqual(num_queries1, num_queries2 - (3 * 7))
839
840 def test_GET_devices_returns_devices(self):
841 tag = factory.make_Tag()
842@@ -345,7 +345,7 @@ class TestTagAPI(APITestCase.ForUser):
843 len(extract_system_ids(parsed_result_2)),
844 ],
845 )
846- self.assertEquals(num_queries1, num_queries2)
847+ self.assertEqual(num_queries1, num_queries2)
848
849 def test_GET_rack_controllers_returns_rack_controllers(self):
850 self.become_admin()
851@@ -413,7 +413,7 @@ class TestTagAPI(APITestCase.ForUser):
852 len(extract_system_ids(parsed_result_2)),
853 ],
854 )
855- self.assertEquals(num_queries1, num_queries2 - (3 * 3))
856+ self.assertEqual(num_queries1, num_queries2 - (3 * 3))
857
858 def test_GET_rack_controllers_returns_no_rack_controllers_nonadmin(self):
859 tag = factory.make_Tag()
860@@ -506,7 +506,7 @@ class TestTagAPI(APITestCase.ForUser):
861 len(extract_system_ids(parsed_result_2)),
862 ],
863 )
864- self.assertEquals(num_queries1, num_queries2 - 6)
865+ self.assertEqual(num_queries1, num_queries2 - 6)
866
867 def test_GET_region_controllers_returns_no_controllers_nonadmin(self):
868 tag = factory.make_Tag()
869diff --git a/src/maasserver/api/tests/test_users.py b/src/maasserver/api/tests/test_users.py
870index 9507d2c..7f0e190 100644
871--- a/src/maasserver/api/tests/test_users.py
872+++ b/src/maasserver/api/tests/test_users.py
873@@ -181,7 +181,7 @@ class TestUsers(APITestCase.ForUser):
874 )
875 event = Event.objects.get(type__level=AUDIT)
876 self.assertIsNotNone(event)
877- self.assertEquals(event.description, "Created user '%s'." % username)
878+ self.assertEqual(event.description, "Created user '%s'." % username)
879
880 def test_POST_creates_audit_event_for_admin(self):
881 self.become_admin()
882@@ -197,7 +197,7 @@ class TestUsers(APITestCase.ForUser):
883 )
884 event = Event.objects.get(type__level=AUDIT)
885 self.assertIsNotNone(event)
886- self.assertEquals(event.description, "Created admin '%s'." % username)
887+ self.assertEqual(event.description, "Created admin '%s'." % username)
888
889 def test_POST_password_required_without_external_auth(self):
890 self.become_admin()
891@@ -552,7 +552,7 @@ class TestUser(APITestCase.ForUser):
892 self.client.delete(reverse("user_handler", args=[user.username]))
893 event = Event.objects.get(type__level=AUDIT)
894 self.assertIsNotNone(event)
895- self.assertEquals(
896+ self.assertEqual(
897 event.description, "Deleted user '%s'." % user.username
898 )
899
900@@ -562,6 +562,6 @@ class TestUser(APITestCase.ForUser):
901 self.client.delete(reverse("user_handler", args=[user.username]))
902 event = Event.objects.get(type__level=AUDIT)
903 self.assertIsNotNone(event)
904- self.assertEquals(
905+ self.assertEqual(
906 event.description, "Deleted admin '%s'." % user.username
907 )
908diff --git a/src/maasserver/api/tests/test_vmfs_datastores.py b/src/maasserver/api/tests/test_vmfs_datastores.py
909index c805b89..2c24dd5 100644
910--- a/src/maasserver/api/tests/test_vmfs_datastores.py
911+++ b/src/maasserver/api/tests/test_vmfs_datastores.py
912@@ -125,9 +125,9 @@ class TestVMFSDatastoresAPI(APITestCase.ForUser):
913 )
914 self.assertThat(response, HasStatusCode(http.client.OK))
915 parsed_results = json_load_bytes(response.content)
916- self.assertEquals(node.system_id, parsed_results["system_id"])
917+ self.assertEqual(node.system_id, parsed_results["system_id"])
918 # VMFS should be using the 5 devices we listed above.
919- self.assertEquals(5, len(parsed_results["devices"]))
920+ self.assertEqual(5, len(parsed_results["devices"]))
921 # VMFS should be using all the block devices we created.
922 self.assertItemsEqual(
923 [bd.id for bd in block_devices] + [block_device.id],
924@@ -147,7 +147,7 @@ class TestVMFSDatastoreAPI(APITestCase.ForUser):
925 def test_handler_path(self):
926 node = factory.make_Machine()
927 vmfs = factory.make_VMFS(node=node)
928- self.assertEquals(
929+ self.assertEqual(
930 "/MAAS/api/2.0/nodes/%s/vmfs-datastore/%s/"
931 % (node.system_id, vmfs.id),
932 self.get_vmfs_uri(vmfs),
933@@ -183,7 +183,7 @@ class TestVMFSDatastoreAPI(APITestCase.ForUser):
934 }
935 ),
936 )
937- self.assertEquals(
938+ self.assertEqual(
939 vmfs.filesystems.count(), len(parsed_result["devices"])
940 )
941
942@@ -242,8 +242,8 @@ class TestVMFSDatastoreAPI(APITestCase.ForUser):
943 vmfs = reload_object(vmfs)
944 partition_ids.add(new_bd.get_partitiontable().partitions.first().id)
945
946- self.assertEquals(new_name, vmfs.name)
947- self.assertEquals(new_uuid, vmfs.uuid)
948+ self.assertEqual(new_name, vmfs.name)
949+ self.assertEqual(new_uuid, vmfs.uuid)
950 self.assertItemsEqual(
951 partition_ids,
952 [fs.get_parent().id for fs in vmfs.filesystems.all()],
953diff --git a/src/maasserver/api/tests/test_volume_groups.py b/src/maasserver/api/tests/test_volume_groups.py
954index db13536..df1ddaf 100644
955--- a/src/maasserver/api/tests/test_volume_groups.py
956+++ b/src/maasserver/api/tests/test_volume_groups.py
957@@ -189,7 +189,7 @@ class TestVolumeGroupAPI(APITestCase.ForUser):
958 volume_group = factory.make_FilesystemGroup(
959 node=node, group_type=FILESYSTEM_GROUP_TYPE.LVM_VG
960 )
961- self.assertEquals(
962+ self.assertEqual(
963 "/MAAS/api/2.0/nodes/%s/volume-group/%s/"
964 % (node.system_id, volume_group.id),
965 get_volume_group_uri(volume_group, node, False),
966diff --git a/src/maasserver/clusterrpc/tests/test_driver_parameters.py b/src/maasserver/clusterrpc/tests/test_driver_parameters.py
967index 950214d..d9c6507 100644
968--- a/src/maasserver/clusterrpc/tests/test_driver_parameters.py
969+++ b/src/maasserver/clusterrpc/tests/test_driver_parameters.py
970@@ -214,7 +214,7 @@ class TestMakeFormField(MAASServerTestCase):
971 "default": "some default",
972 }
973 django_field = make_form_field(json_field)
974- self.assertEquals(json_field["default"], django_field.initial)
975+ self.assertEqual(json_field["default"], django_field.initial)
976
977
978 class TestMakeSettingField(MAASServerTestCase):
979diff --git a/src/maasserver/clusterrpc/tests/test_pods.py b/src/maasserver/clusterrpc/tests/test_pods.py
980index 96e8552..bbdff42 100644
981--- a/src/maasserver/clusterrpc/tests/test_pods.py
982+++ b/src/maasserver/clusterrpc/tests/test_pods.py
983@@ -75,7 +75,7 @@ class TestDiscoverPod(MAASTransactionServerTestCase):
984
985 self.patch(pods_module, "getAllClients").return_value = clients
986 discovered = yield discover_pod(factory.make_name("pod"), {})
987- self.assertEquals(
988+ self.assertEqual(
989 ({rack_id: pod for rack_id in rack_ids}, {}), discovered
990 )
991
992@@ -113,7 +113,7 @@ class TestDiscoverPod(MAASTransactionServerTestCase):
993
994 self.patch(pods_module, "getAllClients").return_value = clients
995 discovered = yield discover_pod(pod_type, {})
996- self.assertEquals(
997+ self.assertEqual(
998 ({valid_rack_id: pod}, {error_rack_id: exception}), discovered
999 )
1000
1001diff --git a/src/maasserver/forms/tests/test_clone.py b/src/maasserver/forms/tests/test_clone.py
1002index 7868ea8..8133280 100644
1003--- a/src/maasserver/forms/tests/test_clone.py
1004+++ b/src/maasserver/forms/tests/test_clone.py
1005@@ -17,7 +17,7 @@ class TestCloneForm(MAASServerTestCase):
1006 user = factory.make_admin()
1007 form = CloneForm(user, data={})
1008 self.assertFalse(form.is_valid())
1009- self.assertEquals(
1010+ self.assertEqual(
1011 {
1012 "source": ["This field is required."],
1013 "destinations": ["This field is required."],
1014@@ -42,7 +42,7 @@ class TestCloneForm(MAASServerTestCase):
1015 },
1016 )
1017 self.assertFalse(form.is_valid())
1018- self.assertEquals(
1019+ self.assertEqual(
1020 {
1021 "destinations": [
1022 "Machine 1 in the array did not validate: "
1023@@ -76,7 +76,7 @@ class TestCloneForm(MAASServerTestCase):
1024 },
1025 )
1026 self.assertFalse(form.is_valid())
1027- self.assertEquals(
1028+ self.assertEqual(
1029 {
1030 "destinations": [
1031 "Machine 1 in the array did not validate: "
1032@@ -107,7 +107,7 @@ class TestCloneForm(MAASServerTestCase):
1033 },
1034 )
1035 self.assertFalse(form.is_valid())
1036- self.assertEquals(
1037+ self.assertEqual(
1038 {
1039 "destinations": [
1040 "Machine 1 in the array did not validate: "
1041@@ -145,7 +145,7 @@ class TestCloneForm(MAASServerTestCase):
1042 },
1043 )
1044 self.assertFalse(form.is_valid())
1045- self.assertEquals(
1046+ self.assertEqual(
1047 {
1048 "destinations": [
1049 "Machine 1 in the array did not validate: "
1050diff --git a/src/maasserver/forms/tests/test_dhcpsnippet.py b/src/maasserver/forms/tests/test_dhcpsnippet.py
1051index 2736ee9..2000f04 100644
1052--- a/src/maasserver/forms/tests/test_dhcpsnippet.py
1053+++ b/src/maasserver/forms/tests/test_dhcpsnippet.py
1054@@ -251,7 +251,7 @@ class TestDHCPSnippetForm(MAASServerTestCase):
1055 request.user = factory.make_User()
1056 dhcp_snippet = form.save(endpoint, request)
1057 self.assertIsNone(dhcp_snippet.subnet)
1058- self.assertEquals(node, dhcp_snippet.node)
1059+ self.assertEqual(node, dhcp_snippet.node)
1060
1061 def test_updates_subnet(self):
1062 dhcp_snippet = factory.make_DHCPSnippet()
1063@@ -278,7 +278,7 @@ class TestDHCPSnippetForm(MAASServerTestCase):
1064 request.user = factory.make_User()
1065 dhcp_snippet = form.save(endpoint, request)
1066 self.assertIsNone(dhcp_snippet.node)
1067- self.assertEquals(subnet, dhcp_snippet.subnet)
1068+ self.assertEqual(subnet, dhcp_snippet.subnet)
1069
1070 def test_cannot_update_both_node_and_subnet(self):
1071 dhcp_snippet = factory.make_DHCPSnippet()
1072@@ -302,7 +302,7 @@ class TestDHCPSnippetForm(MAASServerTestCase):
1073 },
1074 )
1075 self.assertFalse(form.is_valid())
1076- self.assertEquals(value, reload_object(dhcp_snippet).value.data)
1077+ self.assertEqual(value, reload_object(dhcp_snippet).value.data)
1078
1079 def test_update_global_snippet_resets_node(self):
1080 node = factory.make_Node()
1081@@ -349,6 +349,6 @@ class TestDHCPSnippetForm(MAASServerTestCase):
1082 }
1083 )
1084 self.assertFalse(form.is_valid())
1085- self.assertEquals({"value": [dhcpd_error["error"]]}, form.errors)
1086+ self.assertEqual({"value": [dhcpd_error["error"]]}, form.errors)
1087 self.assertItemsEqual([], VersionedTextFile.objects.all())
1088 self.assertItemsEqual([], DHCPSnippet.objects.all())
1089diff --git a/src/maasserver/forms/tests/test_interface.py b/src/maasserver/forms/tests/test_interface.py
1090index 9d93879..52364a3 100644
1091--- a/src/maasserver/forms/tests/test_interface.py
1092+++ b/src/maasserver/forms/tests/test_interface.py
1093@@ -441,7 +441,7 @@ class TestPhysicalInterfaceForm(MAASServerTestCase):
1094 )
1095 self.assertTrue(form.is_valid(), dict(form.errors))
1096 interface = form.save()
1097- self.assertEquals(vlan, interface.vlan)
1098+ self.assertEqual(vlan, interface.vlan)
1099
1100 def test_rejects_parents(self):
1101 parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
1102@@ -1077,7 +1077,7 @@ class BondInterfaceFormTest(MAASServerTestCase):
1103 data={"name": interface_name, "parents": [parent1.id, parent2.id]},
1104 )
1105 self.assertFalse(form.is_valid(), dict(form.errors))
1106- self.assertEquals(
1107+ self.assertEqual(
1108 "All parents must belong to the same VLAN.",
1109 form.errors["parents"][0],
1110 )
1111diff --git a/src/maasserver/forms/tests/test_machinewithmacaddresses.py b/src/maasserver/forms/tests/test_machinewithmacaddresses.py
1112index fe96353..ebc8a16 100644
1113--- a/src/maasserver/forms/tests/test_machinewithmacaddresses.py
1114+++ b/src/maasserver/forms/tests/test_machinewithmacaddresses.py
1115@@ -189,7 +189,7 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase):
1116 node = form.save()
1117
1118 self.assertIsNotNone(node.id) # The node is persisted.
1119- self.assertEquals(NODE_STATUS.NEW, node.status)
1120+ self.assertEqual(NODE_STATUS.NEW, node.status)
1121 self.assertItemsEqual(
1122 macs, [nic.mac_address for nic in node.interface_set.all()]
1123 )
1124@@ -226,5 +226,5 @@ class MachineWithMACAddressesFormTest(MAASServerTestCase):
1125 )
1126 self.assertTrue(form.is_valid(), form.errors)
1127 machine = form.save()
1128- self.assertEquals(NODE_STATUS.COMMISSIONING, machine.status)
1129+ self.assertEqual(NODE_STATUS.COMMISSIONING, machine.status)
1130 self.assertIsNotNone(machine.current_commissioning_script_set)
1131diff --git a/src/maasserver/forms/tests/test_packagerepository.py b/src/maasserver/forms/tests/test_packagerepository.py
1132index 1898d89..f96d36b 100644
1133--- a/src/maasserver/forms/tests/test_packagerepository.py
1134+++ b/src/maasserver/forms/tests/test_packagerepository.py
1135@@ -174,7 +174,7 @@ class TestPackageRepositoryForm(MAASServerTestCase):
1136 data={"url": factory.make_url(scheme="fake")},
1137 )
1138 self.assertFalse(form.is_valid())
1139- self.assertEquals(url, reload_object(package_repository).url)
1140+ self.assertEqual(url, reload_object(package_repository).url)
1141
1142 def test_creates_package_repository_defaults_main_arches(self):
1143 repo = factory.make_PackageRepository(arches=[])
1144diff --git a/src/maasserver/forms/tests/test_parameters.py b/src/maasserver/forms/tests/test_parameters.py
1145index ac3eed3..4b41ce3 100644
1146--- a/src/maasserver/forms/tests/test_parameters.py
1147+++ b/src/maasserver/forms/tests/test_parameters.py
1148@@ -324,7 +324,7 @@ class TestParametersForm(MAASServerTestCase):
1149 data={"runtime": value}, script=script, node=factory.make_Node()
1150 )
1151 self.assertTrue(form.is_valid(), form.errors)
1152- self.assertEquals(1, len(form.cleaned_data["input"]))
1153+ self.assertEqual(1, len(form.cleaned_data["input"]))
1154 self.assertDictEqual(
1155 {"runtime": {"type": "runtime", "value": value}},
1156 form.cleaned_data["input"][0],
1157@@ -336,7 +336,7 @@ class TestParametersForm(MAASServerTestCase):
1158 )
1159 form = ParametersForm(data={}, script=script, node=factory.make_Node())
1160 self.assertTrue(form.is_valid(), form.errors)
1161- self.assertEquals(1, len(form.cleaned_data["input"]))
1162+ self.assertEqual(1, len(form.cleaned_data["input"]))
1163 self.assertDictEqual(
1164 {"runtime": {"type": "runtime", "value": script.timeout.seconds}},
1165 form.cleaned_data["input"][0],
1166@@ -423,7 +423,7 @@ class TestParametersForm(MAASServerTestCase):
1167 node=factory.make_Node(with_boot_disk=False),
1168 )
1169 self.assertTrue(form.is_valid(), form.errors)
1170- self.assertEquals(1, len(form.cleaned_data["input"]))
1171+ self.assertEqual(1, len(form.cleaned_data["input"]))
1172 self.assertDictEqual(
1173 {
1174 "runtime": {
1175@@ -450,12 +450,12 @@ class TestParametersForm(MAASServerTestCase):
1176 )
1177 self.assertTrue(form.is_valid(), form.errors)
1178 input = form.cleaned_data["input"]
1179- self.assertEquals(node.physicalblockdevice_set.count(), len(input))
1180+ self.assertEqual(node.physicalblockdevice_set.count(), len(input))
1181 for bd in node.physicalblockdevice_set:
1182 for i in input:
1183 if bd.name == i["storage"]["value"]["name"]:
1184 break
1185- self.assertEquals(script.timeout.seconds, i["runtime"]["value"])
1186+ self.assertEqual(script.timeout.seconds, i["runtime"]["value"])
1187 self.assertDictEqual(
1188 {
1189 "name": bd.name,
1190@@ -485,8 +485,8 @@ class TestParametersForm(MAASServerTestCase):
1191 )
1192 self.assertTrue(form.is_valid(), form.errors)
1193 input = form.cleaned_data["input"]
1194- self.assertEquals(1, len(input))
1195- self.assertEquals(script.timeout.seconds, input[0]["runtime"]["value"])
1196+ self.assertEqual(1, len(input))
1197+ self.assertEqual(script.timeout.seconds, input[0]["runtime"]["value"])
1198 self.assertDictEqual(
1199 {
1200 "name": bd.name,
1201@@ -544,12 +544,12 @@ class TestParametersForm(MAASServerTestCase):
1202 )
1203 self.assertTrue(form.is_valid(), form.errors)
1204 input = form.cleaned_data["input"]
1205- self.assertEquals(len(selected_scripts), len(input))
1206+ self.assertEqual(len(selected_scripts), len(input))
1207 for bd in selected_scripts.keys():
1208 for i in input:
1209 if bd.name == i["storage"]["value"]["name"]:
1210 break
1211- self.assertEquals(script.timeout.seconds, i["runtime"]["value"])
1212+ self.assertEqual(script.timeout.seconds, i["runtime"]["value"])
1213 self.assertDictEqual(
1214 {
1215 "name": bd.name,
1216@@ -609,7 +609,7 @@ class TestParametersForm(MAASServerTestCase):
1217 data={}, script=script, node=factory.make_Node(interface=False)
1218 )
1219 self.assertTrue(form.is_valid(), form.errors)
1220- self.assertEquals(1, len(form.cleaned_data["input"]))
1221+ self.assertEqual(1, len(form.cleaned_data["input"]))
1222 self.assertDictEqual(
1223 {"interface": {"type": "interface", "value": "all"}},
1224 form.cleaned_data["input"][0],
1225@@ -624,7 +624,7 @@ class TestParametersForm(MAASServerTestCase):
1226 )
1227 form = ParametersForm(data={}, script=script, node=node)
1228 self.assertTrue(form.is_valid(), form.errors)
1229- self.assertEquals(1, len(form.cleaned_data["input"]))
1230+ self.assertEqual(1, len(form.cleaned_data["input"]))
1231 self.assertDictEqual(
1232 {
1233 "name": node.boot_interface.name,
1234@@ -657,7 +657,7 @@ class TestParametersForm(MAASServerTestCase):
1235 )
1236 self.assertTrue(form.is_valid(), form.errors)
1237 input = form.cleaned_data["input"]
1238- self.assertEquals(len(usable_interfaces), len(input))
1239+ self.assertEqual(len(usable_interfaces), len(input))
1240 for interface in usable_interfaces:
1241 for i in input:
1242 if i["interface"]["value"]["interface"] == interface:
1243@@ -690,7 +690,7 @@ class TestParametersForm(MAASServerTestCase):
1244 )
1245 self.assertTrue(form.is_valid(), form.errors)
1246 input = form.cleaned_data["input"]
1247- self.assertEquals(1, len(input))
1248+ self.assertEqual(1, len(input))
1249 self.assertDictEqual(
1250 {
1251 "name": bond.name,
1252@@ -720,7 +720,7 @@ class TestParametersForm(MAASServerTestCase):
1253 )
1254 self.assertTrue(form.is_valid(), form.errors)
1255 input = form.cleaned_data["input"]
1256- self.assertEquals(1, len(input))
1257+ self.assertEqual(1, len(input))
1258 self.assertDictEqual(
1259 {
1260 "name": interface.name,
1261@@ -808,7 +808,7 @@ class TestParametersForm(MAASServerTestCase):
1262 )
1263 self.assertTrue(form.is_valid(), form.errors)
1264 input = form.cleaned_data["input"]
1265- self.assertEquals(len(selected_scripts), len(input))
1266+ self.assertEqual(len(selected_scripts), len(input))
1267 for nic in selected_scripts.keys():
1268 for i in input:
1269 if (
1270diff --git a/src/maasserver/forms/tests/test_pods.py b/src/maasserver/forms/tests/test_pods.py
1271index fe04080..d0cf4f7 100644
1272--- a/src/maasserver/forms/tests/test_pods.py
1273+++ b/src/maasserver/forms/tests/test_pods.py
1274@@ -432,8 +432,8 @@ class TestPodForm(MAASTransactionServerTestCase):
1275 form = PodForm(data=pod_info, request=self.request)
1276 self.assertTrue(form.is_valid(), form._errors)
1277 pod = form.save()
1278- self.assertEquals(bmc.id, pod.id)
1279- self.assertEquals(BMC_TYPE.POD, reload_object(bmc).bmc_type)
1280+ self.assertEqual(bmc.id, pod.id)
1281+ self.assertEqual(BMC_TYPE.POD, reload_object(bmc).bmc_type)
1282 self.assertThat(mock_post_commit_do, MockCalledOnce())
1283
1284 def test_updates_existing_pod_minimal(self):
1285@@ -797,7 +797,7 @@ class TestPodForm(MAASTransactionServerTestCase):
1286 form = PodForm(data=pod_info)
1287 self.assertTrue(form.is_valid(), form._errors)
1288 error = self.assertRaises(PodProblem, form.save)
1289- self.assertEquals(
1290+ self.assertEqual(
1291 "Unable to start the pod discovery process. "
1292 "No rack controllers connected.",
1293 str(error),
1294@@ -816,7 +816,7 @@ class TestPodForm(MAASTransactionServerTestCase):
1295
1296 def validate_error(failure):
1297 self.assertIsInstance(failure.value, PodProblem)
1298- self.assertEquals(
1299+ self.assertEqual(
1300 "Unable to start the pod discovery process. "
1301 "No rack controllers connected.",
1302 str(failure.value),
1303@@ -837,7 +837,7 @@ class TestPodForm(MAASTransactionServerTestCase):
1304 form = PodForm(data=pod_info)
1305 self.assertTrue(form.is_valid(), form._errors)
1306 error = self.assertRaises(PodProblem, form.save)
1307- self.assertEquals(str(exc), str(error))
1308+ self.assertEqual(str(exc), str(error))
1309
1310 @wait_for_reactor
1311 @inlineCallbacks
1312@@ -854,7 +854,7 @@ class TestPodForm(MAASTransactionServerTestCase):
1313
1314 def validate_error(failure):
1315 self.assertIsInstance(failure.value, PodProblem)
1316- self.assertEquals(str(exc), str(failure.value))
1317+ self.assertEqual(str(exc), str(failure.value))
1318
1319 d = form.save()
1320 d.addErrback(validate_error)
1321@@ -2386,7 +2386,7 @@ class TestComposeMachineForm(MAASTransactionServerTestCase):
1322 form = ComposeMachineForm(data={}, request=request, pod=pod)
1323 self.assertTrue(form.is_valid())
1324 error = self.assertRaises(PodProblem, form.compose)
1325- self.assertEquals(
1326+ self.assertEqual(
1327 "Unable to compose a machine because '%s' driver timed out "
1328 "after 120 seconds." % pod.power_type,
1329 str(error),
1330diff --git a/src/maasserver/forms/tests/test_script.py b/src/maasserver/forms/tests/test_script.py
1331index 13df30f..f421660 100644
1332--- a/src/maasserver/forms/tests/test_script.py
1333+++ b/src/maasserver/forms/tests/test_script.py
1334@@ -51,19 +51,19 @@ class TestScriptForm(MAASServerTestCase):
1335 self.assertTrue(form.is_valid(), form.errors)
1336 script = form.save()
1337
1338- self.assertEquals(name, script.name)
1339- self.assertEquals("", script.title)
1340- self.assertEquals("", script.description)
1341- self.assertEquals(1, len(script.tags))
1342- self.assertEquals(SCRIPT_TYPE.TESTING, script.script_type)
1343- self.assertEquals(HARDWARE_TYPE.NODE, script.hardware_type)
1344- self.assertEquals(SCRIPT_PARALLEL.DISABLED, script.parallel)
1345+ self.assertEqual(name, script.name)
1346+ self.assertEqual("", script.title)
1347+ self.assertEqual("", script.description)
1348+ self.assertEqual(1, len(script.tags))
1349+ self.assertEqual(SCRIPT_TYPE.TESTING, script.script_type)
1350+ self.assertEqual(HARDWARE_TYPE.NODE, script.hardware_type)
1351+ self.assertEqual(SCRIPT_PARALLEL.DISABLED, script.parallel)
1352 self.assertDictEqual({}, script.packages)
1353 self.assertDictEqual({}, script.results)
1354 self.assertDictEqual({}, script.parameters)
1355- self.assertEquals(timedelta(0), script.timeout)
1356+ self.assertEqual(timedelta(0), script.timeout)
1357 self.assertFalse(script.destructive)
1358- self.assertEquals(script_content, script.script.data)
1359+ self.assertEqual(script_content, script.script.data)
1360 self.assertFalse(script.default)
1361 self.assertItemsEqual([], script.for_hardware)
1362 self.assertFalse(script.may_reboot)
1363@@ -123,24 +123,24 @@ class TestScriptForm(MAASServerTestCase):
1364 self.assertTrue(form.is_valid(), form.errors)
1365 script = form.save()
1366
1367- self.assertEquals(name, script.name)
1368- self.assertEquals(title, script.title)
1369- self.assertEquals(description, script.description)
1370+ self.assertEqual(name, script.name)
1371+ self.assertEqual(title, script.title)
1372+ self.assertEqual(description, script.description)
1373 self.assertThat(script.tags, ContainsAll(tags))
1374- self.assertEquals(script_type, script.script_type)
1375- self.assertEquals(hardware_type, script.hardware_type)
1376- self.assertEquals(parallel, script.parallel)
1377+ self.assertEqual(script_type, script.script_type)
1378+ self.assertEqual(hardware_type, script.hardware_type)
1379+ self.assertEqual(parallel, script.parallel)
1380 self.assertDictEqual(packages, script.packages)
1381 self.assertDictEqual({}, script.results)
1382 self.assertDictEqual({}, script.parameters)
1383 self.assertDictEqual(packages, script.packages)
1384- self.assertEquals(timedelta(0, timeout), script.timeout)
1385- self.assertEquals(destructive, script.destructive)
1386- self.assertEquals(script_content, script.script.data)
1387- self.assertEquals(comment, script.script.comment)
1388- self.assertEquals(may_reboot, script.may_reboot)
1389+ self.assertEqual(timedelta(0, timeout), script.timeout)
1390+ self.assertEqual(destructive, script.destructive)
1391+ self.assertEqual(script_content, script.script.data)
1392+ self.assertEqual(comment, script.script.comment)
1393+ self.assertEqual(may_reboot, script.may_reboot)
1394 self.assertItemsEqual(for_hardware, script.for_hardware)
1395- self.assertEquals(recommission, script.recommission)
1396+ self.assertEqual(recommission, script.recommission)
1397 self.assertFalse(script.default)
1398
1399 def test_create_setting_default_has_no_effect(self):
1400@@ -214,25 +214,25 @@ class TestScriptForm(MAASServerTestCase):
1401 self.assertTrue(form.is_valid(), form.errors)
1402 script = form.save()
1403
1404- self.assertEquals(name, script.name)
1405- self.assertEquals(title, script.title)
1406- self.assertEquals(description, script.description)
1407+ self.assertEqual(name, script.name)
1408+ self.assertEqual(title, script.title)
1409+ self.assertEqual(description, script.description)
1410 self.assertThat(script.tags, ContainsAll(tags))
1411- self.assertEquals(script_type, script.script_type)
1412- self.assertEquals(hardware_type, script.hardware_type)
1413- self.assertEquals(parallel, script.parallel)
1414+ self.assertEqual(script_type, script.script_type)
1415+ self.assertEqual(hardware_type, script.hardware_type)
1416+ self.assertEqual(parallel, script.parallel)
1417 self.assertDictEqual({}, script.results)
1418 self.assertDictEqual({}, script.parameters)
1419 self.assertDictEqual(packages, script.packages)
1420- self.assertEquals(timedelta(0, timeout), script.timeout)
1421- self.assertEquals(destructive, script.destructive)
1422- self.assertEquals(script_content, script.script.data)
1423- self.assertEquals(comment, script.script.comment)
1424- self.assertEquals(
1425+ self.assertEqual(timedelta(0, timeout), script.timeout)
1426+ self.assertEqual(destructive, script.destructive)
1427+ self.assertEqual(script_content, script.script.data)
1428+ self.assertEqual(comment, script.script.comment)
1429+ self.assertEqual(
1430 orig_script_content, script.script.previous_version.data
1431 )
1432- self.assertEquals(None, script.script.previous_version.comment)
1433- self.assertEquals(
1434+ self.assertEqual(None, script.script.previous_version.comment)
1435+ self.assertEqual(
1436 apply_configured_networking, script.apply_configured_networking
1437 )
1438 self.assertFalse(script.default)
1439@@ -276,7 +276,7 @@ class TestScriptForm(MAASServerTestCase):
1440 value = factory.make_string()
1441 form = ScriptForm(data={name: value}, instance=script)
1442 self.assertFalse(form.is_valid())
1443- self.assertEquals(1, VersionedTextFile.objects.all().count())
1444+ self.assertEqual(1, VersionedTextFile.objects.all().count())
1445
1446 def test_update_edit_default_allows_update_of_all_fields(self):
1447 script = factory.make_Script(default=True)
1448@@ -321,7 +321,7 @@ class TestScriptForm(MAASServerTestCase):
1449 script = form.save()
1450
1451 self.assertThat(script.tags, ContainsAll(tags))
1452- self.assertEquals(timedelta(0, timeout), script.timeout)
1453+ self.assertEqual(timedelta(0, timeout), script.timeout)
1454
1455 def test_update_requires_script_with_comment(self):
1456 script = factory.make_Script()
1457@@ -362,23 +362,23 @@ class TestScriptForm(MAASServerTestCase):
1458 self.assertTrue(form.is_valid(), form.errors)
1459 script = form.save()
1460
1461- self.assertEquals(name, script.name)
1462- self.assertEquals(title, script.title)
1463- self.assertEquals(description, script.description)
1464- self.assertEquals(tags, script.tags)
1465- self.assertEquals(script_type, script.script_type)
1466- self.assertEquals(hardware_type, script.hardware_type)
1467+ self.assertEqual(name, script.name)
1468+ self.assertEqual(title, script.title)
1469+ self.assertEqual(description, script.description)
1470+ self.assertEqual(tags, script.tags)
1471+ self.assertEqual(script_type, script.script_type)
1472+ self.assertEqual(hardware_type, script.hardware_type)
1473 self.assertDictEqual(packages, script.packages)
1474- self.assertEquals(parallel, script.parallel)
1475+ self.assertEqual(parallel, script.parallel)
1476 self.assertDictEqual(results, script.results)
1477 self.assertDictEqual(parameters, script.parameters)
1478- self.assertEquals(timeout, script.timeout)
1479- self.assertEquals(destructive, script.destructive)
1480+ self.assertEqual(timeout, script.timeout)
1481+ self.assertEqual(destructive, script.destructive)
1482 self.assertFalse(script.default)
1483- self.assertEquals(script_content, script.script.data)
1484- self.assertEquals(may_reboot, script.may_reboot)
1485+ self.assertEqual(script_content, script.script.data)
1486+ self.assertEqual(may_reboot, script.may_reboot)
1487 self.assertItemsEqual(for_hardware, script.for_hardware)
1488- self.assertEquals(recommission, script.recommission)
1489+ self.assertEqual(recommission, script.recommission)
1490
1491 def test_yaml_doesnt_update_tags(self):
1492 script = factory.make_Script()
1493@@ -410,7 +410,7 @@ class TestScriptForm(MAASServerTestCase):
1494 )
1495 self.assertTrue(form.is_valid(), form.errors)
1496 script = form.save()
1497- self.assertEquals(orig_timeout, script.timeout)
1498+ self.assertEqual(orig_timeout, script.timeout)
1499
1500 def test_can_use_script_type_name(self):
1501 script_type = factory.pick_choice(SCRIPT_TYPE_CHOICES)
1502@@ -424,7 +424,7 @@ class TestScriptForm(MAASServerTestCase):
1503 self.assertTrue(form.is_valid(), form.errors)
1504 script = form.save()
1505
1506- self.assertEquals(script_type, script.script_type)
1507+ self.assertEqual(script_type, script.script_type)
1508
1509 def test_errors_on_invalid_script_type(self):
1510 form = ScriptForm(
1511@@ -453,7 +453,7 @@ class TestScriptForm(MAASServerTestCase):
1512 self.assertTrue(form.is_valid(), form.errors)
1513 script = form.save()
1514
1515- self.assertEquals(hardware_type, script.hardware_type)
1516+ self.assertEqual(hardware_type, script.hardware_type)
1517
1518 def test_errors_on_invalid_hardware_type(self):
1519 form = ScriptForm(
1520@@ -486,7 +486,7 @@ class TestScriptForm(MAASServerTestCase):
1521 self.assertTrue(form.is_valid(), form.errors)
1522 script = form.save()
1523
1524- self.assertEquals(script_parallel, script.parallel)
1525+ self.assertEqual(script_parallel, script.parallel)
1526
1527 def test_errors_on_invalid_parallel_name(self):
1528 form = ScriptForm(
1529@@ -598,7 +598,7 @@ class TestScriptForm(MAASServerTestCase):
1530 )
1531 self.assertTrue(form.is_valid(), form.errors)
1532 script = form.save()
1533- self.assertEquals(script_type, script.script_type)
1534+ self.assertEqual(script_type, script.script_type)
1535
1536 def test_loads_yaml_embedded_attributes(self):
1537 embedded_yaml = {
1538@@ -634,33 +634,33 @@ class TestScriptForm(MAASServerTestCase):
1539 form = ScriptForm(data={"script": script_content})
1540 self.assertTrue(form.is_valid(), form.errors)
1541 script = form.save()
1542- self.assertEquals(embedded_yaml["name"], script.name)
1543- self.assertEquals(embedded_yaml["title"], script.title)
1544- self.assertEquals(embedded_yaml["description"], script.description)
1545+ self.assertEqual(embedded_yaml["name"], script.name)
1546+ self.assertEqual(embedded_yaml["title"], script.title)
1547+ self.assertEqual(embedded_yaml["description"], script.description)
1548 self.assertThat(script.tags, ContainsAll(embedded_yaml["tags"]))
1549- self.assertEquals(embedded_yaml["script_type"], script.script_type)
1550- self.assertEquals(embedded_yaml["hardware_type"], script.hardware_type)
1551- self.assertEquals(embedded_yaml["parallel"], script.parallel)
1552+ self.assertEqual(embedded_yaml["script_type"], script.script_type)
1553+ self.assertEqual(embedded_yaml["hardware_type"], script.hardware_type)
1554+ self.assertEqual(embedded_yaml["parallel"], script.parallel)
1555 self.assertItemsEqual(embedded_yaml["results"], script.results)
1556 self.assertItemsEqual(embedded_yaml["parameters"], script.parameters)
1557 self.assertDictEqual(embedded_yaml["packages"], script.packages)
1558- self.assertEquals(
1559+ self.assertEqual(
1560 timedelta(0, embedded_yaml["timeout"]), script.timeout
1561 )
1562- self.assertEquals(embedded_yaml["destructive"], script.destructive)
1563- self.assertEquals(embedded_yaml["may_reboot"], script.may_reboot)
1564+ self.assertEqual(embedded_yaml["destructive"], script.destructive)
1565+ self.assertEqual(embedded_yaml["may_reboot"], script.may_reboot)
1566 if embedded_yaml["script_type"] == SCRIPT_TYPE.COMMISSIONING:
1567 self.assertItemsEqual(
1568 embedded_yaml["for_hardware"], script.for_hardware
1569 )
1570- self.assertEquals(
1571+ self.assertEqual(
1572 embedded_yaml["recommission"], script.recommission
1573 )
1574 else:
1575 self.assertItemsEqual([], script.for_hardware)
1576 self.assertFalse(script.recommission)
1577 self.assertFalse(script.default)
1578- self.assertEquals(script_content, script.script.data)
1579+ self.assertEqual(script_content, script.script.data)
1580
1581 def test_only_loads_when_script_updated(self):
1582 script = factory.make_Script(
1583@@ -672,7 +672,7 @@ class TestScriptForm(MAASServerTestCase):
1584 form = ScriptForm(instance=script, data={"name": name})
1585 self.assertTrue(form.is_valid(), form.errors)
1586 script = form.save()
1587- self.assertEquals(name, script.name)
1588+ self.assertEqual(name, script.name)
1589
1590 def test_user_option_unable_to_over_yaml_value(self):
1591 name = factory.make_name("name")
1592@@ -733,7 +733,7 @@ class TestScriptForm(MAASServerTestCase):
1593 )
1594 self.assertTrue(form.is_valid(), form.errors)
1595 script = form.save()
1596- self.assertEquals(name, script.name)
1597+ self.assertEqual(name, script.name)
1598
1599 def tests_yaml_tags_can_be_string(self):
1600 tags = [factory.make_name("tag") for _ in range(3)]
1601@@ -1149,8 +1149,8 @@ class TestCommissioningScriptForm(MAASServerTestCase):
1602 self.assertTrue(form.is_valid(), form._errors)
1603 form.save(request)
1604 new_script = Script.objects.get(name=name)
1605- self.assertEquals(SCRIPT_TYPE.COMMISSIONING, new_script.script_type)
1606- self.assertEquals(content, new_script.script.data)
1607+ self.assertEqual(SCRIPT_TYPE.COMMISSIONING, new_script.script_type)
1608+ self.assertEqual(content, new_script.script.data)
1609
1610 def test_creates_commissioning_script_from_filename(self):
1611 request = HttpRequest()
1612@@ -1164,8 +1164,8 @@ class TestCommissioningScriptForm(MAASServerTestCase):
1613 self.assertTrue(form.is_valid(), form._errors)
1614 form.save(request)
1615 new_script = Script.objects.get(name=name)
1616- self.assertEquals(SCRIPT_TYPE.COMMISSIONING, new_script.script_type)
1617- self.assertEquals(content, new_script.script.data)
1618+ self.assertEqual(SCRIPT_TYPE.COMMISSIONING, new_script.script_type)
1619+ self.assertEqual(content, new_script.script.data)
1620
1621 def test_updates_commissioning_script(self):
1622 request = HttpRequest()
1623@@ -1179,8 +1179,8 @@ class TestCommissioningScriptForm(MAASServerTestCase):
1624 self.assertTrue(form.is_valid(), form._errors)
1625 form.save(request)
1626 new_script = Script.objects.get(name=script.name)
1627- self.assertEquals(SCRIPT_TYPE.COMMISSIONING, new_script.script_type)
1628- self.assertEquals(content, new_script.script.data)
1629+ self.assertEqual(SCRIPT_TYPE.COMMISSIONING, new_script.script_type)
1630+ self.assertEqual(content, new_script.script.data)
1631
1632 def test_creates_audit_event(self):
1633 request = HttpRequest()
1634@@ -1227,8 +1227,8 @@ class TestTestingScriptForm(MAASServerTestCase):
1635 self.assertTrue(form.is_valid(), form._errors)
1636 form.save(request)
1637 new_script = Script.objects.get(name=name)
1638- self.assertEquals(SCRIPT_TYPE.TESTING, new_script.script_type)
1639- self.assertEquals(content, new_script.script.data)
1640+ self.assertEqual(SCRIPT_TYPE.TESTING, new_script.script_type)
1641+ self.assertEqual(content, new_script.script.data)
1642
1643 def test_creates_test_script_from_filename(self):
1644 request = HttpRequest()
1645@@ -1242,8 +1242,8 @@ class TestTestingScriptForm(MAASServerTestCase):
1646 self.assertTrue(form.is_valid(), form._errors)
1647 form.save(request)
1648 new_script = Script.objects.get(name=name)
1649- self.assertEquals(SCRIPT_TYPE.TESTING, new_script.script_type)
1650- self.assertEquals(content, new_script.script.data)
1651+ self.assertEqual(SCRIPT_TYPE.TESTING, new_script.script_type)
1652+ self.assertEqual(content, new_script.script.data)
1653
1654 def test_updates_test_script(self):
1655 request = HttpRequest()
1656@@ -1257,8 +1257,8 @@ class TestTestingScriptForm(MAASServerTestCase):
1657 self.assertTrue(form.is_valid(), form._errors)
1658 form.save(request)
1659 new_script = Script.objects.get(name=script.name)
1660- self.assertEquals(SCRIPT_TYPE.TESTING, new_script.script_type)
1661- self.assertEquals(content, new_script.script.data)
1662+ self.assertEqual(SCRIPT_TYPE.TESTING, new_script.script_type)
1663+ self.assertEqual(content, new_script.script.data)
1664
1665 def test_creates_audit_event(self):
1666 request = HttpRequest()
1667diff --git a/src/maasserver/forms/tests/test_sslkey.py b/src/maasserver/forms/tests/test_sslkey.py
1668index 63113a2..f13a8ed 100644
1669--- a/src/maasserver/forms/tests/test_sslkey.py
1670+++ b/src/maasserver/forms/tests/test_sslkey.py
1671@@ -27,4 +27,4 @@ class TestSSLKeyForm(MAASServerTestCase):
1672 form.save(factory.pick_choice(ENDPOINT_CHOICES), request)
1673 event = Event.objects.get(type__level=AUDIT)
1674 self.assertIsNotNone(event)
1675- self.assertEquals(event.description, "Created SSL key.")
1676+ self.assertEqual(event.description, "Created SSL key.")
1677diff --git a/src/maasserver/forms/tests/test_subnet.py b/src/maasserver/forms/tests/test_subnet.py
1678index e1845a4..0d5228e 100644
1679--- a/src/maasserver/forms/tests/test_subnet.py
1680+++ b/src/maasserver/forms/tests/test_subnet.py
1681@@ -311,7 +311,7 @@ class TestSubnetForm(MAASServerTestCase):
1682 self.assertTrue(form.is_valid(), dict(form.errors))
1683 form.save()
1684 subnet = reload_object(subnet)
1685- self.assertEquals(dns_servers, subnet.dns_servers)
1686+ self.assertEqual(dns_servers, subnet.dns_servers)
1687
1688 def test_doesnt_overwrite_other_fields(self):
1689 new_name = factory.make_name("subnet")
1690@@ -355,7 +355,7 @@ class TestSubnetForm(MAASServerTestCase):
1691 self.assertTrue(form.is_valid(), dict(form.errors))
1692 form.save()
1693 subnet = reload_object(subnet)
1694- self.assertEquals(dns_servers, subnet.dns_servers)
1695+ self.assertEqual(dns_servers, subnet.dns_servers)
1696
1697 def test_clean_dns_servers_accepts_space_separated_list(self):
1698 subnet = factory.make_Subnet()
1699@@ -368,4 +368,4 @@ class TestSubnetForm(MAASServerTestCase):
1700 self.assertTrue(form.is_valid(), dict(form.errors))
1701 form.save()
1702 subnet = reload_object(subnet)
1703- self.assertEquals(dns_servers, subnet.dns_servers)
1704+ self.assertEqual(dns_servers, subnet.dns_servers)
1705diff --git a/src/maasserver/forms/tests/test_vlan.py b/src/maasserver/forms/tests/test_vlan.py
1706index 1f25e3a..a2b19d9 100644
1707--- a/src/maasserver/forms/tests/test_vlan.py
1708+++ b/src/maasserver/forms/tests/test_vlan.py
1709@@ -272,7 +272,7 @@ class TestVLANForm(MAASServerTestCase):
1710 self.assertTrue(form.is_valid(), form.errors)
1711 form.save()
1712 vlan = reload_object(vlan)
1713- self.assertEquals(relay_vlan.id, vlan.relay_vlan.id)
1714+ self.assertEqual(relay_vlan.id, vlan.relay_vlan.id)
1715
1716 def test_update_clears_relay_vlan_when_None(self):
1717 relay_vlan = factory.make_VLAN()
1718@@ -299,7 +299,7 @@ class TestVLANForm(MAASServerTestCase):
1719 self.assertTrue(form.is_valid(), form.errors)
1720 form.save()
1721 vlan = reload_object(vlan)
1722- self.assertEquals(space.id, vlan.space.id)
1723+ self.assertEqual(space.id, vlan.space.id)
1724
1725 def test_update_sets_space_by_specifier(self):
1726 vlan = factory.make_VLAN()
1727@@ -308,7 +308,7 @@ class TestVLANForm(MAASServerTestCase):
1728 self.assertTrue(form.is_valid(), form.errors)
1729 form.save()
1730 vlan = reload_object(vlan)
1731- self.assertEquals(space.id, vlan.space.id)
1732+ self.assertEqual(space.id, vlan.space.id)
1733
1734 def test_update_clears_space_when_None(self):
1735 space = factory.make_Space()
1736diff --git a/src/maasserver/models/signals/tests/test_interfaces.py b/src/maasserver/models/signals/tests/test_interfaces.py
1737index 5bd8659..b09b10e 100644
1738--- a/src/maasserver/models/signals/tests/test_interfaces.py
1739+++ b/src/maasserver/models/signals/tests/test_interfaces.py
1740@@ -261,7 +261,7 @@ class TestInterfaceVLANUpdateController(MAASServerTestCase):
1741 new_vlan = new_fabric.get_default_vlan()
1742 interface.vlan = new_vlan
1743 interface.save()
1744- self.assertEquals(new_vlan, reload_object(subnet).vlan)
1745+ self.assertEqual(new_vlan, reload_object(subnet).vlan)
1746
1747 def test_doesnt_move_link_subnets_when_target_vlan_is_None(self):
1748 node = self.maker()
1749@@ -271,7 +271,7 @@ class TestInterfaceVLANUpdateController(MAASServerTestCase):
1750 factory.make_StaticIPAddress(subnet=subnet, interface=interface)
1751 interface.vlan = None
1752 interface.save()
1753- self.assertEquals(old_vlan, reload_object(subnet).vlan)
1754+ self.assertEqual(old_vlan, reload_object(subnet).vlan)
1755
1756 def test_doesnt_move_link_subnets_when_source_vlan_is_None(self):
1757 node = self.maker()
1758@@ -283,7 +283,7 @@ class TestInterfaceVLANUpdateController(MAASServerTestCase):
1759 factory.make_StaticIPAddress(subnet=subnet, interface=interface)
1760 interface.vlan = factory.make_VLAN()
1761 interface.save()
1762- self.assertEquals(interface.vlan, reload_object(subnet).vlan)
1763+ self.assertEqual(interface.vlan, reload_object(subnet).vlan)
1764
1765 def test_moves_children_vlans_to_same_fabric(self):
1766 node = self.maker()
1767@@ -302,14 +302,14 @@ class TestInterfaceVLANUpdateController(MAASServerTestCase):
1768 new_vlan = new_fabric.get_default_vlan()
1769 parent.vlan = new_vlan
1770 parent.save()
1771- self.assertEquals(new_vlan, reload_object(subnet).vlan)
1772+ self.assertEqual(new_vlan, reload_object(subnet).vlan)
1773 vlan_interface = reload_object(vlan_interface)
1774- self.assertEquals(
1775+ self.assertEqual(
1776 (new_fabric.id, old_vlan.vid),
1777 (vlan_interface.vlan.fabric.id, vlan_interface.vlan.vid),
1778 )
1779 vlan_subnet = reload_object(vlan_subnet)
1780- self.assertEquals(
1781+ self.assertEqual(
1782 (new_fabric.id, old_vlan.vid),
1783 (vlan_subnet.vlan.fabric.id, vlan_subnet.vlan.vid),
1784 )
1785diff --git a/src/maasserver/models/signals/tests/test_nodes.py b/src/maasserver/models/signals/tests/test_nodes.py
1786index 27888d6..38c4bdc 100644
1787--- a/src/maasserver/models/signals/tests/test_nodes.py
1788+++ b/src/maasserver/models/signals/tests/test_nodes.py
1789@@ -36,7 +36,7 @@ class TestNodeDeletion(MAASServerTestCase):
1790 events = [factory.make_Event(node=node) for _ in range(3)]
1791 node.delete()
1792 for event in events:
1793- self.assertEquals(event.node_hostname, node_hostname)
1794+ self.assertEqual(event.node_hostname, node_hostname)
1795
1796 def test_deleting_node_sets_node_to_null(self):
1797 node = factory.make_Node()
1798@@ -87,7 +87,7 @@ class TestNodePreviousStatus(MAASServerTestCase):
1799 )
1800 node.status = random.choice(NODE_TRANSITIONS[node.status])
1801 node.save()
1802- self.assertEquals(previous_status, node.previous_status)
1803+ self.assertEqual(previous_status, node.previous_status)
1804
1805
1806 class TestNodeClearsOwnerNEWOrREADYStatus(MAASServerTestCase):
1807diff --git a/src/maasserver/models/signals/tests/test_podhints.py b/src/maasserver/models/signals/tests/test_podhints.py
1808index f11a3cb..696e574 100644
1809--- a/src/maasserver/models/signals/tests/test_podhints.py
1810+++ b/src/maasserver/models/signals/tests/test_podhints.py
1811@@ -17,6 +17,6 @@ class TestCreatePodChanged(MAASServerTestCase):
1812 node = factory.make_Node(memory=2048)
1813 pod.hints.nodes.add(node)
1814 pod.sync_hints_from_nodes()
1815- self.assertEquals(2048, pod.memory)
1816+ self.assertEqual(2048, pod.memory)
1817 pod.hints.nodes.remove(node)
1818- self.assertEquals(0, reload_object(pod).memory)
1819+ self.assertEqual(0, reload_object(pod).memory)
1820diff --git a/src/maasserver/models/signals/tests/test_services.py b/src/maasserver/models/signals/tests/test_services.py
1821index 0c237ef..ce50387 100644
1822--- a/src/maasserver/models/signals/tests/test_services.py
1823+++ b/src/maasserver/models/signals/tests/test_services.py
1824@@ -88,9 +88,7 @@ class TestRegionControllerProcess(MAASServerTestCase):
1825 rack_controllers = [factory.make_RackController() for _ in range(3)]
1826 mock_create_for = self.patch(Service.objects, "create_services_for")
1827 factory.make_RegionControllerProcess()
1828- self.assertEquals(
1829- len(rack_controllers) + 1, mock_create_for.call_count
1830- )
1831+ self.assertEqual(len(rack_controllers) + 1, mock_create_for.call_count)
1832
1833 def test_calls_update_rackd_status_on_all_racks_on_create(self):
1834 rack_controllers = [factory.make_RackController() for _ in range(3)]
1835@@ -98,7 +96,7 @@ class TestRegionControllerProcess(MAASServerTestCase):
1836 RackController, "update_rackd_status"
1837 )
1838 factory.make_RegionControllerProcess()
1839- self.assertEquals(
1840+ self.assertEqual(
1841 len(rack_controllers), mock_update_rackd_status.call_count
1842 )
1843
1844@@ -107,7 +105,7 @@ class TestRegionControllerProcess(MAASServerTestCase):
1845 process = factory.make_RegionControllerProcess()
1846 mock_create_for = self.patch(Service.objects, "create_services_for")
1847 process.delete()
1848- self.assertEquals(len(rack_controllers), mock_create_for.call_count)
1849+ self.assertEqual(len(rack_controllers), mock_create_for.call_count)
1850
1851 def test_calls_update_rackd_status_on_all_racks_on_delete(self):
1852 rack_controllers = [factory.make_RackController() for _ in range(3)]
1853@@ -116,6 +114,6 @@ class TestRegionControllerProcess(MAASServerTestCase):
1854 RackController, "update_rackd_status"
1855 )
1856 process.delete()
1857- self.assertEquals(
1858+ self.assertEqual(
1859 len(rack_controllers), mock_update_rackd_status.call_count
1860 )
1861diff --git a/src/maasserver/models/signals/tests/test_users.py b/src/maasserver/models/signals/tests/test_users.py
1862index d581351..0198f65 100644
1863--- a/src/maasserver/models/signals/tests/test_users.py
1864+++ b/src/maasserver/models/signals/tests/test_users.py
1865@@ -18,4 +18,4 @@ class TestUserUsername(MAASServerTestCase):
1866 events = [factory.make_Event(user=user) for _ in range(3)]
1867 user.delete()
1868 for event in events:
1869- self.assertEquals(event.username, username)
1870+ self.assertEqual(event.username, username)
1871diff --git a/src/maasserver/models/tests/test_bmc.py b/src/maasserver/models/tests/test_bmc.py
1872index 76216e9..280f6e2 100644
1873--- a/src/maasserver/models/tests/test_bmc.py
1874+++ b/src/maasserver/models/tests/test_bmc.py
1875@@ -2414,7 +2414,7 @@ class TestPod(MAASServerTestCase):
1876 )
1877 node = reload_object(node)
1878 self.assertItemsEqual([node], pod.hints.nodes.all())
1879- self.assertEquals(NODE_STATUS.DEPLOYED, node.status)
1880+ self.assertEqual(NODE_STATUS.DEPLOYED, node.status)
1881 self.assertIsNotNone(node.current_commissioning_script_set)
1882
1883 def test_sync_converts_existing_device(self):
1884@@ -2435,8 +2435,8 @@ class TestPod(MAASServerTestCase):
1885 )
1886 device = reload_object(device)
1887 self.assertItemsEqual([device], pod.hints.nodes.all())
1888- self.assertEquals(NODE_STATUS.DEPLOYED, device.status)
1889- self.assertEquals(NODE_TYPE.MACHINE, device.node_type)
1890+ self.assertEqual(NODE_STATUS.DEPLOYED, device.status)
1891+ self.assertEqual(NODE_TYPE.MACHINE, device.node_type)
1892 self.assertIsNotNone(device.current_commissioning_script_set)
1893
1894 def test_sync_creates_machine(self):
1895@@ -2449,11 +2449,11 @@ class TestPod(MAASServerTestCase):
1896 ),
1897 factory.make_User(),
1898 )
1899- self.assertEquals(1, pod.hints.nodes.count())
1900+ self.assertEqual(1, pod.hints.nodes.count())
1901 node = pod.hints.nodes.first()
1902- self.assertEquals(pod.name, node.hostname)
1903- self.assertEquals(NODE_STATUS.DEPLOYED, node.status)
1904- self.assertEquals(NODE_TYPE.MACHINE, node.node_type)
1905+ self.assertEqual(pod.name, node.hostname)
1906+ self.assertEqual(NODE_STATUS.DEPLOYED, node.status)
1907+ self.assertEqual(NODE_TYPE.MACHINE, node.node_type)
1908 self.assertItemsEqual(
1909 mac_addresses,
1910 [str(iface.mac_address) for iface in node.interface_set.all()],
1911@@ -2491,15 +2491,15 @@ class TestPod(MAASServerTestCase):
1912 elif bd.type == "iscsi":
1913 iscsi_storage += bd.size
1914
1915- self.assertEquals(pod.hints.cores, cores)
1916- self.assertEquals(
1917+ self.assertEqual(pod.hints.cores, cores)
1918+ self.assertEqual(
1919 pod.hints.cpu_speed,
1920 int(mean(cpu_speeds)),
1921 f"Wrong hint ({pod.hints.cpu_speed}) for CPU speed. CPU speeds of nodes: {cpu_speeds}",
1922 )
1923- self.assertEquals(pod.hints.memory, memory)
1924- self.assertEquals(pod.hints.local_disks, len(nodes))
1925- self.assertEquals(pod.hints.iscsi_storage, iscsi_storage)
1926+ self.assertEqual(pod.hints.memory, memory)
1927+ self.assertEqual(pod.hints.local_disks, len(nodes))
1928+ self.assertEqual(pod.hints.iscsi_storage, iscsi_storage)
1929
1930 def test_get_used_cores(self):
1931 pod = factory.make_Pod()
1932@@ -2508,7 +2508,7 @@ class TestPod(MAASServerTestCase):
1933 cores = random.randint(1, 4)
1934 total_cores += cores
1935 factory.make_Node(bmc=pod, cpu_count=cores)
1936- self.assertEquals(total_cores, pod.get_used_cores())
1937+ self.assertEqual(total_cores, pod.get_used_cores())
1938
1939 def test_get_used_memory(self):
1940 pod = factory.make_Pod()
1941@@ -2517,7 +2517,7 @@ class TestPod(MAASServerTestCase):
1942 memory = random.randint(1, 4)
1943 total_memory += memory
1944 factory.make_Node(bmc=pod, memory=memory)
1945- self.assertEquals(total_memory, pod.get_used_memory())
1946+ self.assertEqual(total_memory, pod.get_used_memory())
1947
1948 def test_get_used_local_storage(self):
1949 pod = factory.make_Pod()
1950@@ -2527,7 +2527,7 @@ class TestPod(MAASServerTestCase):
1951 total_storage += storage
1952 node = factory.make_Node(bmc=pod, with_boot_disk=False)
1953 factory.make_PhysicalBlockDevice(node=node, size=storage)
1954- self.assertEquals(total_storage, pod.get_used_local_storage())
1955+ self.assertEqual(total_storage, pod.get_used_local_storage())
1956
1957 def test_get_used_local_disks(self):
1958 pod = factory.make_Pod()
1959@@ -2535,7 +2535,7 @@ class TestPod(MAASServerTestCase):
1960 node = factory.make_Node(bmc=pod, with_boot_disk=False)
1961 for _ in range(3):
1962 factory.make_PhysicalBlockDevice(node=node)
1963- self.assertEquals(9, pod.get_used_local_disks())
1964+ self.assertEqual(9, pod.get_used_local_disks())
1965
1966 def test_get_used_iscsi_storage(self):
1967 pod = factory.make_Pod()
1968@@ -2545,7 +2545,7 @@ class TestPod(MAASServerTestCase):
1969 total_storage += storage
1970 node = factory.make_Node(bmc=pod, with_boot_disk=False)
1971 factory.make_ISCSIBlockDevice(node=node, size=storage)
1972- self.assertEquals(total_storage, pod.get_used_iscsi_storage())
1973+ self.assertEqual(total_storage, pod.get_used_iscsi_storage())
1974
1975 def test_sync_machine_memory(self):
1976 pod = factory.make_Pod(pod_type="lxd")
1977diff --git a/src/maasserver/models/tests/test_bootresource.py b/src/maasserver/models/tests/test_bootresource.py
1978index f0e1c9d..0c32b14 100644
1979--- a/src/maasserver/models/tests/test_bootresource.py
1980+++ b/src/maasserver/models/tests/test_bootresource.py
1981@@ -189,7 +189,7 @@ class TestBootResourceManager(MAASServerTestCase):
1982 architecture="amd64/hwe-16.04",
1983 extra={"subarches": "hwe-p,hwe-t,hwe-16.04,hwe-16.10"},
1984 )
1985- self.assertEquals(
1986+ self.assertEqual(
1987 ["hwe-16.04"], BootResource.objects.get_usable_hwe_kernels()
1988 )
1989
1990@@ -198,7 +198,7 @@ class TestBootResourceManager(MAASServerTestCase):
1991 architecture="amd64/hwe-16.04",
1992 extra={"subarches": "hwe-p,hwe-t,hwe-16.04,hwe-16.10"},
1993 )
1994- self.assertEquals(
1995+ self.assertEqual(
1996 ["hwe-p", "hwe-t", "hwe-16.04", "hwe-16.10"],
1997 BootResource.objects.get_supported_hwe_kernels(),
1998 )
1999diff --git a/src/maasserver/models/tests/test_bootsourcecache.py b/src/maasserver/models/tests/test_bootsourcecache.py
2000index 18ac56f..8a75908 100644
2001--- a/src/maasserver/models/tests/test_bootsourcecache.py
2002+++ b/src/maasserver/models/tests/test_bootsourcecache.py
2003@@ -33,7 +33,7 @@ class TestBootSourceCache(MAASServerTestCase):
2004 def test_get_release_title_returns_release_title(self):
2005 release_title = factory.make_name("release_title")
2006 cache = factory.make_BootSourceCache(release_title=release_title)
2007- self.assertEquals(
2008+ self.assertEqual(
2009 release_title,
2010 BootSourceCache.objects.get_release_title(cache.os, cache.release),
2011 )
2012@@ -54,7 +54,7 @@ class TestBootSourceCache(MAASServerTestCase):
2013 def test_get_release_codename_returns_release_codename(self):
2014 release_codename = factory.make_name("release_codename")
2015 cache = factory.make_BootSourceCache(release_codename=release_codename)
2016- self.assertEquals(
2017+ self.assertEqual(
2018 release_codename,
2019 BootSourceCache.objects.get_release_codename(
2020 cache.os, cache.release
2021diff --git a/src/maasserver/models/tests/test_cleansave.py b/src/maasserver/models/tests/test_cleansave.py
2022index fa4437a..bfeaf25 100644
2023--- a/src/maasserver/models/tests/test_cleansave.py
2024+++ b/src/maasserver/models/tests/test_cleansave.py
2025@@ -21,12 +21,12 @@ class TestCleanSave(MAASLegacyServerTestCase):
2026 def test_state_is_clean_save_based(self):
2027 obj = CleanSaveTestModel.objects.create()
2028 self.assertIsInstance(obj._state, CleanSaveModelState)
2029- self.assertEquals({}, obj._state._changed_fields)
2030+ self.assertEqual({}, obj._state._changed_fields)
2031
2032 def test_setting_property(self):
2033 obj = CleanSaveModelState()
2034 obj.test_prop = sentinel.value
2035- self.assertEquals(sentinel.value, obj.test_prop)
2036+ self.assertEqual(sentinel.value, obj.test_prop)
2037
2038 def test_handling_deferred_field_getting(self):
2039 obj = CleanSaveTestModel.objects.create()
2040@@ -43,24 +43,24 @@ class TestCleanSave(MAASLegacyServerTestCase):
2041 def test_field_marked_changed_for_new_obj(self):
2042 obj = CleanSaveTestModel()
2043 obj.field = "test"
2044- self.assertEquals({"field": None}, obj._state._changed_fields)
2045+ self.assertEqual({"field": None}, obj._state._changed_fields)
2046
2047 def test_field_marked_changed_for_new_obj_when_reset(self):
2048 obj = CleanSaveTestModel()
2049 obj.field = "test"
2050 obj.field = None
2051- self.assertEquals({"field": None}, obj._state._changed_fields)
2052+ self.assertEqual({"field": None}, obj._state._changed_fields)
2053
2054 def test_field_marked_changed_for_existing_obj(self):
2055 obj = CleanSaveTestModel.objects.create()
2056 obj.field = "test"
2057- self.assertEquals({"field": None}, obj._state._changed_fields)
2058+ self.assertEqual({"field": None}, obj._state._changed_fields)
2059
2060 def test_field_not_marked_changed_for_existing_obj_when_reset(self):
2061 obj = CleanSaveTestModel.objects.create()
2062 obj.field = "test"
2063 obj.field = None
2064- self.assertEquals({}, obj._state._changed_fields)
2065+ self.assertEqual({}, obj._state._changed_fields)
2066
2067 def test_field_not_marked_changed_when_refresh_from_db(self):
2068 obj = CleanSaveTestModel.objects.create()
2069@@ -69,8 +69,8 @@ class TestCleanSave(MAASLegacyServerTestCase):
2070 duplicate.save()
2071
2072 obj.refresh_from_db()
2073- self.assertEquals("test", obj.field)
2074- self.assertEquals({}, obj._state._changed_fields)
2075+ self.assertEqual("test", obj.field)
2076+ self.assertEqual({}, obj._state._changed_fields)
2077
2078 def test_field_not_marked_changed_when_refresh_from_db_no_fields(self):
2079 obj = CleanSaveTestModel.objects.create()
2080@@ -79,8 +79,8 @@ class TestCleanSave(MAASLegacyServerTestCase):
2081 duplicate.save()
2082
2083 obj.refresh_from_db(fields=[])
2084- self.assertEquals(None, obj.field)
2085- self.assertEquals({}, obj._state._changed_fields)
2086+ self.assertEqual(None, obj.field)
2087+ self.assertEqual({}, obj._state._changed_fields)
2088
2089 def test_field_not_marked_changed_when_refresh_with_changed_fields(self):
2090 obj = CleanSaveTestModel.objects.create()
2091@@ -89,15 +89,15 @@ class TestCleanSave(MAASLegacyServerTestCase):
2092 duplicate.save()
2093
2094 obj.refresh_from_db(fields=["field"])
2095- self.assertEquals("test", obj.field)
2096- self.assertEquals({}, obj._state._changed_fields)
2097+ self.assertEqual("test", obj.field)
2098+ self.assertEqual({}, obj._state._changed_fields)
2099
2100 def test_field_not_marked_changed_when_refresh_with_same_fields(self):
2101 obj = CleanSaveTestModel.objects.create()
2102
2103 obj.refresh_from_db(fields=["field"])
2104- self.assertEquals(None, obj.field)
2105- self.assertEquals({}, obj._state._changed_fields)
2106+ self.assertEqual(None, obj.field)
2107+ self.assertEqual({}, obj._state._changed_fields)
2108
2109 def test_field_marked_changed_when_refresh_from_db_with_no_fields(self):
2110 obj = CleanSaveTestModel.objects.create()
2111@@ -107,27 +107,27 @@ class TestCleanSave(MAASLegacyServerTestCase):
2112
2113 obj.field = "test"
2114 obj.refresh_from_db(fields=[])
2115- self.assertEquals("test", obj.field)
2116- self.assertEquals({"field": None}, obj._state._changed_fields)
2117+ self.assertEqual("test", obj.field)
2118+ self.assertEqual({"field": None}, obj._state._changed_fields)
2119
2120 def test_field_marked_changed_rel_id_for_new_obj(self):
2121 related = GenericTestModel.objects.create(field="")
2122 obj = CleanSaveTestModel()
2123 obj.related_id = related.id
2124- self.assertEquals({"related_id": None}, obj._state._changed_fields)
2125+ self.assertEqual({"related_id": None}, obj._state._changed_fields)
2126
2127 def test_field_marked_changed_rel_attname_for_new_obj(self):
2128 related = GenericTestModel.objects.create(field="")
2129 obj = CleanSaveTestModel()
2130 obj.related = related
2131- self.assertEquals({"related_id": None}, obj._state._changed_fields)
2132+ self.assertEqual({"related_id": None}, obj._state._changed_fields)
2133
2134 def test_field_marked_changed_rel_id_for_existing_obj(self):
2135 related = GenericTestModel.objects.create(field="")
2136 new_related = GenericTestModel.objects.create(field="")
2137 obj = CleanSaveTestModel.objects.create(related=related)
2138 obj.related_id = new_related.id
2139- self.assertEquals(
2140+ self.assertEqual(
2141 {"related_id": related.id}, obj._state._changed_fields
2142 )
2143
2144@@ -136,7 +136,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2145 new_related = GenericTestModel.objects.create(field="")
2146 obj = CleanSaveTestModel.objects.create(related=related)
2147 obj.related = new_related
2148- self.assertEquals(
2149+ self.assertEqual(
2150 {"related_id": related.id}, obj._state._changed_fields
2151 )
2152
2153@@ -146,7 +146,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2154 obj = CleanSaveTestModel.objects.create(related=related)
2155 obj.related_id = new_related.id
2156 obj.related_id = related.id
2157- self.assertEquals({}, obj._state._changed_fields)
2158+ self.assertEqual({}, obj._state._changed_fields)
2159
2160 def test_field_not_marked_changed_rel_attname_for_existing_obj(self):
2161 related = GenericTestModel.objects.create(field="")
2162@@ -154,7 +154,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2163 obj = CleanSaveTestModel.objects.create(related=related)
2164 obj.related = new_related
2165 obj.related = related
2166- self.assertEquals({}, obj._state._changed_fields)
2167+ self.assertEqual({}, obj._state._changed_fields)
2168
2169 def test_save_always_calls_save_when_new(self):
2170 mock_save = self.patch(Model, "save")
2171@@ -185,7 +185,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2172 obj = CleanSaveTestModel()
2173 obj.field = "test"
2174 obj.save()
2175- self.assertEquals({}, obj._state._changed_fields)
2176+ self.assertEqual({}, obj._state._changed_fields)
2177
2178 def test_save_performed_with_force_update(self):
2179 obj = CleanSaveTestModel.objects.create()
2180@@ -237,7 +237,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2181 using="default",
2182 ),
2183 )
2184- self.assertEquals({}, obj._state._changed_fields)
2185+ self.assertEqual({}, obj._state._changed_fields)
2186
2187 def test_save_table_updates_update_fields_with_changed_fields(self):
2188 related = GenericTestModel.objects.create(field="")
2189@@ -257,7 +257,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2190 using="default",
2191 ),
2192 )
2193- self.assertEquals({}, obj._state._changed_fields)
2194+ self.assertEqual({}, obj._state._changed_fields)
2195
2196 def test_save_ignores_clean_on_deferred(self):
2197 obj = CleanSaveTestModel.objects.create(field="test")
2198@@ -306,7 +306,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2199 def test_utils_get_changed(self):
2200 obj = CleanSaveTestModel.objects.create()
2201 obj.field = "test"
2202- self.assertEquals({"field"}, obj._state.get_changed())
2203+ self.assertEqual({"field"}, obj._state.get_changed())
2204
2205 def test_utils_has_changed_True(self):
2206 obj = CleanSaveTestModel.objects.create()
2207@@ -331,7 +331,7 @@ class TestCleanSave(MAASLegacyServerTestCase):
2208 new_related = GenericTestModel.objects.create(field="")
2209 obj = CleanSaveTestModel.objects.create(related=related)
2210 obj.related = new_related
2211- self.assertEquals(related.id, obj._state.get_old_value("related_id"))
2212+ self.assertEqual(related.id, obj._state.get_old_value("related_id"))
2213
2214 def test_utils_get_old_value_returns_None_when_not_changed(self):
2215 obj = CleanSaveTestModel.objects.create()
2216diff --git a/src/maasserver/models/tests/test_config.py b/src/maasserver/models/tests/test_config.py
2217index 08e2e55..1948ed2 100644
2218--- a/src/maasserver/models/tests/test_config.py
2219+++ b/src/maasserver/models/tests/test_config.py
2220@@ -127,7 +127,7 @@ class ConfigTest(MAASServerTestCase):
2221 if name != expected_names[0]
2222 }
2223 )
2224- self.assertEquals(expected_dict, observed)
2225+ self.assertEqual(expected_dict, observed)
2226
2227 def test_manager_get_configs_returns_passed_defaults(self):
2228 expected = get_default_config()
2229@@ -139,7 +139,7 @@ class ConfigTest(MAASServerTestCase):
2230 defaults = [expected_dict[name] for name in expected_names]
2231 for name, value in expected_dict.items():
2232 Config.objects.set_config(name, value)
2233- self.assertEquals(
2234+ self.assertEqual(
2235 expected_dict, Config.objects.get_configs(expected_names, defaults)
2236 )
2237
2238diff --git a/src/maasserver/models/tests/test_filesystemgroup.py b/src/maasserver/models/tests/test_filesystemgroup.py
2239index 488c747..88b099b 100644
2240--- a/src/maasserver/models/tests/test_filesystemgroup.py
2241+++ b/src/maasserver/models/tests/test_filesystemgroup.py
2242@@ -1025,14 +1025,14 @@ class TestFilesystemGroup(MAASServerTestCase):
2243
2244 def test_get_size_returns_total_size_with_vmfs(self):
2245 vmfs = factory.make_VMFS()
2246- self.assertEquals(vmfs.get_total_size(), vmfs.get_size())
2247+ self.assertEqual(vmfs.get_total_size(), vmfs.get_size())
2248
2249 def test_get_total_size(self):
2250 vmfs = factory.make_VMFS()
2251 size = 0
2252 for fs in vmfs.filesystems.all():
2253 size += fs.get_size()
2254- self.assertEquals(size, vmfs.get_total_size())
2255+ self.assertEqual(size, vmfs.get_total_size())
2256
2257 def test_is_lvm_returns_true_when_LVM_VG(self):
2258 fsgroup = FilesystemGroup(group_type=FILESYSTEM_GROUP_TYPE.LVM_VG)
2259@@ -1083,7 +1083,7 @@ class TestFilesystemGroup(MAASServerTestCase):
2260 part = factory.make_Partition()
2261 name = factory.make_name("datastore")
2262 vmfs = VMFS.objects.create_vmfs(name, [part])
2263- self.assertEquals(
2264+ self.assertEqual(
2265 "/vmfs/volumes/%s" % name,
2266 vmfs.virtual_device.get_effective_filesystem().mount_point,
2267 )
2268diff --git a/src/maasserver/models/tests/test_interface.py b/src/maasserver/models/tests/test_interface.py
2269index 918252e..9652490 100644
2270--- a/src/maasserver/models/tests/test_interface.py
2271+++ b/src/maasserver/models/tests/test_interface.py
2272@@ -163,7 +163,7 @@ class TestInterfaceManager(MAASServerTestCase):
2273 node=node, mac_address=mac_address
2274 )
2275 self.assertFalse(created)
2276- self.assertEquals(interface, retrieved_interface)
2277+ self.assertEqual(interface, retrieved_interface)
2278
2279 def test_get_or_create_with_parents(self):
2280 parent1 = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
2281@@ -182,7 +182,7 @@ class TestInterfaceManager(MAASServerTestCase):
2282 node=parent1.node, parents=[parent1, parent2]
2283 )
2284 self.assertFalse(created)
2285- self.assertEquals(interface, retrieved_interface)
2286+ self.assertEqual(interface, retrieved_interface)
2287
2288 def test_get_interface_dict_for_node(self):
2289 node1 = factory.make_Node()
2290@@ -1341,8 +1341,8 @@ class InterfaceTest(MAASServerTestCase):
2291 interface.interface_speed = 100
2292 interface.link_speed = 1000
2293 interface.save()
2294- self.assertEquals(100, interface.interface_speed)
2295- self.assertEquals(1000, interface.link_speed)
2296+ self.assertEqual(100, interface.interface_speed)
2297+ self.assertEqual(1000, interface.link_speed)
2298
2299 def test_save_link_speed_may_exceed_unknown_interface_speed(self):
2300 interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
2301@@ -1350,14 +1350,14 @@ class InterfaceTest(MAASServerTestCase):
2302 interface.link_speed = 1000
2303 interface.save()
2304 interface = reload_object(interface)
2305- self.assertEquals(0, interface.interface_speed)
2306- self.assertEquals(1000, interface.link_speed)
2307+ self.assertEqual(0, interface.interface_speed)
2308+ self.assertEqual(1000, interface.link_speed)
2309
2310 def test_save_if_link_disconnected_set_link_speed_to_zero(self):
2311 interface = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
2312 interface.link_connected = False
2313 interface.save()
2314- self.assertEquals(0, interface.link_speed)
2315+ self.assertEqual(0, interface.link_speed)
2316
2317
2318 class InterfaceUpdateNeighbourTest(MAASServerTestCase):
2319@@ -1771,7 +1771,7 @@ class InterfaceMTUTest(MAASServerTestCase):
2320 ),
2321 ),
2322 )
2323- self.assertEquals([parent.id], [p.id for p in bridge.parents.all()])
2324+ self.assertEqual([parent.id], [p.id for p in bridge.parents.all()])
2325
2326
2327 class VLANInterfaceTest(MAASServerTestCase):
2328@@ -3649,13 +3649,13 @@ class TestClaimAutoIPs(MAASTransactionServerTestCase):
2329 )
2330 with transaction.atomic():
2331 observed = interface.claim_auto_ips()
2332- self.assertEquals(
2333+ self.assertEqual(
2334 1,
2335 len(observed),
2336 "Should have 1 AUTO IP addresses with an IP address assigned.",
2337 )
2338- self.assertEquals(subnet, observed[0].subnet)
2339- self.assertEquals(
2340+ self.assertEqual(subnet, observed[0].subnet)
2341+ self.assertEqual(
2342 IPAddress(network.first + 2), IPAddress(observed[0].ip)
2343 )
2344
2345@@ -3790,7 +3790,7 @@ class TestCreateAcquiredBridge(MAASServerTestCase):
2346 ),
2347 ),
2348 )
2349- self.assertEquals([parent.id], [p.id for p in bridge.parents.all()])
2350+ self.assertEqual([parent.id], [p.id for p in bridge.parents.all()])
2351
2352 def test_creates_acquired_bridge_with_passed_options(self):
2353 parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
2354@@ -3818,7 +3818,7 @@ class TestCreateAcquiredBridge(MAASServerTestCase):
2355 ),
2356 ),
2357 )
2358- self.assertEquals([parent.id], [p.id for p in bridge.parents.all()])
2359+ self.assertEqual([parent.id], [p.id for p in bridge.parents.all()])
2360
2361 def test_creates_acquired_bridge_moves_links_from_parent_to_bridge(self):
2362 parent = factory.make_Interface(INTERFACE_TYPE.PHYSICAL)
2363@@ -3847,11 +3847,11 @@ class TestCreateAcquiredBridge(MAASServerTestCase):
2364 ),
2365 ),
2366 )
2367- self.assertEquals([parent.id], [p.id for p in bridge.parents.all()])
2368- self.assertEquals(
2369+ self.assertEqual([parent.id], [p.id for p in bridge.parents.all()])
2370+ self.assertEqual(
2371 [bridge.id], [nic.id for nic in auto_ip.interface_set.all()]
2372 )
2373- self.assertEquals(
2374+ self.assertEqual(
2375 [bridge.id], [nic.id for nic in static_ip.interface_set.all()]
2376 )
2377
2378diff --git a/src/maasserver/models/tests/test_iscsiblockdevice.py b/src/maasserver/models/tests/test_iscsiblockdevice.py
2379index 8f6335d..442dace 100644
2380--- a/src/maasserver/models/tests/test_iscsiblockdevice.py
2381+++ b/src/maasserver/models/tests/test_iscsiblockdevice.py
2382@@ -85,4 +85,4 @@ class TestISCSIBlockDevice(MAASServerTestCase):
2383 block_size=512,
2384 target=target,
2385 )
2386- self.assertEquals("iscsi:%s" % target, block_device.target)
2387+ self.assertEqual("iscsi:%s" % target, block_device.target)
2388diff --git a/src/maasserver/models/tests/test_node.py b/src/maasserver/models/tests/test_node.py
2389index 3c21d98..20b5dee 100644
2390--- a/src/maasserver/models/tests/test_node.py
2391+++ b/src/maasserver/models/tests/test_node.py
2392@@ -676,7 +676,7 @@ class TestRackControllerManager(MAASServerTestCase):
2393 ip = random.choice(["127.0.0.1", "::1"])
2394 mock_getaddr_info.return_value = (("", "", "", "", (ip,)),)
2395 self.useFixture(MAASIDFixture(rack.system_id))
2396- self.assertEquals(
2397+ self.assertEqual(
2398 [rack], RackController.objects.filter_by_url_accessible(ip, False)
2399 )
2400
2401@@ -724,7 +724,7 @@ class TestRackControllerManager(MAASServerTestCase):
2402 url = factory.pick_ip_in_Subnet(accessible_subnet)
2403 mock_getaddr_info = self.patch(node_module.socket, "getaddrinfo")
2404 mock_getaddr_info.return_value = (("", "", "", "", (url,)),)
2405- self.assertEquals(
2406+ self.assertEqual(
2407 None, RackController.objects.get_accessible_by_url(url, False)
2408 )
2409
2410@@ -769,7 +769,7 @@ class TestRegionControllerManager(MAASServerTestCase):
2411 config_uuid = Config.objects.get_config("uuid")
2412 self.assertThat(region_running, IsInstance(RegionController))
2413 self.assertThat(region_running, Equals(region))
2414- self.assertEquals(created_uuid, config_uuid)
2415+ self.assertEqual(created_uuid, config_uuid)
2416
2417 def test_get_or_create_uuid_returns_stored_uuid(self):
2418 region = factory.make_RegionController()
2419@@ -783,8 +783,8 @@ class TestRegionControllerManager(MAASServerTestCase):
2420 stored_uuid = RegionController.objects.get_or_create_uuid()
2421 self.assertThat(region_running, IsInstance(RegionController))
2422 self.assertThat(region_running, Equals(region))
2423- self.assertEquals(stored_uuid, config_uuid)
2424- self.assertEquals(created_uuid, stored_uuid)
2425+ self.assertEqual(stored_uuid, config_uuid)
2426+ self.assertEqual(created_uuid, stored_uuid)
2427
2428
2429 class TestRegionControllerManagerGetOrCreateRunningController(
2430@@ -930,7 +930,7 @@ class TestRegionControllerManagerGetOrCreateRunningController(
2431
2432 def assertControllerCreated(self, region):
2433 # A controller is created and it is always a region controller.
2434- self.assertEquals(NODE_TYPE.REGION_CONTROLLER, region.node_type)
2435+ self.assertEqual(NODE_TYPE.REGION_CONTROLLER, region.node_type)
2436 # It's a fresh controller so the worker user is always owner.
2437 self.assertThat(region.owner, Equals(get_worker_user()))
2438
2439@@ -955,7 +955,7 @@ class TestRegionControllerManagerGetOrCreateRunningController(
2440
2441 def assertControllerNotDiscovered(self, region, host):
2442 # A controller is created and it is always a region controller.
2443- self.assertEquals(NODE_TYPE.REGION_CONTROLLER, region.node_type)
2444+ self.assertEqual(NODE_TYPE.REGION_CONTROLLER, region.node_type)
2445 # It's new; the primary key differs from the host we planted.
2446 self.assertThat(region.id, Not(Equals(host.id)))
2447 # It's a fresh controller so the worker user is always owner.
2448@@ -3570,8 +3570,8 @@ class TestNode(MAASServerTestCase):
2449 user=admin,
2450 commissioning_scripts=[script.name],
2451 )
2452- self.assertEquals(0, ScriptSet.objects.count())
2453- self.assertEquals(0, ScriptResult.objects.count())
2454+ self.assertEqual(0, ScriptSet.objects.count())
2455+ self.assertEqual(0, ScriptResult.objects.count())
2456
2457 def test_start_commissioning_fails_on_xenial_with_network_testing_t(self):
2458 Config.objects.set_config("commissioning_distro_series", "xenial")
2459@@ -3586,8 +3586,8 @@ class TestNode(MAASServerTestCase):
2460 user=admin,
2461 testing_scripts=[script.name],
2462 )
2463- self.assertEquals(0, ScriptSet.objects.count())
2464- self.assertEquals(0, ScriptResult.objects.count())
2465+ self.assertEqual(0, ScriptSet.objects.count())
2466+ self.assertEqual(0, ScriptResult.objects.count())
2467
2468 def test_abort_commissioning_reverts_to_sane_state_on_error(self):
2469 # If abort commissioning hits an error when trying to stop the
2470@@ -3830,7 +3830,7 @@ class TestNode(MAASServerTestCase):
2471 node.start_testing(admin, testing_scripts=[script.name])
2472 post_commit_hooks.reset() # Ignore these for now.
2473 node = reload_object(node)
2474- self.assertEquals(NODE_STATUS.TESTING, node.status)
2475+ self.assertEqual(NODE_STATUS.TESTING, node.status)
2476 self.assertThat(mock_node_start, MockCalledOnce())
2477
2478 def test_start_testing_changes_status_and_starts_new_node(self):
2479@@ -3850,7 +3850,7 @@ class TestNode(MAASServerTestCase):
2480 node.start_testing(admin, testing_scripts=[script.name])
2481 post_commit_hooks.reset() # Ignore these for now.
2482 node = reload_object(node)
2483- self.assertEquals(NODE_STATUS.TESTING, node.status)
2484+ self.assertEqual(NODE_STATUS.TESTING, node.status)
2485 self.assertThat(mock_node_start, MockCalledOnce())
2486
2487 def test_start_testing_sets_options(self):
2488@@ -3870,7 +3870,7 @@ class TestNode(MAASServerTestCase):
2489 )
2490 post_commit_hooks.reset() # Ignore these for now.
2491 node = reload_object(node)
2492- self.assertEquals(enable_ssh, node.enable_ssh)
2493+ self.assertEqual(enable_ssh, node.enable_ssh)
2494
2495 def test_start_testing_sets_user_data(self):
2496 script = factory.make_Script(script_type=SCRIPT_TYPE.TESTING)
2497@@ -4065,8 +4065,8 @@ class TestNode(MAASServerTestCase):
2498 admin,
2499 testing_scripts=[script.name],
2500 )
2501- self.assertEquals(0, ScriptSet.objects.count())
2502- self.assertEquals(0, ScriptResult.objects.count())
2503+ self.assertEqual(0, ScriptSet.objects.count())
2504+ self.assertEqual(0, ScriptResult.objects.count())
2505
2506 def test_save_logs_node_status_transition(self):
2507 self.disable_node_query()
2508@@ -4257,11 +4257,11 @@ class TestNode(MAASServerTestCase):
2509 node.mark_failed(script_result_status=script_result_status)
2510
2511 for script_result in updated_script_results:
2512- self.assertEquals(
2513+ self.assertEqual(
2514 script_result_status, reload_object(script_result).status
2515 )
2516 for script_result in untouched_script_results:
2517- self.assertEquals(
2518+ self.assertEqual(
2519 script_result.status, reload_object(script_result).status
2520 )
2521
2522@@ -8523,7 +8523,7 @@ class TestNode_Start(MAASTransactionServerTestCase):
2523 user, power_type="manual"
2524 )
2525 node.start(user)
2526- self.assertEquals(NODE_STATUS.DEPLOYING, node.status)
2527+ self.assertEqual(NODE_STATUS.DEPLOYING, node.status)
2528
2529 def test_creates_acquired_bridges_for_install_kvm(self):
2530 user = factory.make_User()
2531@@ -8543,11 +8543,11 @@ class TestNode_Start(MAASTransactionServerTestCase):
2532 node = reload_object(node)
2533 bridge = BridgeInterface.objects.get(node=node)
2534 interface = node.interface_set.first()
2535- self.assertEquals(NODE_STATUS.DEPLOYING, node.status)
2536- self.assertEquals(bridge.mac_address, interface.mac_address)
2537- self.assertEquals(bridge.params["bridge_type"], bridge_type)
2538- self.assertEquals(bridge.params["bridge_stp"], bridge_stp)
2539- self.assertEquals(bridge.params["bridge_fd"], bridge_fd)
2540+ self.assertEqual(NODE_STATUS.DEPLOYING, node.status)
2541+ self.assertEqual(bridge.mac_address, interface.mac_address)
2542+ self.assertEqual(bridge.params["bridge_type"], bridge_type)
2543+ self.assertEqual(bridge.params["bridge_stp"], bridge_stp)
2544+ self.assertEqual(bridge.params["bridge_fd"], bridge_fd)
2545 self.assertTrue(node.install_kvm)
2546
2547 def test_doesnt_change_broken(self):
2548@@ -8558,7 +8558,7 @@ class TestNode_Start(MAASTransactionServerTestCase):
2549 node.status = NODE_STATUS.BROKEN
2550 node.save()
2551 node.start(user)
2552- self.assertEquals(NODE_STATUS.BROKEN, node.status)
2553+ self.assertEqual(NODE_STATUS.BROKEN, node.status)
2554
2555 def test_claims_auto_ip_addresses(self):
2556 user = factory.make_User()
2557@@ -9136,14 +9136,14 @@ class TestNode_Start(MAASTransactionServerTestCase):
2558 name=EVENT_TYPES.NODE_POWER_QUERY_FAILED
2559 )
2560 event = node.event_set.get(type=event_type)
2561- self.assertEquals(
2562+ self.assertEqual(
2563 "(%s) - Aborting NEW and reverting to NEW. Unable to power "
2564 "control the node. Please check power credentials." % user,
2565 event.description,
2566 )
2567
2568 for script_result in script_results:
2569- self.assertEquals(
2570+ self.assertEqual(
2571 SCRIPT_STATUS.ABORTED, reload_object(script_result).status
2572 )
2573
2574@@ -9220,7 +9220,7 @@ class TestGetBMCClientConnectionInfo(MAASServerTestCase):
2575 fallback.system_id = fake_fallback_id
2576 mock_fallbacks.return_value = [fallback]
2577
2578- self.assertEquals(
2579+ self.assertEqual(
2580 ([fake_bmc_id], [fake_fallback_id]),
2581 node._get_bmc_client_connection_info(),
2582 )
2583@@ -9233,7 +9233,7 @@ class TestGetBMCClientConnectionInfo(MAASServerTestCase):
2584 name=EVENT_TYPES.NODE_POWER_QUERY_FAILED
2585 )
2586 event = node.event_set.get(type=event_type)
2587- self.assertEquals(
2588+ self.assertEqual(
2589 (
2590 "No rack controllers can access the BMC of node %s"
2591 % node.hostname
2592@@ -13807,7 +13807,7 @@ class TestRackController(MAASTransactionServerTestCase):
2593 )
2594 system_id = region_and_rack.system_id
2595 region_and_rack.as_rack_controller().delete()
2596- self.assertEquals(
2597+ self.assertEqual(
2598 NODE_TYPE.REGION_CONTROLLER,
2599 Node.objects.get(system_id=system_id).node_type,
2600 )
2601@@ -13817,7 +13817,7 @@ class TestRackController(MAASTransactionServerTestCase):
2602 rack.bmc = factory.make_BMC()
2603 rack.save()
2604 rack.delete()
2605- self.assertEquals(
2606+ self.assertEqual(
2607 NODE_TYPE.MACHINE,
2608 Node.objects.get(system_id=rack.system_id).node_type,
2609 )
2610@@ -13927,16 +13927,16 @@ class TestRackController(MAASTransactionServerTestCase):
2611 images = rack_controller.list_boot_images()
2612 self.assertTrue(images["connected"])
2613 self.assertItemsEqual(self.expected_images, images["images"])
2614- self.assertEquals("synced", images["status"])
2615- self.assertEquals("synced", rack_controller.get_image_sync_status())
2616+ self.assertEqual("synced", images["status"])
2617+ self.assertEqual("synced", rack_controller.get_image_sync_status())
2618
2619 def test_list_boot_images_when_disconnected(self):
2620 rack_controller = factory.make_RackController()
2621 images = rack_controller.list_boot_images()
2622- self.assertEquals(False, images["connected"])
2623+ self.assertEqual(False, images["connected"])
2624 self.assertItemsEqual([], images["images"])
2625- self.assertEquals("unknown", images["status"])
2626- self.assertEquals("unknown", rack_controller.get_image_sync_status())
2627+ self.assertEqual("unknown", images["status"])
2628+ self.assertEqual("unknown", rack_controller.get_image_sync_status())
2629
2630 def test_list_boot_images_when_connection_closed(self):
2631 rack_controller = factory.make_RackController()
2632@@ -13944,10 +13944,10 @@ class TestRackController(MAASTransactionServerTestCase):
2633 boot_images, "get_boot_images"
2634 ).side_effect = ConnectionClosed()
2635 images = rack_controller.list_boot_images()
2636- self.assertEquals(False, images["connected"])
2637+ self.assertEqual(False, images["connected"])
2638 self.assertItemsEqual([], images["images"])
2639- self.assertEquals("unknown", images["status"])
2640- self.assertEquals("unknown", rack_controller.get_image_sync_status())
2641+ self.assertEqual("unknown", images["status"])
2642+ self.assertEqual("unknown", rack_controller.get_image_sync_status())
2643
2644 def test_list_boot_images_region_importing(self):
2645 rack_controller = factory.make_RackController()
2646@@ -13962,8 +13962,8 @@ class TestRackController(MAASTransactionServerTestCase):
2647 self.assertThat(fake_is_import_resources_running, MockCalledOnce())
2648 self.assertTrue(images["connected"])
2649 self.assertItemsEqual(self.expected_images, images["images"])
2650- self.assertEquals("region-importing", images["status"])
2651- self.assertEquals(
2652+ self.assertEqual("region-importing", images["status"])
2653+ self.assertEqual(
2654 "region-importing", rack_controller.get_image_sync_status()
2655 )
2656
2657@@ -13981,8 +13981,8 @@ class TestRackController(MAASTransactionServerTestCase):
2658 images = rack_controller.list_boot_images()
2659 self.assertTrue(images["connected"])
2660 self.assertItemsEqual(self.expected_images, images["images"])
2661- self.assertEquals("syncing", images["status"])
2662- self.assertEquals("syncing", rack_controller.get_image_sync_status())
2663+ self.assertEqual("syncing", images["status"])
2664+ self.assertEqual("syncing", rack_controller.get_image_sync_status())
2665
2666 def test_list_boot_images_out_of_sync(self):
2667 rack_controller = factory.make_RackController()
2668@@ -13998,8 +13998,8 @@ class TestRackController(MAASTransactionServerTestCase):
2669 images = rack_controller.list_boot_images()
2670 self.assertTrue(images["connected"])
2671 self.assertItemsEqual(self.expected_images, images["images"])
2672- self.assertEquals("out-of-sync", images["status"])
2673- self.assertEquals(
2674+ self.assertEqual("out-of-sync", images["status"])
2675+ self.assertEqual(
2676 "out-of-sync", rack_controller.get_image_sync_status()
2677 )
2678
2679@@ -14015,7 +14015,7 @@ class TestRackController(MAASTransactionServerTestCase):
2680 images = rack_controller.list_boot_images()
2681 self.assertTrue(images["connected"])
2682 self.assertItemsEqual([], images["images"])
2683- self.assertEquals("syncing", images["status"])
2684+ self.assertEqual("syncing", images["status"])
2685
2686 def test_is_import_images_running(self):
2687 running = factory.pick_bool()
2688@@ -14029,7 +14029,7 @@ class TestRackController(MAASTransactionServerTestCase):
2689 protocol.IsImportBootImagesRunning.return_value = defer.succeed(
2690 {"running": running}
2691 )
2692- self.assertEquals(
2693+ self.assertEqual(
2694 running, rackcontroller.is_import_boot_images_running()
2695 )
2696
2697@@ -14045,7 +14045,7 @@ class TestRegionController(MAASServerTestCase):
2698 node_type=NODE_TYPE.REGION_AND_RACK_CONTROLLER
2699 )
2700 region_and_rack.as_region_controller().delete()
2701- self.assertEquals(
2702+ self.assertEqual(
2703 NODE_TYPE.RACK_CONTROLLER,
2704 Node.objects.get(system_id=region_and_rack.system_id).node_type,
2705 )
2706@@ -14055,7 +14055,7 @@ class TestRegionController(MAASServerTestCase):
2707 region.bmc = factory.make_BMC()
2708 region.save()
2709 region.delete()
2710- self.assertEquals(
2711+ self.assertEqual(
2712 NODE_TYPE.MACHINE,
2713 Node.objects.get(system_id=region.system_id).node_type,
2714 )
2715@@ -15021,7 +15021,7 @@ class TestNodeInterfaceClone__MappingBetweenNodes(MAASServerTestCase):
2716 error = self.assertRaises(
2717 ValidationError, node2._get_interface_mapping_between_nodes, node1
2718 )
2719- self.assertEquals(
2720+ self.assertEqual(
2721 "destination node physical interfaces do not match the "
2722 "source nodes physical interfaces: other, match",
2723 error.message,
2724diff --git a/src/maasserver/models/tests/test_ownerdata.py b/src/maasserver/models/tests/test_ownerdata.py
2725index af3087e..0877e8a 100644
2726--- a/src/maasserver/models/tests/test_ownerdata.py
2727+++ b/src/maasserver/models/tests/test_ownerdata.py
2728@@ -23,7 +23,7 @@ class TestOwnerData(MAASServerTestCase):
2729 for _ in range(3)
2730 }
2731 OwnerData.objects.set_owner_data(node, owner_data)
2732- self.assertEquals(owner_data, self.get_owner_data(node))
2733+ self.assertEqual(owner_data, self.get_owner_data(node))
2734
2735 def test_set_owner_data_updates_data(self):
2736 node = factory.make_Node()
2737@@ -35,7 +35,7 @@ class TestOwnerData(MAASServerTestCase):
2738 for key in owner_data.keys():
2739 owner_data[key] = factory.make_name("value")
2740 OwnerData.objects.set_owner_data(node, owner_data)
2741- self.assertEquals(owner_data, self.get_owner_data(node))
2742+ self.assertEqual(owner_data, self.get_owner_data(node))
2743
2744 def test_set_owner_data_removes_data(self):
2745 node = factory.make_Node()
2746@@ -47,4 +47,4 @@ class TestOwnerData(MAASServerTestCase):
2747 for key in owner_data.keys():
2748 owner_data[key] = None
2749 OwnerData.objects.set_owner_data(node, owner_data)
2750- self.assertEquals({}, self.get_owner_data(node))
2751+ self.assertEqual({}, self.get_owner_data(node))
2752diff --git a/src/maasserver/models/tests/test_packagerepository.py b/src/maasserver/models/tests/test_packagerepository.py
2753index 3758897..ffed1d1 100644
2754--- a/src/maasserver/models/tests/test_packagerepository.py
2755+++ b/src/maasserver/models/tests/test_packagerepository.py
2756@@ -20,7 +20,7 @@ class TestPackageRepositoryManager(MAASServerTestCase):
2757 archive = factory.make_PackageRepository(
2758 url=main_url, default=True, arches=["i386", "amd64"]
2759 )
2760- self.assertEquals(
2761+ self.assertEqual(
2762 archive, PackageRepository.objects.get_default_archive(arch)
2763 )
2764
2765@@ -30,7 +30,7 @@ class TestPackageRepositoryManager(MAASServerTestCase):
2766 archive = factory.make_PackageRepository(
2767 url=main_url, default=False, arches=["i386", "amd64"]
2768 )
2769- self.assertEquals(
2770+ self.assertEqual(
2771 archive,
2772 PackageRepository.objects.get_additional_repositories(
2773 arch
2774@@ -68,13 +68,13 @@ class TestPackageRepositoryManager(MAASServerTestCase):
2775 archive = factory.make_PackageRepository(
2776 url=url, default=False, arches=[arch, factory.make_name()]
2777 )
2778- self.assertEquals(
2779+ self.assertEqual(
2780 ppa_archive,
2781 PackageRepository.objects.get_additional_repositories(
2782 ppa_arch
2783 ).first(),
2784 )
2785- self.assertEquals(
2786+ self.assertEqual(
2787 archive,
2788 PackageRepository.objects.get_additional_repositories(
2789 arch
2790diff --git a/src/maasserver/models/tests/test_partitiontable.py b/src/maasserver/models/tests/test_partitiontable.py
2791index 9544ed1..ae1b9c7 100644
2792--- a/src/maasserver/models/tests/test_partitiontable.py
2793+++ b/src/maasserver/models/tests/test_partitiontable.py
2794@@ -163,7 +163,7 @@ class TestPartitionTable(MAASServerTestCase):
2795 partition_table = factory.make_PartitionTable(
2796 block_device=block_device
2797 )
2798- self.assertEquals(
2799+ self.assertEqual(
2800 PARTITION_TABLE_EXTRA_SPACE, partition_table.get_overhead_size()
2801 )
2802
2803@@ -173,7 +173,7 @@ class TestPartitionTable(MAASServerTestCase):
2804 partition_table = factory.make_PartitionTable(
2805 block_device=block_device
2806 )
2807- self.assertEquals(
2808+ self.assertEqual(
2809 PARTITION_TABLE_EXTRA_SPACE + PREP_PARTITION_SIZE,
2810 partition_table.get_overhead_size(),
2811 )
2812@@ -186,7 +186,7 @@ class TestPartitionTable(MAASServerTestCase):
2813 partition_table = factory.make_PartitionTable(
2814 block_device=block_device
2815 )
2816- self.assertEquals(
2817+ self.assertEqual(
2818 PARTITION_TABLE_EXTRA_SPACE + BIOS_GRUB_PARTITION_SIZE,
2819 partition_table.get_overhead_size(),
2820 )
2821diff --git a/src/maasserver/models/tests/test_podstoragepool.py b/src/maasserver/models/tests/test_podstoragepool.py
2822index 2af4f68..bfc406b 100644
2823--- a/src/maasserver/models/tests/test_podstoragepool.py
2824+++ b/src/maasserver/models/tests/test_podstoragepool.py
2825@@ -15,8 +15,8 @@ class TestPodStoragePool(MAASServerTestCase):
2826 for _ in range(3):
2827 bd = factory.make_PhysicalBlockDevice(storage_pool=pool)
2828 size += bd.size
2829- self.assertEquals(size, pool.get_used_storage())
2830+ self.assertEqual(size, pool.get_used_storage())
2831
2832 def test_get_used_storage_returns_zero(self):
2833 pool = factory.make_PodStoragePool()
2834- self.assertEquals(0, pool.get_used_storage())
2835+ self.assertEqual(0, pool.get_used_storage())
2836diff --git a/src/maasserver/models/tests/test_versionedtextfile.py b/src/maasserver/models/tests/test_versionedtextfile.py
2837index e74e7ce..2e208ba 100644
2838--- a/src/maasserver/models/tests/test_versionedtextfile.py
2839+++ b/src/maasserver/models/tests/test_versionedtextfile.py
2840@@ -95,7 +95,7 @@ class VersionedTextFileTest(MAASServerTestCase):
2841 for _ in range(10):
2842 textfile = textfile.update(factory.make_string())
2843 textfile_ids.append(textfile.id)
2844- self.assertEquals(textfile, textfile.revert(0))
2845+ self.assertEqual(textfile, textfile.revert(0))
2846 self.assertItemsEqual(
2847 textfile_ids, [f.id for f in textfile.previous_versions()]
2848 )
2849@@ -110,7 +110,7 @@ class VersionedTextFileTest(MAASServerTestCase):
2850 revert_to = random.randint(-10, -1)
2851 reverted_ids = textfile_ids[revert_to:]
2852 remaining_ids = textfile_ids[:revert_to]
2853- self.assertEquals(
2854+ self.assertEqual(
2855 textfile_ids[revert_to - 1], textfile.revert(revert_to).id
2856 )
2857 for i in reverted_ids:
2858@@ -130,7 +130,7 @@ class VersionedTextFileTest(MAASServerTestCase):
2859 textfile = textfile.update(factory.make_string())
2860 textfile_ids.append(textfile.id)
2861 revert_to = random.randint(-10, -1)
2862- self.assertEquals(
2863+ self.assertEqual(
2864 textfile_ids[revert_to - 1], textfile.revert(revert_to, False).id
2865 )
2866 for i in textfile_ids:
2867@@ -160,7 +160,7 @@ class VersionedTextFileTest(MAASServerTestCase):
2868 reverted_or_remaining.append(i)
2869 if i == revert_to:
2870 reverted_or_remaining = reverted_ids
2871- self.assertEquals(
2872+ self.assertEqual(
2873 VersionedTextFile.objects.get(id=revert_to),
2874 textfile.revert(revert_to),
2875 )
2876@@ -181,7 +181,7 @@ class VersionedTextFileTest(MAASServerTestCase):
2877 textfile = textfile.update(factory.make_string())
2878 textfile_ids.append(textfile.id)
2879 revert_to = random.choice(textfile_ids)
2880- self.assertEquals(
2881+ self.assertEqual(
2882 VersionedTextFile.objects.get(id=revert_to),
2883 textfile.revert(revert_to, False),
2884 )
2885@@ -232,13 +232,13 @@ class VersionedTextFileTest(MAASServerTestCase):
2886 textfile = VersionedTextFile.objects.create(
2887 data='#!/bin/sh\r\necho "Created on Windows!"\r\n'
2888 )
2889- self.assertEquals(
2890+ self.assertEqual(
2891 '#!/bin/sh\necho "Created on Windows!"\n', textfile.data
2892 )
2893 updated_textfile = textfile.update(
2894 '#!/bin/sh\r\necho "Updated on Windows!"\r\n'
2895 )
2896 self.assertNotEquals(textfile, updated_textfile)
2897- self.assertEquals(
2898+ self.assertEqual(
2899 '#!/bin/sh\necho "Updated on Windows!"\n', updated_textfile.data
2900 )
2901diff --git a/src/maasserver/prometheus/tests/test_stats.py b/src/maasserver/prometheus/tests/test_stats.py
2902index 235fd86..b37a1a5 100644
2903--- a/src/maasserver/prometheus/tests/test_stats.py
2904+++ b/src/maasserver/prometheus/tests/test_stats.py
2905@@ -44,14 +44,14 @@ class TestPrometheusHandler(MAASServerTestCase):
2906 self.patch(stats, "PROMETHEUS_SUPPORTED", True)
2907 response = self.client.get(reverse("metrics"))
2908 self.assertEqual("text/html; charset=utf-8", response["Content-Type"])
2909- self.assertEquals(response.status_code, http.client.NOT_FOUND)
2910+ self.assertEqual(response.status_code, http.client.NOT_FOUND)
2911
2912 def test_prometheus_stats_handler_not_found_not_supported(self):
2913 Config.objects.set_config("prometheus_enabled", True)
2914 self.patch(stats, "PROMETHEUS_SUPPORTED", False)
2915 response = self.client.get(reverse("metrics"))
2916 self.assertEqual("text/html; charset=utf-8", response["Content-Type"])
2917- self.assertEquals(response.status_code, http.client.NOT_FOUND)
2918+ self.assertEqual(response.status_code, http.client.NOT_FOUND)
2919
2920 def test_prometheus_stats_handler_returns_success(self):
2921 Config.objects.set_config("prometheus_enabled", True)
2922@@ -59,7 +59,7 @@ class TestPrometheusHandler(MAASServerTestCase):
2923 mock_prom_cli.generate_latest.return_value = {}
2924 response = self.client.get(reverse("metrics"))
2925 self.assertEqual("text/plain", response["Content-Type"])
2926- self.assertEquals(response.status_code, http.client.OK)
2927+ self.assertEqual(response.status_code, http.client.OK)
2928
2929 def test_prometheus_stats_handler_returns_metrics(self):
2930 Config.objects.set_config("prometheus_enabled", True)
2931diff --git a/src/maasserver/rpc/tests/test_boot.py b/src/maasserver/rpc/tests/test_boot.py
2932index 1e19ada..1dbb43b 100644
2933--- a/src/maasserver/rpc/tests/test_boot.py
2934+++ b/src/maasserver/rpc/tests/test_boot.py
2935@@ -223,7 +223,7 @@ class TestGetConfig(MAASServerTestCase):
2936 mac=mac,
2937 query_count=9,
2938 )
2939- self.assertEquals(
2940+ self.assertEqual(
2941 {
2942 "system_id": node.system_id,
2943 "arch": node.split_arch()[0],
2944@@ -268,7 +268,7 @@ class TestGetConfig(MAASServerTestCase):
2945 mac=mac,
2946 query_count=9,
2947 )
2948- self.assertEquals(
2949+ self.assertEqual(
2950 {
2951 "system_id": node.system_id,
2952 "arch": node.split_arch()[0],
2953@@ -312,7 +312,7 @@ class TestGetConfig(MAASServerTestCase):
2954 mac=mac,
2955 query_count=8,
2956 )
2957- self.assertEquals(
2958+ self.assertEqual(
2959 {
2960 "system_id": device.system_id,
2961 "arch": device.split_arch()[0],
2962@@ -360,7 +360,7 @@ class TestGetConfig(MAASServerTestCase):
2963 config = get_config(
2964 rack_controller.system_id, local_ip, remote_ip, mac=mac
2965 )
2966- self.assertEquals(config["purpose"], "xinstall")
2967+ self.assertEqual(config["purpose"], "xinstall")
2968
2969 def test_returns_kparams_for_known_node(self):
2970 rack_controller = factory.make_RackController()
2971@@ -1403,19 +1403,19 @@ class TestGetBootFilenames(MAASServerTestCase):
2972 arch, subarch, osystem, series
2973 )
2974
2975- self.assertEquals(
2976+ self.assertEqual(
2977 boot_resource_set.files.get(
2978 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL
2979 ).filename,
2980 kernel,
2981 )
2982- self.assertEquals(
2983+ self.assertEqual(
2984 boot_resource_set.files.get(
2985 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD
2986 ).filename,
2987 initrd,
2988 )
2989- self.assertEquals(
2990+ self.assertEqual(
2991 boot_resource_set.files.get(
2992 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_DTB
2993 ).filename,
2994@@ -1435,19 +1435,19 @@ class TestGetBootFilenames(MAASServerTestCase):
2995 arch, "generic", osystem, series
2996 )
2997
2998- self.assertEquals(
2999+ self.assertEqual(
3000 boot_resource_set.files.get(
3001 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL
3002 ).filename,
3003 kernel,
3004 )
3005- self.assertEquals(
3006+ self.assertEqual(
3007 boot_resource_set.files.get(
3008 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD
3009 ).filename,
3010 initrd,
3011 )
3012- self.assertEquals(
3013+ self.assertEqual(
3014 boot_resource_set.files.get(
3015 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_DTB
3016 ).filename,
3017@@ -1486,13 +1486,13 @@ class TestGetBootFilenames(MAASServerTestCase):
3018 arch, subarch, osystem, series
3019 )
3020
3021- self.assertEquals(
3022+ self.assertEqual(
3023 boot_resource_set.files.get(
3024 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL
3025 ).filename,
3026 kernel,
3027 )
3028- self.assertEquals(
3029+ self.assertEqual(
3030 boot_resource_set.files.get(
3031 filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD
3032 ).filename,
3033diff --git a/src/maasserver/rpc/tests/test_leases.py b/src/maasserver/rpc/tests/test_leases.py
3034index cb81a6e..134ecef 100644
3035--- a/src/maasserver/rpc/tests/test_leases.py
3036+++ b/src/maasserver/rpc/tests/test_leases.py
3037@@ -71,14 +71,12 @@ class TestUpdateLease(MAASServerTestCase):
3038 action = factory.make_name("action")
3039 kwargs = self.make_kwargs(action=action)
3040 error = self.assertRaises(LeaseUpdateError, update_lease, **kwargs)
3041- self.assertEquals("Unknown lease action: %s" % action, str(error))
3042+ self.assertEqual("Unknown lease action: %s" % action, str(error))
3043
3044 def test_raises_LeaseUpdateError_for_no_subnet(self):
3045 kwargs = self.make_kwargs()
3046 error = self.assertRaises(LeaseUpdateError, update_lease, **kwargs)
3047- self.assertEquals(
3048- "No subnet exists for: %s" % kwargs["ip"], str(error)
3049- )
3050+ self.assertEqual("No subnet exists for: %s" % kwargs["ip"], str(error))
3051
3052 def test_raises_LeaseUpdateError_for_ipv4_mismatch(self):
3053 ipv6_network = factory.make_ipv6_network()
3054@@ -86,7 +84,7 @@ class TestUpdateLease(MAASServerTestCase):
3055 kwargs = self.make_kwargs(subnet=subnet)
3056 kwargs["ip_family"] = "ipv4"
3057 error = self.assertRaises(LeaseUpdateError, update_lease, **kwargs)
3058- self.assertEquals(
3059+ self.assertEqual(
3060 "Family for the subnet does not match. Expected: ipv4", str(error)
3061 )
3062
3063@@ -96,7 +94,7 @@ class TestUpdateLease(MAASServerTestCase):
3064 kwargs = self.make_kwargs(subnet=subnet)
3065 kwargs["ip_family"] = "ipv6"
3066 error = self.assertRaises(LeaseUpdateError, update_lease, **kwargs)
3067- self.assertEquals(
3068+ self.assertEqual(
3069 "Family for the subnet does not match. Expected: ipv6", str(error)
3070 )
3071
3072@@ -140,7 +138,7 @@ class TestUpdateLease(MAASServerTestCase):
3073 mac_address=kwargs["mac"]
3074 ).first()
3075 self.assertIsNotNone(unknown_interface)
3076- self.assertEquals(subnet.vlan, unknown_interface.vlan)
3077+ self.assertEqual(subnet.vlan, unknown_interface.vlan)
3078 sip = unknown_interface.ip_addresses.first()
3079 self.assertIsNotNone(sip)
3080 self.assertThat(
3081@@ -168,7 +166,7 @@ class TestUpdateLease(MAASServerTestCase):
3082 mac_address=kwargs["mac"]
3083 ).first()
3084 self.assertIsNotNone(unknown_interface)
3085- self.assertEquals(subnet.vlan, unknown_interface.vlan)
3086+ self.assertEqual(subnet.vlan, unknown_interface.vlan)
3087 sip = unknown_interface.ip_addresses.first()
3088 self.assertIsNotNone(sip)
3089 self.assertThat(
3090@@ -198,7 +196,7 @@ class TestUpdateLease(MAASServerTestCase):
3091 mac_address=kwargs["mac"]
3092 ).first()
3093 self.assertIsNotNone(unknown_interface)
3094- self.assertEquals(subnet.vlan, unknown_interface.vlan)
3095+ self.assertEqual(subnet.vlan, unknown_interface.vlan)
3096 sip = unknown_interface.ip_addresses.first()
3097 self.assertIsNotNone(sip)
3098 dnsrr = get_one(DNSResource.objects.filter(name=hostname))
3099@@ -232,7 +230,7 @@ class TestUpdateLease(MAASServerTestCase):
3100 mac_address=kwargs["mac"]
3101 ).first()
3102 self.assertIsNotNone(unknown_interface)
3103- self.assertEquals(subnet.vlan, unknown_interface.vlan)
3104+ self.assertEqual(subnet.vlan, unknown_interface.vlan)
3105 sip = unknown_interface.ip_addresses.first()
3106 self.assertIsNotNone(sip)
3107 self.assertThat(sip.dnsresource_set.all(), Not(Contains(sip)))
3108@@ -251,7 +249,7 @@ class TestUpdateLease(MAASServerTestCase):
3109 mac_address=kwargs["mac"]
3110 ).first()
3111 self.assertIsNotNone(unknown_interface)
3112- self.assertEquals(subnet.vlan, unknown_interface.vlan)
3113+ self.assertEqual(subnet.vlan, unknown_interface.vlan)
3114 sip = unknown_interface.ip_addresses.first()
3115 self.assertIsNotNone(sip)
3116 self.assertThat(sip.dnsresource_set.all(), Not(Contains(sip)))
3117diff --git a/src/maasserver/rpc/tests/test_nodes.py b/src/maasserver/rpc/tests/test_nodes.py
3118index 3c5acd8..89cea28 100644
3119--- a/src/maasserver/rpc/tests/test_nodes.py
3120+++ b/src/maasserver/rpc/tests/test_nodes.py
3121@@ -383,7 +383,7 @@ class TestListClusterNodesPowerParameters(MAASServerTestCase):
3122
3123 power_parameters = list_cluster_nodes_power_parameters(rack.system_id)
3124 system_ids = [params["system_id"] for params in power_parameters]
3125- self.assertEquals(sorted(node_ids), sorted(system_ids))
3126+ self.assertEqual(sorted(node_ids), sorted(system_ids))
3127
3128 def test_returns_unchecked_nodes_first(self):
3129 rack = factory.make_RackController(power_type="")
3130diff --git a/src/maasserver/rpc/tests/test_rackcontrollers.py b/src/maasserver/rpc/tests/test_rackcontrollers.py
3131index ab90b8d..181ee77 100644
3132--- a/src/maasserver/rpc/tests/test_rackcontrollers.py
3133+++ b/src/maasserver/rpc/tests/test_rackcontrollers.py
3134@@ -313,7 +313,7 @@ class TestRegisterRackController(MAASServerTestCase):
3135 version = "1.10.2"
3136 node = factory.make_Node(node_type=NODE_TYPE.MACHINE)
3137 register(system_id=node.system_id, version=version)
3138- self.assertEquals(version, node.as_rack_controller().version)
3139+ self.assertEqual(version, node.as_rack_controller().version)
3140
3141 def test_updates_interfaces(self):
3142 # Interfaces are set on existing rack controllers.
3143@@ -467,7 +467,7 @@ class TestUpdateForeignDHCP(MAASServerTestCase):
3144 )
3145 dhcp_ip = factory.make_ip_address()
3146 update_foreign_dhcp(rack_controller.system_id, interface.name, dhcp_ip)
3147- self.assertEquals(dhcp_ip, reload_object(interface.vlan).external_dhcp)
3148+ self.assertEqual(dhcp_ip, reload_object(interface.vlan).external_dhcp)
3149
3150 def test_logs_warning_for_external_dhcp_on_interface_no_vlan(self):
3151 rack_controller = factory.make_RackController(interface=False)
3152diff --git a/src/maasserver/rpc/tests/test_regionservice.py b/src/maasserver/rpc/tests/test_regionservice.py
3153index 05fffaf..832e8da 100644
3154--- a/src/maasserver/rpc/tests/test_regionservice.py
3155+++ b/src/maasserver/rpc/tests/test_regionservice.py
3156@@ -431,7 +431,7 @@ class TestRegionServer(MAASTransactionServerTestCase):
3157 "interfaces": {},
3158 },
3159 )
3160- self.assertEquals(rack_controller.system_id, protocol.ident)
3161+ self.assertEqual(rack_controller.system_id, protocol.ident)
3162
3163 @wait_for_reactor
3164 @inlineCallbacks
3165@@ -474,7 +474,7 @@ class TestRegionServer(MAASTransactionServerTestCase):
3166 "interfaces": {},
3167 },
3168 )
3169- self.assertEquals(sentinel.host, protocol.host)
3170+ self.assertEqual(sentinel.host, protocol.host)
3171
3172 @wait_for_reactor
3173 @inlineCallbacks
3174@@ -538,7 +538,7 @@ class TestRegionServer(MAASTransactionServerTestCase):
3175 ),
3176 CannotRegisterRackController,
3177 )
3178- self.assertEquals(
3179+ self.assertEqual(
3180 (
3181 "Failed to register rack controller 'None' with the master. "
3182 "Connection will be dropped.",
3183@@ -549,7 +549,7 @@ class TestRegionServer(MAASTransactionServerTestCase):
3184
3185 class TestRackClient(MAASTestCase):
3186 def test_defined_cache_calls(self):
3187- self.assertEquals(
3188+ self.assertEqual(
3189 [cluster.DescribePowerTypes, cluster.DescribeNOSTypes],
3190 RackClient.cache_calls,
3191 )
3192@@ -583,7 +583,7 @@ class TestRackClient(MAASTestCase):
3193 result = yield client(cluster.DescribePowerTypes)
3194 # The result is a copy. It should equal the result but not be
3195 # the same object.
3196- self.assertEquals(power_types, result)
3197+ self.assertEqual(power_types, result)
3198 self.assertIsNot(power_types, result)
3199
3200 @wait_for_reactor
3201@@ -1093,7 +1093,7 @@ class TestRegionService(MAASTestCase):
3202 self.assertEqual({uuid: set()}, service.waiters)
3203
3204 def check(conn_returned):
3205- self.assertEquals(conn, conn_returned)
3206+ self.assertEqual(conn, conn_returned)
3207
3208 return d.addCallback(check)
3209
3210diff --git a/src/maasserver/rpc/tests/test_regionservice_calls.py b/src/maasserver/rpc/tests/test_regionservice_calls.py
3211index a1dfe15..32d3a2f 100644
3212--- a/src/maasserver/rpc/tests/test_regionservice_calls.py
3213+++ b/src/maasserver/rpc/tests/test_regionservice_calls.py
3214@@ -1303,7 +1303,7 @@ class TestRegionProtocol_RequestNodeInforByMACAddress(
3215 copy_response = dict(response)
3216 del copy_response["boot_type"]
3217 self.assertAttributes(node, copy_response)
3218- self.assertEquals("fastpath", response["boot_type"])
3219+ self.assertEqual("fastpath", response["boot_type"])
3220
3221 @wait_for_reactor
3222 def test_request_node_info_by_mac_address_raises_if_unknown_mac(self):
3223diff --git a/src/maasserver/tests/test_audit.py b/src/maasserver/tests/test_audit.py
3224index 42ed53e..2dc79e2 100644
3225--- a/src/maasserver/tests/test_audit.py
3226+++ b/src/maasserver/tests/test_audit.py
3227@@ -25,8 +25,8 @@ class CreateAuditEventTest(MAASServerTestCase):
3228 create_audit_event(EVENT_TYPES.NODE_PXE_REQUEST, endpoint, request)
3229 event = Event.objects.get(node=None, type__level=AUDIT)
3230 self.assertIsNotNone(event)
3231- self.assertEquals(endpoint, event.endpoint)
3232- self.assertEquals("", event.user_agent)
3233+ self.assertEqual(endpoint, event.endpoint)
3234+ self.assertEqual("", event.user_agent)
3235
3236 def test_create_audit_event_creates_audit_event_with_user_agent(self):
3237 node = factory.make_Node()
3238@@ -45,7 +45,7 @@ class CreateAuditEventTest(MAASServerTestCase):
3239 )
3240 event = Event.objects.get(node=node, type__level=AUDIT)
3241 self.assertIsNotNone(event)
3242- self.assertEquals(request.META["HTTP_USER_AGENT"], event.user_agent)
3243+ self.assertEqual(request.META["HTTP_USER_AGENT"], event.user_agent)
3244
3245 def test_create_audit_event_creates_audit_event_with_description(self):
3246 node = factory.make_Node()
3247@@ -66,8 +66,8 @@ class CreateAuditEventTest(MAASServerTestCase):
3248 )
3249 event = Event.objects.get(node=node, type__level=AUDIT)
3250 self.assertIsNotNone(event)
3251- self.assertEquals(request.META["HTTP_USER_AGENT"], event.user_agent)
3252- self.assertEquals(description, event.description)
3253+ self.assertEqual(request.META["HTTP_USER_AGENT"], event.user_agent)
3254+ self.assertEqual(description, event.description)
3255
3256 def test_create_audit_event_creates_audit_event_with_AnonymousUser(self):
3257 request = HttpRequest()
3258diff --git a/src/maasserver/tests/test_bootresources.py b/src/maasserver/tests/test_bootresources.py
3259index e89be3c..609d784 100644
3260--- a/src/maasserver/tests/test_bootresources.py
3261+++ b/src/maasserver/tests/test_bootresources.py
3262@@ -335,8 +335,8 @@ class TestSimpleStreamsHandler(MAASServerTestCase):
3263 )
3264 response = self.get_stream_client("maas:v2:download.json")
3265 output = json.loads(response.content.decode(settings.DEFAULT_CHARSET))
3266- self.assertEquals(kflavor, output["products"][product]["kflavor"])
3267- self.assertEquals(
3268+ self.assertEqual(kflavor, output["products"][product]["kflavor"])
3269+ self.assertEqual(
3270 bootloader_type, output["products"][product]["bootloader-type"]
3271 )
3272 self.assertTrue(output["products"][product]["rolling"])
3273@@ -849,11 +849,11 @@ class TestBootResourceStore(MAASServerTestCase):
3274 }
3275 store = BootResourceStore()
3276 resource = store.get_or_create_boot_resource(product)
3277- self.assertEquals(BOOT_RESOURCE_TYPE.SYNCED, resource.rtype)
3278- self.assertEquals("ubuntu-core/16-pc", resource.name)
3279- self.assertEquals("amd64/generic", resource.architecture)
3280+ self.assertEqual(BOOT_RESOURCE_TYPE.SYNCED, resource.rtype)
3281+ self.assertEqual("ubuntu-core/16-pc", resource.name)
3282+ self.assertEqual("amd64/generic", resource.architecture)
3283 self.assertIsNone(resource.bootloader_type)
3284- self.assertEquals("pc-kernel", resource.kflavor)
3285+ self.assertEqual("pc-kernel", resource.kflavor)
3286 self.assertDictEqual({"title": "Ubuntu Core 16 PC"}, resource.extra)
3287
3288 def test_get_or_create_boot_resource_set_creates_resource_set(self):
3289@@ -935,7 +935,7 @@ class TestBootResourceStore(MAASServerTestCase):
3290 rfile.save()
3291 for rfile in resource_set.files.all():
3292 self.assertIn(rfile.filename, files)
3293- self.assertEquals(rfile.filetype, product["ftype"])
3294+ self.assertEqual(rfile.filetype, product["ftype"])
3295
3296 def test_get_resource_file_log_identifier_returns_valid_ident(self):
3297 os = factory.make_name("os")
3298@@ -1022,7 +1022,7 @@ class TestBootResourceStore(MAASServerTestCase):
3299 store.delete_content_to_finalize()
3300 self.assertIsNone(reload_object(rfile_one))
3301 self.assertIsNone(reload_object(rfile_two))
3302- self.assertEquals({}, store._content_to_finalize)
3303+ self.assertEqual({}, store._content_to_finalize)
3304
3305 def test_finalize_does_nothing_if_resources_to_delete_hasnt_changed(self):
3306 self.patch(bootresources.Event.objects, "create_region_event")
3307diff --git a/src/maasserver/tests/test_bootsources.py b/src/maasserver/tests/test_bootsources.py
3308index 6bcb549..1be1755 100644
3309--- a/src/maasserver/tests/test_bootsources.py
3310+++ b/src/maasserver/tests/test_bootsources.py
3311@@ -220,7 +220,7 @@ class TestHelpers(MAASServerTestCase):
3312 os_title = factory.make_name("os_title")
3313 release_title = factory.make_name("release_title")
3314 gadget_title = factory.make_name("gadget_title")
3315- self.assertEquals(
3316+ self.assertEqual(
3317 "%s %s %s" % (os_title, release_title, gadget_title),
3318 get_product_title(
3319 {
3320@@ -234,7 +234,7 @@ class TestHelpers(MAASServerTestCase):
3321 def test_get_product_title_with_os_and_release_titles(self):
3322 os_title = factory.make_name("os_title")
3323 release_title = factory.make_name("release_title")
3324- self.assertEquals(
3325+ self.assertEqual(
3326 "%s %s" % (os_title, release_title),
3327 get_product_title(
3328 {"os_title": os_title, "release_title": release_title}
3329@@ -346,7 +346,7 @@ class TestPrivateUpdateCache(MAASServerTestCase):
3330 source.to_dict_without_selections(),
3331 image_mapping,
3332 )
3333- self.assertEquals(5, queries)
3334+ self.assertEqual(5, queries)
3335
3336 # Now that they all already exist, it should only be 4 queries.
3337 queries, _ = count_queries(
3338@@ -354,7 +354,7 @@ class TestPrivateUpdateCache(MAASServerTestCase):
3339 source.to_dict_without_selections(),
3340 image_mapping,
3341 )
3342- self.assertEquals(4, queries)
3343+ self.assertEqual(4, queries)
3344
3345 # Do it again just to be sure.
3346 queries, _ = count_queries(
3347@@ -362,7 +362,7 @@ class TestPrivateUpdateCache(MAASServerTestCase):
3348 source.to_dict_without_selections(),
3349 image_mapping,
3350 )
3351- self.assertEquals(4, queries)
3352+ self.assertEqual(4, queries)
3353
3354
3355 class TestPrivateCacheBootSources(MAASTransactionServerTestCase):
3356diff --git a/src/maasserver/tests/test_config_forms.py b/src/maasserver/tests/test_config_forms.py
3357index 53f2508..4e36435 100644
3358--- a/src/maasserver/tests/test_config_forms.py
3359+++ b/src/maasserver/tests/test_config_forms.py
3360@@ -207,7 +207,7 @@ class TestFormWithDictCharField(MAASServerTestCase):
3361 ],
3362 required=False,
3363 )
3364- self.assertEquals(
3365+ self.assertEqual(
3366 default_value, multi_field.clean_sub_fields("")["field_a"]
3367 )
3368
3369diff --git a/src/maasserver/tests/test_dhcp.py b/src/maasserver/tests/test_dhcp.py
3370index 1ed1e19..ee0aba5 100644
3371--- a/src/maasserver/tests/test_dhcp.py
3372+++ b/src/maasserver/tests/test_dhcp.py
3373@@ -162,7 +162,7 @@ class TestIPIsStickyOrAuto(MAASServerTestCase):
3374
3375 def test_returns_correct_result(self):
3376 ip_address = factory.make_StaticIPAddress(alloc_type=self.alloc_type)
3377- self.assertEquals(self.result, dhcp.ip_is_sticky_or_auto(ip_address))
3378+ self.assertEqual(self.result, dhcp.ip_is_sticky_or_auto(ip_address))
3379
3380
3381 class TestGetBestInterface(MAASServerTestCase):
3382@@ -182,7 +182,7 @@ class TestGetBestInterface(MAASServerTestCase):
3383 bond = factory.make_Interface(
3384 INTERFACE_TYPE.BOND, node=rack_controller, parents=[nic0, nic1]
3385 )
3386- self.assertEquals(bond, dhcp.get_best_interface([physical, bond]))
3387+ self.assertEqual(bond, dhcp.get_best_interface([physical, bond]))
3388
3389 def test_returns_physical_over_vlan(self):
3390 rack_controller = factory.make_RackController()
3391@@ -192,7 +192,7 @@ class TestGetBestInterface(MAASServerTestCase):
3392 vlan = factory.make_Interface(
3393 INTERFACE_TYPE.VLAN, node=rack_controller, parents=[physical]
3394 )
3395- self.assertEquals(physical, dhcp.get_best_interface([physical, vlan]))
3396+ self.assertEqual(physical, dhcp.get_best_interface([physical, vlan]))
3397
3398 def test_returns_first_interface_when_all_physical(self):
3399 rack_controller = factory.make_RackController()
3400@@ -202,7 +202,7 @@ class TestGetBestInterface(MAASServerTestCase):
3401 )
3402 for _ in range(3)
3403 ]
3404- self.assertEquals(interfaces[0], dhcp.get_best_interface(interfaces))
3405+ self.assertEqual(interfaces[0], dhcp.get_best_interface(interfaces))
3406
3407 def test_returns_first_interface_when_all_vlan(self):
3408 rack_controller = factory.make_RackController()
3409@@ -215,7 +215,7 @@ class TestGetBestInterface(MAASServerTestCase):
3410 )
3411 for _ in range(3)
3412 ]
3413- self.assertEquals(interfaces[0], dhcp.get_best_interface(interfaces))
3414+ self.assertEqual(interfaces[0], dhcp.get_best_interface(interfaces))
3415
3416
3417 class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3418@@ -295,7 +295,7 @@ class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3419 factory.make_StaticIPAddress(
3420 alloc_type=IPADDRESS_TYPE.AUTO, subnet=subnet, interface=interface
3421 )
3422- self.assertEquals(
3423+ self.assertEqual(
3424 [interface],
3425 dhcp.get_interfaces_with_ip_on_vlan(
3426 rack_controller, vlan, subnet.get_ipnetwork().version
3427@@ -353,7 +353,7 @@ class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3428 subnet=subnet_with_dynamic_range,
3429 interface=interface_two,
3430 )
3431- self.assertEquals(
3432+ self.assertEqual(
3433 [interface_two, interface_one],
3434 dhcp.get_interfaces_with_ip_on_vlan(
3435 rack_controller, vlan, subnet.get_ipnetwork().version
3436@@ -427,7 +427,7 @@ class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3437 subnet=subnet,
3438 interface=interface,
3439 )
3440- self.assertEquals(
3441+ self.assertEqual(
3442 [],
3443 dhcp.get_interfaces_with_ip_on_vlan(
3444 rack_controller, vlan, subnet.get_ipnetwork().version
3445@@ -460,7 +460,7 @@ class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3446 subnet=other_subnet,
3447 interface=other_interface,
3448 )
3449- self.assertEquals(
3450+ self.assertEqual(
3451 [interface],
3452 dhcp.get_interfaces_with_ip_on_vlan(
3453 rack_controller, vlan, subnet.get_ipnetwork().version
3454@@ -493,7 +493,7 @@ class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3455 subnet=other_subnet,
3456 interface=other_interface,
3457 )
3458- self.assertEquals(
3459+ self.assertEqual(
3460 [interface],
3461 dhcp.get_interfaces_with_ip_on_vlan(
3462 rack_controller, vlan, subnet.get_ipnetwork().version
3463@@ -511,7 +511,7 @@ class TestGetInterfacesWithIPOnVLAN(MAASServerTestCase):
3464 factory.make_StaticIPAddress(
3465 alloc_type=IPADDRESS_TYPE.AUTO, subnet=subnet, interface=interface
3466 )
3467- self.assertEquals(
3468+ self.assertEqual(
3469 [interface],
3470 dhcp.get_interfaces_with_ip_on_vlan(
3471 rack_controller,
3472@@ -673,7 +673,7 @@ class TestGenManagedVLANsFor(MAASServerTestCase):
3473
3474 # Should only contain the subnets that are managed by the rack
3475 # controller and the best interface should have been selected.
3476- self.assertEquals(
3477+ self.assertEqual(
3478 {vlan_one, vlan_two},
3479 set(dhcp.gen_managed_vlans_for(rack_controller)),
3480 )
3481@@ -702,7 +702,7 @@ class TestGenManagedVLANsFor(MAASServerTestCase):
3482
3483 # Should only contain the subnets that are managed by the rack
3484 # controller and the best interface should have been selected.
3485- self.assertEquals(
3486+ self.assertEqual(
3487 relay_vlans.union(set([vlan_one])),
3488 set(dhcp.gen_managed_vlans_for(rack_controller)),
3489 )
3490@@ -810,7 +810,7 @@ class TestIPIsOnVLAN(MAASServerTestCase):
3491 # make_StaticIPAddress always creates a subnet so set it to None.
3492 ip_address.subnet = None
3493 ip_address.save()
3494- self.assertEquals(
3495+ self.assertEqual(
3496 self.result, dhcp.ip_is_on_vlan(ip_address, expected_vlan)
3497 )
3498
3499@@ -825,7 +825,7 @@ class TestGetIPAddressForInterface(MAASServerTestCase):
3500 ip_address = factory.make_StaticIPAddress(
3501 alloc_type=IPADDRESS_TYPE.AUTO, subnet=subnet, interface=interface
3502 )
3503- self.assertEquals(
3504+ self.assertEqual(
3505 ip_address, dhcp.get_ip_address_for_interface(interface, vlan)
3506 )
3507
3508@@ -854,7 +854,7 @@ class TestGetIPAddressForRackController(MAASServerTestCase):
3509 ip_address = factory.make_StaticIPAddress(
3510 alloc_type=IPADDRESS_TYPE.AUTO, subnet=subnet, interface=interface
3511 )
3512- self.assertEquals(
3513+ self.assertEqual(
3514 ip_address,
3515 dhcp.get_ip_address_for_rack_controller(rack_controller, vlan),
3516 )
3517@@ -883,7 +883,7 @@ class TestGetIPAddressForRackController(MAASServerTestCase):
3518 subnet=subnet,
3519 interface=bond_interface,
3520 )
3521- self.assertEquals(
3522+ self.assertEqual(
3523 bond_ip_address,
3524 dhcp.get_ip_address_for_rack_controller(rack_controller, vlan),
3525 )
3526@@ -1120,7 +1120,7 @@ class TestGetDefaultDNSServers(MAASServerTestCase):
3527 self.assertItemsEqual(
3528 servers[0:-1], [IPAddress(r1_address.ip), IPAddress(r2_address.ip)]
3529 )
3530- self.assertEquals(IPAddress("10.0.0.1"), servers[-1])
3531+ self.assertEqual(IPAddress("10.0.0.1"), servers[-1])
3532
3533 def test_doesnt_include_remote_region_ip(self):
3534 # Regression test for LP:1881133
3535@@ -1584,7 +1584,7 @@ class TestMakeSubnetConfig(MAASServerTestCase):
3536 [factory.make_name("ntp")],
3537 default_domain,
3538 )
3539- self.assertEquals(
3540+ self.assertEqual(
3541 [
3542 {"ip_range_low": "10.9.8.11", "ip_range_high": "10.9.8.20"},
3543 {"ip_range_low": "10.9.8.21", "ip_range_high": "10.9.8.30"},
3544@@ -1613,7 +1613,7 @@ class TestMakeSubnetConfig(MAASServerTestCase):
3545 default_domain,
3546 failover_peer=failover_peer,
3547 )
3548- self.assertEquals(
3549+ self.assertEqual(
3550 [
3551 {
3552 "ip_range_low": "10.9.8.11",
3553@@ -2016,7 +2016,7 @@ class TestMakeFailoverPeerConfig(MAASServerTestCase):
3554 interface=secondary_interface,
3555 )
3556 failover_peer_name = "failover-vlan-%d" % vlan.id
3557- self.assertEquals(
3558+ self.assertEqual(
3559 (
3560 failover_peer_name,
3561 {
3562@@ -2056,7 +2056,7 @@ class TestMakeFailoverPeerConfig(MAASServerTestCase):
3563 interface=secondary_interface,
3564 )
3565 failover_peer_name = "failover-vlan-%d" % vlan.id
3566- self.assertEquals(
3567+ self.assertEqual(
3568 (
3569 failover_peer_name,
3570 {
3571@@ -2136,7 +2136,7 @@ class TestGetDHCPConfigureFor(MAASServerTestCase):
3572 dhcp_snippets=DHCPSnippet.objects.all(),
3573 )
3574
3575- self.assertEquals(
3576+ self.assertEqual(
3577 {
3578 "name": "failover-vlan-%d" % ha_vlan.id,
3579 "mode": "primary",
3580@@ -2145,7 +2145,7 @@ class TestGetDHCPConfigureFor(MAASServerTestCase):
3581 },
3582 observed_failover,
3583 )
3584- self.assertEquals(
3585+ self.assertEqual(
3586 sorted(
3587 [
3588 {
3589@@ -2297,7 +2297,7 @@ class TestGetDHCPConfigureFor(MAASServerTestCase):
3590 for observed_subnet in observed_subnets:
3591 del observed_subnet["dns_servers"]
3592
3593- self.assertEquals(
3594+ self.assertEqual(
3595 {
3596 "name": "failover-vlan-%d" % ha_vlan.id,
3597 "mode": "primary",
3598@@ -2306,7 +2306,7 @@ class TestGetDHCPConfigureFor(MAASServerTestCase):
3599 },
3600 observed_failover,
3601 )
3602- self.assertEquals(
3603+ self.assertEqual(
3604 sorted(
3605 [
3606 {
3607@@ -3195,7 +3195,7 @@ class TestValidateDHCPConfig(MAASTransactionServerTestCase):
3608 rack_controller, config = self.create_rack_controller()
3609 self.prepare_rpc(rack_controller)
3610
3611- self.assertEquals([], dhcp.validate_dhcp_config())
3612+ self.assertEqual([], dhcp.validate_dhcp_config())
3613
3614 def test_returns_errors_when_invalid(self):
3615 rack_controller, config = self.create_rack_controller()
3616diff --git a/src/maasserver/tests/test_eventloop.py b/src/maasserver/tests/test_eventloop.py
3617index 1483066..83433eb 100644
3618--- a/src/maasserver/tests/test_eventloop.py
3619+++ b/src/maasserver/tests/test_eventloop.py
3620@@ -356,7 +356,7 @@ class TestFactories(MAASServerTestCase):
3621 eventloop.loop.factories["rpc"]["factory"],
3622 )
3623 self.assertFalse(eventloop.loop.factories["rpc"]["only_on_master"])
3624- self.assertEquals(
3625+ self.assertEqual(
3626 ["ipc-worker"], eventloop.loop.factories["rpc"]["requires"]
3627 )
3628
3629@@ -458,7 +458,7 @@ class TestFactories(MAASServerTestCase):
3630 eventloop.loop.factories["web"]["factory"],
3631 )
3632 # Has a dependency of postgres-listener.
3633- self.assertEquals(
3634+ self.assertEqual(
3635 ["postgres-listener-worker", "status-worker"],
3636 eventloop.loop.factories["web"]["requires"],
3637 )
3638@@ -477,7 +477,7 @@ class TestFactories(MAASServerTestCase):
3639 eventloop.loop.factories["rack-controller"]["factory"],
3640 )
3641 # Has a dependency of ipc-worker and postgres-listener.
3642- self.assertEquals(
3643+ self.assertEqual(
3644 ["ipc-worker", "postgres-listener-worker"],
3645 eventloop.loop.factories["rack-controller"]["requires"],
3646 )
3647@@ -495,7 +495,7 @@ class TestFactories(MAASServerTestCase):
3648 eventloop.make_ServiceMonitorService,
3649 eventloop.loop.factories["service-monitor"]["factory"],
3650 )
3651- self.assertEquals(
3652+ self.assertEqual(
3653 [], eventloop.loop.factories["service-monitor"]["requires"]
3654 )
3655 self.assertTrue(
3656@@ -511,7 +511,7 @@ class TestFactories(MAASServerTestCase):
3657 eventloop.loop.factories["status-worker"]["factory"],
3658 )
3659 # Has a dependency of database-tasks.
3660- self.assertEquals(
3661+ self.assertEqual(
3662 ["database-tasks"],
3663 eventloop.loop.factories["status-worker"]["requires"],
3664 )
3665@@ -530,7 +530,7 @@ class TestFactories(MAASServerTestCase):
3666 eventloop.loop.factories["ntp"]["factory"],
3667 )
3668 # Has a no dependencies.
3669- self.assertEquals([], eventloop.loop.factories["ntp"]["requires"])
3670+ self.assertEqual([], eventloop.loop.factories["ntp"]["requires"])
3671 self.assertTrue(eventloop.loop.factories["ntp"]["only_on_master"])
3672
3673 def test_make_SyslogService(self):
3674@@ -542,7 +542,7 @@ class TestFactories(MAASServerTestCase):
3675 eventloop.loop.factories["syslog"]["factory"],
3676 )
3677 # Has a no dependencies.
3678- self.assertEquals([], eventloop.loop.factories["syslog"]["requires"])
3679+ self.assertEqual([], eventloop.loop.factories["syslog"]["requires"])
3680 self.assertTrue(eventloop.loop.factories["syslog"]["only_on_master"])
3681
3682 def test_make_WorkersService(self):
3683@@ -554,7 +554,7 @@ class TestFactories(MAASServerTestCase):
3684 eventloop.loop.factories["workers"]["factory"],
3685 )
3686 # Has a no dependencies.
3687- self.assertEquals([], eventloop.loop.factories["workers"]["requires"])
3688+ self.assertEqual([], eventloop.loop.factories["workers"]["requires"])
3689 self.assertTrue(eventloop.loop.factories["workers"]["only_on_master"])
3690 self.assertTrue(eventloop.loop.factories["workers"]["not_all_in_one"])
3691
3692@@ -567,11 +567,11 @@ class TestFactories(MAASServerTestCase):
3693 eventloop.loop.factories["ipc-master"]["factory"],
3694 )
3695 # Has a no dependencies.
3696- self.assertEquals(
3697+ self.assertEqual(
3698 [], eventloop.loop.factories["ipc-master"]["requires"]
3699 )
3700 # Has an optional dependency on workers.
3701- self.assertEquals(
3702+ self.assertEqual(
3703 ["workers"], eventloop.loop.factories["ipc-master"]["optional"]
3704 )
3705 self.assertTrue(
3706@@ -587,7 +587,7 @@ class TestFactories(MAASServerTestCase):
3707 eventloop.loop.factories["ipc-worker"]["factory"],
3708 )
3709 # Has a no dependencies.
3710- self.assertEquals(
3711+ self.assertEqual(
3712 [], eventloop.loop.factories["ipc-worker"]["requires"]
3713 )
3714 self.assertFalse(
3715diff --git a/src/maasserver/tests/test_fields.py b/src/maasserver/tests/test_fields.py
3716index 7f8e440..926364a 100644
3717--- a/src/maasserver/tests/test_fields.py
3718+++ b/src/maasserver/tests/test_fields.py
3719@@ -835,7 +835,7 @@ class TestVersionedTextFileField(MAASServerTestCase):
3720 data = factory.make_string()
3721 versioned_text_file_field = VersionedTextFileField()
3722 versioned_text_file = versioned_text_file_field.clean(data)
3723- self.assertEquals(data, versioned_text_file.data)
3724+ self.assertEqual(data, versioned_text_file.data)
3725 self.assertIsNone(versioned_text_file.previous_version)
3726
3727 def test_create_requires_value(self):
3728@@ -851,22 +851,22 @@ class TestVersionedTextFileField(MAASServerTestCase):
3729 versioned_text_file = versioned_text_file_field.clean(
3730 {"data": data, "comment": comment}
3731 )
3732- self.assertEquals(data, versioned_text_file.data)
3733- self.assertEquals(comment, versioned_text_file.comment)
3734+ self.assertEqual(data, versioned_text_file.data)
3735+ self.assertEqual(comment, versioned_text_file.comment)
3736 self.assertIsNone(versioned_text_file.previous_version)
3737
3738 def test_update_does_nothing_on_none(self):
3739 data = VersionedTextFile.objects.create(data=factory.make_string())
3740 versioned_text_file_field = VersionedTextFileField(initial=data)
3741- self.assertEquals(data, versioned_text_file_field.clean(None))
3742+ self.assertEqual(data, versioned_text_file_field.clean(None))
3743
3744 def test_creates_new_link(self):
3745 old_ver = VersionedTextFile.objects.create(data=factory.make_string())
3746 versioned_text_file_field = VersionedTextFileField(initial=old_ver)
3747 data = factory.make_string()
3748 new_ver = versioned_text_file_field.clean(data)
3749- self.assertEquals(data, new_ver.data)
3750- self.assertEquals(old_ver, new_ver.previous_version)
3751+ self.assertEqual(data, new_ver.data)
3752+ self.assertEqual(old_ver, new_ver.previous_version)
3753
3754 def test_creates_new_link_accepts_dict(self):
3755 old_ver = VersionedTextFile.objects.create(data=factory.make_string())
3756@@ -876,9 +876,9 @@ class TestVersionedTextFileField(MAASServerTestCase):
3757 new_ver = versioned_text_file_field.clean(
3758 {"new_data": data, "comment": comment}
3759 )
3760- self.assertEquals(data, new_ver.data)
3761- self.assertEquals(comment, new_ver.comment)
3762- self.assertEquals(old_ver, new_ver.previous_version)
3763+ self.assertEqual(data, new_ver.data)
3764+ self.assertEqual(comment, new_ver.comment)
3765+ self.assertEqual(old_ver, new_ver.previous_version)
3766
3767
3768 class TestURLOrPPAValidator(MAASServerTestCase):
3769diff --git a/src/maasserver/tests/test_ipc.py b/src/maasserver/tests/test_ipc.py
3770index a67d826..ee0214a 100644
3771--- a/src/maasserver/tests/test_ipc.py
3772+++ b/src/maasserver/tests/test_ipc.py
3773@@ -54,18 +54,18 @@ class TestGetIPCSocketPath(MAASTestCase):
3774 self.useFixture(
3775 EnvironmentVariableFixture("MAAS_IPC_SOCKET_PATH", path)
3776 )
3777- self.assertEquals(path, get_ipc_socket_path())
3778+ self.assertEqual(path, get_ipc_socket_path())
3779
3780 def test_returns_ipc_from_maas_data(self):
3781 path = factory.make_name("path")
3782 self.useFixture(EnvironmentVariableFixture("MAAS_DATA", path))
3783- self.assertEquals(
3784+ self.assertEqual(
3785 os.path.join(path, "maas-regiond.sock"), get_ipc_socket_path()
3786 )
3787
3788 def test_returns_ipc_at_default_location(self):
3789 self.useFixture(EnvironmentVariableFixture("MAAS_DATA", None))
3790- self.assertEquals(
3791+ self.assertEqual(
3792 "/var/lib/maas/maas-regiond.sock", get_ipc_socket_path()
3793 )
3794
3795@@ -142,15 +142,15 @@ class TestIPCCommunication(MAASTransactionServerTestCase):
3796 return RegionControllerProcess.objects.get(region=region, pid=pid)
3797
3798 process = yield deferToDatabase(getProcessFromDB)
3799- self.assertEquals(process.id, master.connections[pid]["process_id"])
3800+ self.assertEqual(process.id, master.connections[pid]["process_id"])
3801
3802 worker_procId = yield worker.processId.get(timeout=2)
3803- self.assertEquals(process.id, worker_procId)
3804+ self.assertEqual(process.id, worker_procId)
3805
3806 yield worker.stopService()
3807
3808 yield disconnected.get(timeout=2)
3809- self.assertEquals({}, master.connections)
3810+ self.assertEqual({}, master.connections)
3811
3812 process = yield deferToDatabase(reload_object, process)
3813 self.assertIsNone(process)
3814@@ -217,7 +217,7 @@ class TestIPCCommunication(MAASTransactionServerTestCase):
3815 )
3816
3817 endpoints = yield deferToDatabase(getEndpoints)
3818- self.assertEquals(
3819+ self.assertEqual(
3820 master._getListenAddresses(master.connections[pid]["rpc"]["port"]),
3821 endpoints,
3822 )
3823@@ -294,7 +294,7 @@ class TestIPCCommunication(MAASTransactionServerTestCase):
3824
3825 connection = yield deferToDatabase(getConnection)
3826 self.assertIsNotNone(connection)
3827- self.assertEquals(
3828+ self.assertEqual(
3829 {connid: (rackd.system_id, address, port)},
3830 master.connections[pid]["rpc"]["connections"],
3831 )
3832@@ -331,7 +331,7 @@ class TestIPCCommunication(MAASTransactionServerTestCase):
3833 process = yield deferToDatabase(
3834 RegionControllerProcess.objects.get, id=data["process_id"]
3835 )
3836- self.assertEquals(pid, process.pid)
3837+ self.assertEqual(pid, process.pid)
3838
3839 yield master.stopService()
3840
3841@@ -404,7 +404,7 @@ class TestIPCCommunication(MAASTransactionServerTestCase):
3842 yield master.update()
3843
3844 region_process = yield deferToDatabase(reload_object, region_process)
3845- self.assertEquals(current_time, region_process.updated)
3846+ self.assertEqual(current_time, region_process.updated)
3847
3848 yield master.stopService()
3849
3850diff --git a/src/maasserver/tests/test_listener.py b/src/maasserver/tests/test_listener.py
3851index 0e12135..8699b02 100644
3852--- a/src/maasserver/tests/test_listener.py
3853+++ b/src/maasserver/tests/test_listener.py
3854@@ -573,9 +573,9 @@ class TestPostgresListenerService(MAASServerTestCase):
3855 listener = PostgresListenerService()
3856 channel = factory.make_name("channel", sep="_").lower()
3857 listener.register(channel, sentinel.handler)
3858- self.assertEquals({channel: [sentinel.handler]}, listener.listeners)
3859+ self.assertEqual({channel: [sentinel.handler]}, listener.listeners)
3860 listener.unregister(channel, sentinel.handler)
3861- self.assertEquals({}, listener.listeners)
3862+ self.assertEqual({}, listener.listeners)
3863
3864 def test_unregister_removes_handler_others(self):
3865 listener = PostgresListenerService()
3866@@ -583,7 +583,7 @@ class TestPostgresListenerService(MAASServerTestCase):
3867 listener.register(channel, sentinel.handler1)
3868 listener.register(channel, sentinel.handler2)
3869 listener.unregister(channel, sentinel.handler2)
3870- self.assertEquals({channel: [sentinel.handler1]}, listener.listeners)
3871+ self.assertEqual({channel: [sentinel.handler1]}, listener.listeners)
3872
3873 @wait_for_reactor
3874 @inlineCallbacks
3875diff --git a/src/maasserver/tests/test_node_action.py b/src/maasserver/tests/test_node_action.py
3876index add7166..6ec7c70 100644
3877--- a/src/maasserver/tests/test_node_action.py
3878+++ b/src/maasserver/tests/test_node_action.py
3879@@ -370,13 +370,11 @@ class TestCommissionAction(MAASServerTestCase):
3880 )
3881 script_sets = ScriptSet.objects.all()
3882 node = reload_object(node)
3883- self.assertEquals(2, len(script_sets))
3884- self.assertEquals(
3885+ self.assertEqual(2, len(script_sets))
3886+ self.assertEqual(
3887 node.current_commissioning_script_set_id, script_sets[0].id
3888 )
3889- self.assertEquals(
3890- node.current_testing_script_set_id, script_sets[1].id
3891- )
3892+ self.assertEqual(node.current_testing_script_set_id, script_sets[1].id)
3893 self.assertEqual(NODE_STATUS.COMMISSIONING, node.status)
3894 self.assertThat(
3895 node_start,
3896diff --git a/src/maasserver/tests/test_node_constraint_filter_forms.py b/src/maasserver/tests/test_node_constraint_filter_forms.py
3897index 96dd0a6..9c0a514 100644
3898--- a/src/maasserver/tests/test_node_constraint_filter_forms.py
3899+++ b/src/maasserver/tests/test_node_constraint_filter_forms.py
3900@@ -872,7 +872,7 @@ class TestFilterNodeForm(MAASServerTestCase, FilterConstraintsMixin):
3901 _, storage, _ = self.assertConstrainedNodes(
3902 [node1], {"storage": "part:0(partition)"}
3903 )
3904- self.assertEquals(
3905+ self.assertEqual(
3906 {node1.id: {"partition:%d" % partition.id: "part"}}, storage
3907 )
3908
3909@@ -928,7 +928,7 @@ class TestFilterNodeForm(MAASServerTestCase, FilterConstraintsMixin):
3910 _, storage, _ = self.assertConstrainedNodes(
3911 [node1], {"storage": "part:0(partition,ssd-part)"}
3912 )
3913- self.assertEquals(
3914+ self.assertEqual(
3915 {node1.id: {"partition:%d" % partition.id: "part"}}, storage
3916 )
3917
3918@@ -1090,7 +1090,7 @@ class TestFilterNodeForm(MAASServerTestCase, FilterConstraintsMixin):
3919 _, storage, _ = self.assertConstrainedNodes(
3920 [node3], {"storage": "0,4,4,4,part:0(partition)"}
3921 )
3922- self.assertEquals(
3923+ self.assertEqual(
3924 {node3.id: {"partition:%d" % partition.id: "part"}}, storage
3925 )
3926
3927@@ -1203,11 +1203,11 @@ class TestFilterNodeForm(MAASServerTestCase, FilterConstraintsMixin):
3928 value: key for key, value in constraint_map[node.id].items()
3929 }
3930 disk0 = node.blockdevice_set.get(id=constraints["root"])
3931- self.assertEquals(virtual.id, disk0.id)
3932+ self.assertEqual(virtual.id, disk0.id)
3933 disk1 = node.blockdevice_set.get(id=constraints["physical"])
3934- self.assertEquals(physical.id, disk1.id)
3935+ self.assertEqual(physical.id, disk1.id)
3936 disk2 = node.blockdevice_set.get(id=constraints["iscsi"])
3937- self.assertEquals(iscsi.id, disk2.id)
3938+ self.assertEqual(iscsi.id, disk2.id)
3939
3940 def test_fabrics_constraint(self):
3941 fabric1 = factory.make_Fabric(name="fabric1")
3942diff --git a/src/maasserver/tests/test_preseed.py b/src/maasserver/tests/test_preseed.py
3943index dce8a02..8aacc00 100644
3944--- a/src/maasserver/tests/test_preseed.py
3945+++ b/src/maasserver/tests/test_preseed.py
3946@@ -472,7 +472,7 @@ class TestPreseedContext(MAASServerTestCase):
3947 remote_syslog = "192.168.1.1:514"
3948 Config.objects.set_config("remote_syslog", remote_syslog)
3949 context = get_preseed_context(make_HttpRequest())
3950- self.assertEquals(remote_syslog, context["syslog_host_port"])
3951+ self.assertEqual(remote_syslog, context["syslog_host_port"])
3952
3953 def test_get_preseed_context_uses_maas_syslog_port(self):
3954 syslog_port = factory.pick_port()
3955diff --git a/src/maasserver/tests/test_rack_controller.py b/src/maasserver/tests/test_rack_controller.py
3956index ef255f9..01dda0c 100644
3957--- a/src/maasserver/tests/test_rack_controller.py
3958+++ b/src/maasserver/tests/test_rack_controller.py
3959@@ -212,8 +212,8 @@ class TestRackControllerService(
3960 listener.register(f"sys_dhcp_{rack_id}", service.dhcpHandler)
3961 service.coreHandler("sys_core_%d" % processId, "unwatch_%d" % rack_id)
3962 self.assertNotIn(f"sys_dhcp_{rack_id}", listener.listeners)
3963- self.assertEquals(set(), service.watching)
3964- self.assertEquals(set(), service.needsDHCPUpdate)
3965+ self.assertEqual(set(), service.watching)
3966+ self.assertEqual(set(), service.needsDHCPUpdate)
3967
3968 def test_coreHandler_unwatch_doesnt_call_unregister(self):
3969 processId = random.randint(0, 100)
3970@@ -240,8 +240,8 @@ class TestRackControllerService(
3971 dhcp_channel = f"sys_dhcp_{rack_id}"
3972 self.assertIn(dhcp_channel, listener.listeners)
3973 self.assertIn(service.dhcpHandler, listener.listeners[dhcp_channel])
3974- self.assertEquals(set([rack_id]), service.watching)
3975- self.assertEquals(set([rack_id]), service.needsDHCPUpdate)
3976+ self.assertEqual(set([rack_id]), service.watching)
3977+ self.assertEqual(set([rack_id]), service.needsDHCPUpdate)
3978 self.assertThat(mock_startProcessing, MockCalledOnceWith())
3979
3980 def test_coreHandler_watch_doesnt_call_register(self):
3981@@ -256,8 +256,8 @@ class TestRackControllerService(
3982 service.coreHandler(sys_channel, "watch_%d" % rack_id)
3983 self.assertNotIn(sys_channel, listener.listeners)
3984 self.assertNotIn(sys_channel, listener.registeredChannels)
3985- self.assertEquals(set([rack_id]), service.watching)
3986- self.assertEquals(set([rack_id]), service.needsDHCPUpdate)
3987+ self.assertEqual(set([rack_id]), service.watching)
3988+ self.assertEqual(set([rack_id]), service.needsDHCPUpdate)
3989 self.assertThat(mock_startProcessing, MockCalledOnceWith())
3990
3991 def test_coreHandler_raises_ValueError_for_unknown_action(self):
3992@@ -278,7 +278,7 @@ class TestRackControllerService(
3993 service.watching = set([rack_id])
3994 mock_startProcessing = self.patch(service, "startProcessing")
3995 service.dhcpHandler("sys_dhcp_%d" % rack_id, "")
3996- self.assertEquals(set([rack_id]), service.needsDHCPUpdate)
3997+ self.assertEqual(set([rack_id]), service.needsDHCPUpdate)
3998 self.assertThat(mock_startProcessing, MockCalledOnceWith())
3999
4000 def test_dhcpHandler_doesnt_add_to_needsDHCPUpdate(self):
4001@@ -287,7 +287,7 @@ class TestRackControllerService(
4002 service = RackControllerService(sentinel.ipcWorker, listener)
4003 mock_startProcessing = self.patch(service, "startProcessing")
4004 service.dhcpHandler("sys_dhcp_%d" % rack_id, "")
4005- self.assertEquals(set(), service.needsDHCPUpdate)
4006+ self.assertEqual(set(), service.needsDHCPUpdate)
4007 self.assertThat(mock_startProcessing, MockNotCalled())
4008
4009 def test_startProcessing_doesnt_call_start_when_looping_call_running(self):
4010diff --git a/src/maasserver/tests/test_region_controller.py b/src/maasserver/tests/test_region_controller.py
4011index 625314f..aad8dc5 100644
4012--- a/src/maasserver/tests/test_region_controller.py
4013+++ b/src/maasserver/tests/test_region_controller.py
4014@@ -554,7 +554,7 @@ class TestRegionControllerService(MAASServerTestCase):
4015 action=RBAC_ACTION.REMOVE, resource_id=4, resource_name="r-4"
4016 ),
4017 ]
4018- self.assertEquals(
4019+ self.assertEqual(
4020 (
4021 [
4022 Resource(identifier=2, name="r-2"),
4023@@ -704,7 +704,7 @@ class TestRegionControllerServiceTransactional(MAASTransactionServerTestCase):
4024 service = RegionControllerService(sentinel.listener)
4025 self.patch(service, "_getRBACClient").return_value = rbac_client
4026
4027- self.assertEquals([], service._rbacSync())
4028+ self.assertEqual([], service._rbacSync())
4029 self.assertThat(
4030 rbac_client.update_resources,
4031 MockCalledOnceWith("resource-pool", updates=resources),
4032@@ -730,7 +730,7 @@ class TestRegionControllerServiceTransactional(MAASTransactionServerTestCase):
4033 self.patch(service, "_getRBACClient").return_value = rbac_client
4034 service.rbacInit = True
4035
4036- self.assertEquals(reasons, service._rbacSync())
4037+ self.assertEqual(reasons, service._rbacSync())
4038 self.assertThat(
4039 rbac_client.update_resources,
4040 MockCalledOnceWith(
4041@@ -764,7 +764,7 @@ class TestRegionControllerServiceTransactional(MAASTransactionServerTestCase):
4042 self.patch(service, "_getRBACClient").return_value = rbac_client
4043 service.rbacInit = True
4044
4045- self.assertEquals(reasons, service._rbacSync())
4046+ self.assertEqual(reasons, service._rbacSync())
4047 self.assertThat(
4048 rbac_client.update_resources,
4049 MockCallsMatch(
4050diff --git a/src/maasserver/tests/test_start_up.py b/src/maasserver/tests/test_start_up.py
4051index 0ef1397..30b267c 100644
4052--- a/src/maasserver/tests/test_start_up.py
4053+++ b/src/maasserver/tests/test_start_up.py
4054@@ -127,7 +127,7 @@ class TestInnerStartUp(MAASServerTestCase):
4055 with post_commit_hooks:
4056 start_up.inner_start_up(master=True)
4057 ubuntu = UbuntuOS()
4058- self.assertEquals(
4059+ self.assertEqual(
4060 Config.objects.get_config("commissioning_distro_series"),
4061 ubuntu.get_default_commissioning_release(),
4062 )
4063@@ -142,7 +142,7 @@ class TestInnerStartUp(MAASServerTestCase):
4064 Config.objects.set_config("commissioning_distro_series", release)
4065 with post_commit_hooks:
4066 start_up.inner_start_up(master=False)
4067- self.assertEquals(
4068+ self.assertEqual(
4069 Config.objects.get_config("commissioning_distro_series"), release
4070 )
4071 self.assertFalse(
4072diff --git a/src/maasserver/tests/test_stats.py b/src/maasserver/tests/test_stats.py
4073index 3a74a20..7c5f886 100644
4074--- a/src/maasserver/tests/test_stats.py
4075+++ b/src/maasserver/tests/test_stats.py
4076@@ -67,7 +67,7 @@ class TestMAASStats(MAASServerTestCase):
4077 factory.make_Machine(architecture=arch)
4078 stats = get_machines_by_architecture()
4079 compare = {"amd64": 1, "i386": 1, "arm64": 1, "ppc64el": 1, "s390x": 1}
4080- self.assertEquals(stats, compare)
4081+ self.assertEqual(stats, compare)
4082
4083 def test_get_kvm_pods_stats(self):
4084 pod1 = self.make_pod(
4085@@ -101,7 +101,7 @@ class TestMAASStats(MAASServerTestCase):
4086 },
4087 "kvm_utilized_resources": {"cores": 0, "memory": 0, "storage": 0},
4088 }
4089- self.assertEquals(compare, stats)
4090+ self.assertEqual(compare, stats)
4091
4092 def test_get_kvm_pods_stats_no_pod(self):
4093 self.assertEqual(
4094@@ -183,7 +183,7 @@ class TestMAASStats(MAASServerTestCase):
4095 "subnets_v6": len(v6),
4096 },
4097 }
4098- self.assertEquals(json.loads(stats), expected)
4099+ self.assertEqual(json.loads(stats), expected)
4100
4101 def test_get_maas_stats_no_machines(self):
4102 expected = {
4103@@ -224,7 +224,7 @@ class TestMAASStats(MAASServerTestCase):
4104 json.dumps(get_maas_stats()).encode()
4105 ).decode()
4106 }
4107- self.assertEquals(params, get_request_params())
4108+ self.assertEqual(params, get_request_params())
4109
4110 def test_make_user_agent_request(self):
4111 factory.make_RegionRackController()
4112diff --git a/src/maasserver/tests/test_status_monitor.py b/src/maasserver/tests/test_status_monitor.py
4113index c89342c..09b3ad5 100644
4114--- a/src/maasserver/tests/test_status_monitor.py
4115+++ b/src/maasserver/tests/test_status_monitor.py
4116@@ -55,7 +55,7 @@ class TestMarkNodesFailedAfterExpiring(MAASServerTestCase):
4117 )
4118 # MAAS logs in the status_monitor that the timeout was detected. It
4119 # then logs the transisition in the node signal handler.
4120- self.assertEquals(
4121+ self.assertEqual(
4122 len(NODE_FAILURE_MONITORED_STATUS_TRANSITIONS),
4123 len(maaslog.call_args_list) / 2,
4124 )
4125@@ -128,7 +128,7 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4126 # No exception should be raised.
4127 mark_nodes_failed_after_missing_script_timeout(now(), 20)
4128 node = reload_object(node)
4129- self.assertEquals(self.status, node.status)
4130+ self.assertEqual(self.status, node.status)
4131 self.assertThat(self.maaslog, MockNotCalled())
4132
4133 def test_mark_nodes_failed_after_missing_timeout_heartbeat(self):
4134@@ -151,8 +151,8 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4135 )
4136 node = reload_object(node)
4137
4138- self.assertEquals(self.failed_status, node.status)
4139- self.assertEquals(
4140+ self.assertEqual(self.failed_status, node.status)
4141+ self.assertEqual(
4142 "Node has not been heard from for the last %s minutes"
4143 % node_timeout,
4144 node.error_description,
4145@@ -173,7 +173,7 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4146 self.maaslog.call_args_list,
4147 )
4148 for script_result in script_results:
4149- self.assertEquals(
4150+ self.assertEqual(
4151 SCRIPT_STATUS.TIMEDOUT, reload_object(script_result).status
4152 )
4153
4154@@ -194,7 +194,7 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4155 mark_nodes_failed_after_missing_script_timeout(current_time, 20)
4156 node = reload_object(node)
4157
4158- self.assertEquals(
4159+ self.assertEqual(
4160 current_time
4161 - (current_time - script_set.last_ping)
4162 + timedelta(minutes=get_node_timeout(self.status, 20)),
4163@@ -226,8 +226,8 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4164 mark_nodes_failed_after_missing_script_timeout(current_time, 20)
4165 node = reload_object(node)
4166
4167- self.assertEquals(self.failed_status, node.status)
4168- self.assertEquals(
4169+ self.assertEqual(self.failed_status, node.status)
4170+ self.assertEqual(
4171 "%s has run past it's timeout(%s)"
4172 % (
4173 running_script_result.name,
4174@@ -254,16 +254,16 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4175 call("%s: Stopped because SSH is disabled" % node.hostname),
4176 self.maaslog.call_args_list,
4177 )
4178- self.assertEquals(
4179+ self.assertEqual(
4180 SCRIPT_STATUS.PASSED, reload_object(passed_script_result).status
4181 )
4182- self.assertEquals(
4183+ self.assertEqual(
4184 SCRIPT_STATUS.FAILED, reload_object(failed_script_result).status
4185 )
4186- self.assertEquals(
4187+ self.assertEqual(
4188 SCRIPT_STATUS.ABORTED, reload_object(pending_script_result).status
4189 )
4190- self.assertEquals(
4191+ self.assertEqual(
4192 SCRIPT_STATUS.TIMEDOUT, reload_object(running_script_result).status
4193 )
4194
4195@@ -293,18 +293,18 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4196 mark_nodes_failed_after_missing_script_timeout(current_time, 20)
4197 node = reload_object(node)
4198
4199- self.assertEquals(self.status, node.status)
4200+ self.assertEqual(self.status, node.status)
4201 self.assertThat(self.mock_stop, MockNotCalled())
4202- self.assertEquals(
4203+ self.assertEqual(
4204 SCRIPT_STATUS.PASSED, reload_object(passed_script_result).status
4205 )
4206- self.assertEquals(
4207+ self.assertEqual(
4208 SCRIPT_STATUS.FAILED, reload_object(failed_script_result).status
4209 )
4210- self.assertEquals(
4211+ self.assertEqual(
4212 SCRIPT_STATUS.PENDING, reload_object(pending_script_result).status
4213 )
4214- self.assertEquals(
4215+ self.assertEqual(
4216 SCRIPT_STATUS.RUNNING, reload_object(running_script_result).status
4217 )
4218
4219@@ -352,8 +352,8 @@ class TestMarkNodesFailedAfterMissingScriptTimeout(MAASServerTestCase):
4220 # 5. Get all testing ScriptResults
4221 # 6. Get all commissioning Scripts
4222 # 7. Get all testing Scripts
4223- self.assertEquals(7, counter_one.num_queries)
4224- self.assertEquals(7, counter_many.num_queries)
4225+ self.assertEqual(7, counter_one.num_queries)
4226+ self.assertEqual(7, counter_many.num_queries)
4227
4228
4229 class TestStatusMonitorService(MAASServerTestCase):
4230diff --git a/src/maasserver/tests/test_storage_layouts.py b/src/maasserver/tests/test_storage_layouts.py
4231index a15d202..29dcffa 100644
4232--- a/src/maasserver/tests/test_storage_layouts.py
4233+++ b/src/maasserver/tests/test_storage_layouts.py
4234@@ -120,13 +120,13 @@ class TestGetAppliedStorageLayoutForNode(MAASServerTestCase):
4235 )
4236 layout = self.layout_class(node)
4237 layout.configure()
4238- self.assertEquals(
4239+ self.assertEqual(
4240 (bd, self.layout_name), get_applied_storage_layout_for_node(node)
4241 )
4242
4243 def test_returns_unknown(self):
4244 node = factory.make_Node()
4245- self.assertEquals(
4246+ self.assertEqual(
4247 (None, "unknown"), get_applied_storage_layout_for_node(node)
4248 )
4249
4250@@ -418,7 +418,7 @@ class TestStorageLayoutBase(MAASServerTestCase):
4251 factory.make_PhysicalBlockDevice(node=node, size=LARGE_BLOCK_DEVICE)
4252 layout = StorageLayoutBase(node, {})
4253 self.assertTrue(layout.is_valid(), layout.errors)
4254- self.assertEquals(node.get_boot_disk(), layout.get_root_device())
4255+ self.assertEqual(node.get_boot_disk(), layout.get_root_device())
4256
4257 def test_get_root_device_returns_root_device_if_set(self):
4258 node = make_Node_with_uefi_boot_method()
4259@@ -959,7 +959,7 @@ class TestFlatStorageLayout(MAASServerTestCase, LayoutHelpersMixin):
4260 )
4261 layout = FlatStorageLayout(node)
4262 layout.configure()
4263- self.assertEquals(bd, layout.is_layout())
4264+ self.assertEqual(bd, layout.is_layout())
4265
4266 def test_is_layout_without_uefi(self):
4267 node = make_arm64_Node_without_uefi_boot_method()
4268@@ -968,7 +968,7 @@ class TestFlatStorageLayout(MAASServerTestCase, LayoutHelpersMixin):
4269 )
4270 layout = FlatStorageLayout(node)
4271 layout.configure()
4272- self.assertEquals(bd, layout.is_layout())
4273+ self.assertEqual(bd, layout.is_layout())
4274
4275 def test_is_layout_returns_none_when_not_found(self):
4276 node = make_Node_with_uefi_boot_method()
4277@@ -1275,7 +1275,7 @@ class TestLVMStorageLayout(MAASServerTestCase, LayoutHelpersMixin):
4278 )
4279 layout = LVMStorageLayout(node)
4280 layout.configure()
4281- self.assertEquals(bd, layout.is_layout())
4282+ self.assertEqual(bd, layout.is_layout())
4283
4284 def test_is_layout_without_uefi(self):
4285 node = make_arm64_Node_without_uefi_boot_method()
4286@@ -1284,7 +1284,7 @@ class TestLVMStorageLayout(MAASServerTestCase, LayoutHelpersMixin):
4287 )
4288 layout = LVMStorageLayout(node)
4289 layout.configure()
4290- self.assertEquals(bd, layout.is_layout())
4291+ self.assertEqual(bd, layout.is_layout())
4292
4293 def test_is_layout_returns_none_when_not_found(self):
4294 node = make_Node_with_uefi_boot_method()
4295@@ -1805,7 +1805,7 @@ class TestBcacheStorageLayout(MAASServerTestCase):
4296 )
4297 layout = BcacheStorageLayout(node)
4298 layout.configure()
4299- self.assertEquals(bd, layout.is_layout())
4300+ self.assertEqual(bd, layout.is_layout())
4301
4302 def test_is_layout_without_uefi(self):
4303 node = make_arm64_Node_without_uefi_boot_method()
4304@@ -1817,7 +1817,7 @@ class TestBcacheStorageLayout(MAASServerTestCase):
4305 )
4306 layout = BcacheStorageLayout(node, {"cache_no_part": True})
4307 layout.configure()
4308- self.assertEquals(bd, layout.is_layout())
4309+ self.assertEqual(bd, layout.is_layout())
4310
4311 def test_is_layout_returns_none_when_not_found(self):
4312 node = make_Node_with_uefi_boot_method()
4313@@ -1953,7 +1953,7 @@ class TestVMFS6StorageLayout(MAASServerTestCase):
4314 )
4315 layout = VMFS6StorageLayout(node)
4316 layout.configure()
4317- self.assertEquals(bd, layout.is_layout())
4318+ self.assertEqual(bd, layout.is_layout())
4319
4320 def test_is_layout_without_datastore(self):
4321 node = make_Node_with_uefi_boot_method()
4322@@ -1965,7 +1965,7 @@ class TestVMFS6StorageLayout(MAASServerTestCase):
4323 # A user can delete the VMFS Datastore but the layout should still
4324 # be detected for the UI.
4325 node.virtualblockdevice_set.delete()
4326- self.assertEquals(bd, layout.is_layout())
4327+ self.assertEqual(bd, layout.is_layout())
4328
4329 def test_is_layout_returns_none_when_not_found(self):
4330 node = make_Node_with_uefi_boot_method()
4331@@ -2007,8 +2007,8 @@ class TestBlankStorageLayout(MAASServerTestCase):
4332 layout = BlankStorageLayout(node)
4333 if self.layout_class != BlankStorageLayout:
4334 self.assertIsNone(layout.is_layout())
4335- self.assertEquals("blank", layout.configure())
4336- self.assertEquals(bd, layout.is_layout())
4337+ self.assertEqual("blank", layout.configure())
4338+ self.assertEqual(bd, layout.is_layout())
4339 self.assertFalse(node.virtualblockdevice_set.exists())
4340 for bd in node.blockdevice_set.all():
4341 self.assertFalse(bd.filesystem_set.exists())
4342diff --git a/src/maasserver/tests/test_workers.py b/src/maasserver/tests/test_workers.py
4343index d9cfe0c..e0575ff 100644
4344--- a/src/maasserver/tests/test_workers.py
4345+++ b/src/maasserver/tests/test_workers.py
4346@@ -29,14 +29,14 @@ class TestWorkersCount(MAASTestCase):
4347 def test_MAX_WORKERS_COUNT_default_cpucount(self):
4348 from maasserver.workers import MAX_WORKERS_COUNT
4349
4350- self.assertEquals(os.cpu_count(), MAX_WORKERS_COUNT)
4351+ self.assertEqual(os.cpu_count(), MAX_WORKERS_COUNT)
4352
4353 def test_set_max_workers_count(self):
4354 worker_count = random.randint(1, 8)
4355 set_max_workers_count(worker_count)
4356 from maasserver.workers import MAX_WORKERS_COUNT
4357
4358- self.assertEquals(worker_count, MAX_WORKERS_COUNT)
4359+ self.assertEqual(worker_count, MAX_WORKERS_COUNT)
4360
4361
4362 class TestWorkersService(MAASTestCase):
4363@@ -47,8 +47,8 @@ class TestWorkersService(MAASTestCase):
4364
4365 from maasserver.workers import MAX_WORKERS_COUNT
4366
4367- self.assertEquals(MAX_WORKERS_COUNT, service.worker_count)
4368- self.assertEquals(sys.argv[0], service.worker_cmd)
4369+ self.assertEqual(MAX_WORKERS_COUNT, service.worker_count)
4370+ self.assertEqual(sys.argv[0], service.worker_cmd)
4371
4372 def test_calls_spawnWorkers_on_start(self):
4373 service = WorkersService(reactor)
4374@@ -87,12 +87,12 @@ class TestWorkersService(MAASTestCase):
4375 try:
4376 service.startService()
4377
4378- self.assertEquals(1, len(service.workers))
4379+ self.assertEqual(1, len(service.workers))
4380 pid = list(service.workers.keys())[0]
4381 service.killWorker(pid)
4382 yield dv.get(timeout=2)
4383 self.assertNotIn(pid, service.workers)
4384- self.assertEquals(1, len(service.workers))
4385+ self.assertEqual(1, len(service.workers))
4386 finally:
4387 service.stopService()
4388
4389@@ -115,12 +115,12 @@ class TestWorkersService(MAASTestCase):
4390 try:
4391 service.startService()
4392
4393- self.assertEquals(1, len(service.workers))
4394+ self.assertEqual(1, len(service.workers))
4395 pid = list(service.workers.keys())[0]
4396 service.termWorker(pid)
4397 yield dv.get(timeout=2)
4398 self.assertNotIn(pid, service.workers)
4399- self.assertEquals(1, len(service.workers))
4400+ self.assertEqual(1, len(service.workers))
4401 finally:
4402 service.stopService()
4403
4404@@ -142,7 +142,7 @@ class TestWorkersService(MAASTestCase):
4405
4406 try:
4407 service.startService()
4408- self.assertEquals(1, len(service.workers))
4409+ self.assertEqual(1, len(service.workers))
4410 finally:
4411 service.stopService()
4412
4413diff --git a/src/maasserver/triggers/tests/test_system_listener.py b/src/maasserver/triggers/tests/test_system_listener.py
4414index 1573f02..6189c4c 100644
4415--- a/src/maasserver/triggers/tests/test_system_listener.py
4416+++ b/src/maasserver/triggers/tests/test_system_listener.py
4417@@ -4104,7 +4104,7 @@ class TestDNSDNSResourceListener(
4418 for pub in DNSPublication.objects.order_by("-id")[:2]
4419 ]
4420 )
4421- self.assertEquals(
4422+ self.assertEqual(
4423 list(sources),
4424 [
4425 "zone %s removed resource %s"
4426@@ -4683,7 +4683,7 @@ class TestDNSInterfaceListener(
4427 for pub in DNSPublication.objects.order_by("-id")[:2]
4428 ]
4429 )
4430- self.assertEquals(
4431+ self.assertEqual(
4432 list(sources),
4433 [
4434 "node %s removed interface %s" % (old_hostname, nic_name),
4435diff --git a/src/maasserver/utils/tests/test_osystems.py b/src/maasserver/utils/tests/test_osystems.py
4436index ef11c9f..541ee16 100644
4437--- a/src/maasserver/utils/tests/test_osystems.py
4438+++ b/src/maasserver/utils/tests/test_osystems.py
4439@@ -590,7 +590,7 @@ class TestGetReleaseVersionFromString(MAASServerTestCase):
4440 )
4441
4442 def test_get_release_version_from_string(self):
4443- self.assertEquals(
4444+ self.assertEqual(
4445 self.expected, get_release_version_from_string(self.string)
4446 )
4447
4448@@ -786,7 +786,7 @@ class TestValidateHweKernel(MAASServerTestCase):
4449 None, "hwe-16.04-edge", "%s/generic" % arch, "ubuntu", "xenial"
4450 )
4451
4452- self.assertEquals("hwe-16.04-edge", kernel)
4453+ self.assertEqual("hwe-16.04-edge", kernel)
4454 self.assertThat(
4455 mock_get_usable_hwe_kernels,
4456 MockCalledOnceWith("ubuntu/xenial", arch, "generic"),
4457@@ -799,10 +799,10 @@ class TestValidateMinHweKernel(MAASServerTestCase):
4458 self.patch(
4459 BootResource.objects, "get_supported_hwe_kernels"
4460 ).return_value = (kernel,)
4461- self.assertEquals(kernel, validate_min_hwe_kernel(kernel))
4462+ self.assertEqual(kernel, validate_min_hwe_kernel(kernel))
4463
4464 def test_returns_empty_string_when_none(self):
4465- self.assertEquals("", validate_min_hwe_kernel(None))
4466+ self.assertEqual("", validate_min_hwe_kernel(None))
4467
4468 def test_raises_exception_when_not_found(self):
4469 self.assertRaises(
4470@@ -886,21 +886,21 @@ class TestGetReleaseFromDB(MAASServerTestCase):
4471
4472 def test_finds_by_subarch(self):
4473 release = self.make_boot_source_cache()
4474- self.assertEquals(
4475+ self.assertEqual(
4476 release["series"],
4477 get_release_from_db(release["version"].split(" ")[0])["series"],
4478 )
4479
4480 def test_finds_by_release(self):
4481 release = self.make_boot_source_cache()
4482- self.assertEquals(
4483+ self.assertEqual(
4484 release["version"],
4485 get_release_from_db(release["series"])["version"],
4486 )
4487
4488 def test_finds_by_release_first_letter(self):
4489 release = self.make_boot_source_cache()
4490- self.assertEquals(
4491+ self.assertEqual(
4492 release["version"],
4493 get_release_from_db(release["series"][0])["version"],
4494 )
4495diff --git a/src/maasserver/utils/tests/test_storage.py b/src/maasserver/utils/tests/test_storage.py
4496index 695aed0..88761c9 100644
4497--- a/src/maasserver/utils/tests/test_storage.py
4498+++ b/src/maasserver/utils/tests/test_storage.py
4499@@ -174,4 +174,4 @@ class TestUsedFor(MAASServerTestCase):
4500 def test_vmfs(self):
4501 vmfs = factory.make_VMFS()
4502 part = vmfs.filesystems.first().partition
4503- self.assertEquals("VMFS extent for %s" % vmfs.name, used_for(part))
4504+ self.assertEqual("VMFS extent for %s" % vmfs.name, used_for(part))
4505diff --git a/src/maasserver/utils/tests/test_utils.py b/src/maasserver/utils/tests/test_utils.py
4506index 34c6311..5fd47f4 100644
4507--- a/src/maasserver/utils/tests/test_utils.py
4508+++ b/src/maasserver/utils/tests/test_utils.py
4509@@ -223,7 +223,7 @@ class TestFindRackController(MAASServerTestCase):
4510 subnet.vlan.dhcp_on = True
4511 subnet.vlan.primary_rack = rack_controller
4512 subnet.vlan.save()
4513- self.assertEquals(
4514+ self.assertEqual(
4515 rack_controller.system_id,
4516 find_rack_controller(
4517 make_request(factory.pick_ip_in_Subnet(subnet))
4518@@ -305,13 +305,13 @@ class GetRemoteIPTest(MAASTestCase):
4519 ip_address = factory.make_ipv4_address()
4520 request = HttpRequest()
4521 request.META = {"HTTP_X_FORWARDED_FOR": ip_address}
4522- self.assertEquals(ip_address, get_remote_ip(request))
4523+ self.assertEqual(ip_address, get_remote_ip(request))
4524
4525 def test_gets_client_ipv6_for_HTTP_X_FORWARDED_FOR(self):
4526 ip_address = factory.make_ipv6_address()
4527 request = HttpRequest()
4528 request.META = {"HTTP_X_FORWARDED_FOR": ip_address}
4529- self.assertEquals(ip_address, get_remote_ip(request))
4530+ self.assertEqual(ip_address, get_remote_ip(request))
4531
4532 def test_gets_client_ip_for_X_FORWARDED_FOR_with_proxies(self):
4533 ip_address = factory.make_ipv4_address()
4534@@ -321,19 +321,19 @@ class GetRemoteIPTest(MAASTestCase):
4535 request.META = {
4536 "HTTP_X_FORWARDED_FOR": "%s, %s, %s" % (ip_address, proxy1, proxy2)
4537 }
4538- self.assertEquals(ip_address, get_remote_ip(request))
4539+ self.assertEqual(ip_address, get_remote_ip(request))
4540
4541 def test_gets_client_ipv4_for_REMOTE_ADDR(self):
4542 ip_address = factory.make_ipv4_address()
4543 request = HttpRequest()
4544 request.META = {"REMOTE_ADDR": ip_address}
4545- self.assertEquals(ip_address, get_remote_ip(request))
4546+ self.assertEqual(ip_address, get_remote_ip(request))
4547
4548 def test_gets_client_ipv6_for_REMOTE_ADDR(self):
4549 ip_address = factory.make_ipv6_address()
4550 request = HttpRequest()
4551 request.META = {"REMOTE_ADDR": ip_address}
4552- self.assertEquals(ip_address, get_remote_ip(request))
4553+ self.assertEqual(ip_address, get_remote_ip(request))
4554
4555 def test_fallsback_to_REMOTE_ADDR_for_invalid_X_FORWARDED_FOR(self):
4556 ip_address = factory.make_ipv4_address()
4557@@ -342,7 +342,7 @@ class GetRemoteIPTest(MAASTestCase):
4558 "HTTP_X_FORWARDED_FOR": factory.make_name("garbage ip"),
4559 "REMOTE_ADDR": ip_address,
4560 }
4561- self.assertEquals(ip_address, get_remote_ip(request))
4562+ self.assertEqual(ip_address, get_remote_ip(request))
4563
4564 def test_returns_None_for_invalid_ip(self):
4565 ip_address = factory.make_name("garbage ip")
4566diff --git a/src/maasserver/views/tests/test_account.py b/src/maasserver/views/tests/test_account.py
4567index ce954da..092c23f 100644
4568--- a/src/maasserver/views/tests/test_account.py
4569+++ b/src/maasserver/views/tests/test_account.py
4570@@ -130,7 +130,7 @@ class TestLogin(MAASServerTestCase):
4571 )
4572 event = Event.objects.get(type__level=AUDIT)
4573 self.assertIsNotNone(event)
4574- self.assertEquals(event.description, "Logged in user.")
4575+ self.assertEqual(event.description, "Logged in user.")
4576
4577
4578 class TestLogout(MAASServerTestCase):
4579@@ -164,7 +164,7 @@ class TestLogout(MAASServerTestCase):
4580 self.client.post(reverse("logout"))
4581 event = Event.objects.get(type__level=AUDIT)
4582 self.assertIsNotNone(event)
4583- self.assertEquals(event.description, "Logged out user.")
4584+ self.assertEqual(event.description, "Logged out user.")
4585
4586
4587 def token_to_dict(token):
4588@@ -329,7 +329,7 @@ class TestAuthenticate(MAASServerTestCase):
4589 )
4590 event = Event.objects.get(type__level=AUDIT)
4591 self.assertIsNotNone(event)
4592- self.assertEquals(event.description, "Retrieved API (OAuth) token.")
4593+ self.assertEqual(event.description, "Retrieved API (OAuth) token.")
4594
4595 def test_authenticate_creates_audit_event_without_tokens(self):
4596 username = factory.make_name("username")
4597@@ -347,7 +347,7 @@ class TestAuthenticate(MAASServerTestCase):
4598 )
4599 event = Event.objects.get(type__level=AUDIT)
4600 self.assertIsNotNone(event)
4601- self.assertEquals(event.description, "Created API (OAuth) token.")
4602+ self.assertEqual(event.description, "Created API (OAuth) token.")
4603
4604
4605 class TestCSRF(MAASServerTestCase):
4606diff --git a/src/maasserver/websockets/handlers/tests/test_bootresource.py b/src/maasserver/websockets/handlers/tests/test_bootresource.py
4607index e8c889f..7b55a11 100644
4608--- a/src/maasserver/websockets/handlers/tests/test_bootresource.py
4609+++ b/src/maasserver/websockets/handlers/tests/test_bootresource.py
4610@@ -284,7 +284,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4611 handler = BootResourceHandler(owner, {}, None)
4612 response = handler.poll({})
4613 json_obj = json.loads(response)
4614- self.assertEquals(
4615+ self.assertEqual(
4616 commissioning_series.value,
4617 json_obj["ubuntu"]["commissioning_series"],
4618 )
4619@@ -704,7 +704,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4620 response = handler.poll({})
4621 json_obj = json.loads(response)
4622 ubuntu_core_images = json_obj["ubuntu_core_images"]
4623- self.assertEquals(
4624+ self.assertEqual(
4625 [
4626 {
4627 "name": "%s/%s/%s/%s"
4628@@ -730,7 +730,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4629 response = handler.poll({})
4630 json_obj = json.loads(response)
4631 ubuntu_core_images = json_obj["ubuntu_core_images"]
4632- self.assertEquals(
4633+ self.assertEqual(
4634 [
4635 {
4636 "name": "%s/%s/%s/%s"
4637@@ -750,7 +750,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4638 response = handler.poll({})
4639 json_obj = json.loads(response)
4640 other_images = json_obj["other_images"]
4641- self.assertEquals(
4642+ self.assertEqual(
4643 [
4644 {
4645 "name": "%s/%s/%s/%s"
4646@@ -776,7 +776,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4647 response = handler.poll({})
4648 json_obj = json.loads(response)
4649 other_images = json_obj["other_images"]
4650- self.assertEquals(
4651+ self.assertEqual(
4652 [
4653 {
4654 "name": "%s/%s/%s/%s"
4655@@ -796,7 +796,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4656 factory.make_BootSourceCache(os="ubuntu-core")
4657 response = handler.poll({})
4658 json_obj = json.loads(response)
4659- self.assertEquals([], json_obj["other_images"])
4660+ self.assertEqual([], json_obj["other_images"])
4661
4662 def test_other_images_filters_out_bootloaders(self):
4663 owner = factory.make_admin()
4664@@ -806,7 +806,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4665 )
4666 response = handler.poll({})
4667 json_obj = json.loads(response)
4668- self.assertEquals([], json_obj["other_images"])
4669+ self.assertEqual([], json_obj["other_images"])
4670
4671 def test_prefers_title_from_boot_resource_extra(self):
4672 owner = factory.make_admin()
4673@@ -815,7 +815,7 @@ class TestBootResourcePoll(MAASServerTestCase, PatchOSInfoMixin):
4674 self.make_other_resource(extra={"title": title})
4675 response = handler.poll({})
4676 json_obj = json.loads(response)
4677- self.assertEquals(title, json_obj["resources"][0]["title"])
4678+ self.assertEqual(title, json_obj["resources"][0]["title"])
4679
4680
4681 class TestBootResourceStopImport(MAASTransactionServerTestCase):
4682@@ -830,7 +830,7 @@ class TestBootResourceStopImport(MAASTransactionServerTestCase):
4683 mock_stop_import = self.patch_stop_import_resources()
4684 result = handler.stop_import({})
4685 self.assertThat(mock_stop_import, MockCalledOnceWith())
4686- self.assertEquals(handler.poll({}), result)
4687+ self.assertEqual(handler.poll({}), result)
4688
4689
4690 class TestBootResourceSaveUbuntu(
4691diff --git a/src/maasserver/websockets/handlers/tests/test_config.py b/src/maasserver/websockets/handlers/tests/test_config.py
4692index eccae08..2774982 100644
4693--- a/src/maasserver/websockets/handlers/tests/test_config.py
4694+++ b/src/maasserver/websockets/handlers/tests/test_config.py
4695@@ -52,7 +52,7 @@ class TestConfigHandler(MAASServerTestCase):
4696 user = factory.make_User()
4697 handler = ConfigHandler(user, {}, None)
4698 Config.objects.set_config("curtin_verbose", True)
4699- self.assertEquals(
4700+ self.assertEqual(
4701 {"name": "curtin_verbose", "value": True},
4702 handler.get({"name": "curtin_verbose"}),
4703 )
4704@@ -62,7 +62,7 @@ class TestConfigHandler(MAASServerTestCase):
4705 handler = ConfigHandler(user, {}, None)
4706 Config.objects.set_config("curtin_verbose", True)
4707 handler.get({"name": "curtin_verbose"})
4708- self.assertEquals({"curtin_verbose"}, handler.cache["loaded_pks"])
4709+ self.assertEqual({"curtin_verbose"}, handler.cache["loaded_pks"])
4710
4711 def test_get_requires_name(self):
4712 user = factory.make_User()
4713@@ -121,7 +121,7 @@ class TestConfigHandler(MAASServerTestCase):
4714 user = factory.make_admin()
4715 handler = ConfigHandler(user, {}, None)
4716 updated = handler.update({"name": "curtin_verbose", "value": True})
4717- self.assertEquals({"name": "curtin_verbose", "value": True}, updated)
4718+ self.assertEqual({"name": "curtin_verbose", "value": True}, updated)
4719 self.assertTrue(Config.objects.get_config("curtin_verbose"))
4720
4721 def test_update_cannot_update_uuid(self):
4722@@ -159,9 +159,7 @@ class TestConfigHandler(MAASServerTestCase):
4723 handler.update,
4724 {"name": "http_proxy", "value": factory.make_name("invalid")},
4725 )
4726- self.assertEquals(
4727- {"value": ["Enter a valid URL."]}, error.message_dict
4728- )
4729+ self.assertEqual({"value": ["Enter a valid URL."]}, error.message_dict)
4730
4731 def test_on_listen_returns_None_if_excluded(self):
4732 user = factory.make_User()
4733diff --git a/src/maasserver/websockets/handlers/tests/test_dhcpsnippet.py b/src/maasserver/websockets/handlers/tests/test_dhcpsnippet.py
4734index 92a3989..c1f7b34 100644
4735--- a/src/maasserver/websockets/handlers/tests/test_dhcpsnippet.py
4736+++ b/src/maasserver/websockets/handlers/tests/test_dhcpsnippet.py
4737@@ -124,7 +124,7 @@ class TestDHCPSnippetHandler(MAASServerTestCase):
4738 node = factory.make_Node()
4739 handler.update({"id": dhcp_snippet.id, "node": node.system_id})
4740 dhcp_snippet = reload_object(dhcp_snippet)
4741- self.assertEquals(node, dhcp_snippet.node)
4742+ self.assertEqual(node, dhcp_snippet.node)
4743 event = Event.objects.get(type__level=AUDIT)
4744 self.assertIsNotNone(event)
4745 self.assertEqual(
4746@@ -168,7 +168,7 @@ class TestDHCPSnippetHandler(MAASServerTestCase):
4747 remaining_ids = textfile_ids[:revert_to]
4748 handler.revert({"id": dhcp_snippet.id, "to": revert_to})
4749 dhcp_snippet = reload_object(dhcp_snippet)
4750- self.assertEquals(
4751+ self.assertEqual(
4752 VersionedTextFile.objects.get(id=textfile_ids[revert_to - 1]).data,
4753 dhcp_snippet.value.data,
4754 )
4755diff --git a/src/maasserver/websockets/handlers/tests/test_discovery.py b/src/maasserver/websockets/handlers/tests/test_discovery.py
4756index 1597dea..de6e98f 100644
4757--- a/src/maasserver/websockets/handlers/tests/test_discovery.py
4758+++ b/src/maasserver/websockets/handlers/tests/test_discovery.py
4759@@ -87,7 +87,7 @@ class TestDiscoveryHandler(MAASServerTestCase):
4760 self.dehydrate_discovery(discovery, for_list=True)
4761 for discovery in [d0, d1, d2, d3, d4]
4762 ]
4763- self.assertEquals(expected_discoveries, handler.list({}))
4764+ self.assertEqual(expected_discoveries, handler.list({}))
4765
4766 def test_list_starts_after_first_seen(self):
4767 user = factory.make_User()
4768@@ -108,7 +108,7 @@ class TestDiscoveryHandler(MAASServerTestCase):
4769 self.dehydrate_discovery(discovery, for_list=True)
4770 for discovery in [d3, d4]
4771 ]
4772- self.assertEquals(
4773+ self.assertEqual(
4774 expected_discoveries, handler.list({"start": first_seen})
4775 )
4776
4777diff --git a/src/maasserver/websockets/handlers/tests/test_machine.py b/src/maasserver/websockets/handlers/tests/test_machine.py
4778index 3f700b0..8f46f16 100644
4779--- a/src/maasserver/websockets/handlers/tests/test_machine.py
4780+++ b/src/maasserver/websockets/handlers/tests/test_machine.py
4781@@ -501,7 +501,7 @@ class TestMachineHandler(MAASServerTestCase):
4782 handler._script_results[cached_node.id] = cached_content
4783 handler._cache_pks([node])
4784
4785- self.assertEquals(
4786+ self.assertEqual(
4787 script_result.id,
4788 handler._script_results[node.id][
4789 script_result.script.hardware_type
4790@@ -515,7 +515,7 @@ class TestMachineHandler(MAASServerTestCase):
4791 for result in results
4792 ],
4793 )
4794- self.assertEquals(
4795+ self.assertEqual(
4796 cached_content, handler._script_results[cached_node.id]
4797 )
4798
4799@@ -704,8 +704,8 @@ class TestMachineHandler(MAASServerTestCase):
4800 _, _, ret = handler.on_listen_for_active_pk(
4801 "update", node.system_id, node
4802 )
4803- self.assertEquals(ret["commissioning_status"]["passed"], 10)
4804- self.assertEquals(ret["testing_status"]["passed"], 10)
4805+ self.assertEqual(ret["commissioning_status"]["passed"], 10)
4806+ self.assertEqual(ret["testing_status"]["passed"], 10)
4807
4808 def test_cache_clears_on_reload(self):
4809 owner = factory.make_User()
4810@@ -799,11 +799,11 @@ class TestMachineHandler(MAASServerTestCase):
4811 if disk["id"] == node.boot_disk.id:
4812 for partition in disk["partitions"]:
4813 if partition["name"].endswith("-part3"):
4814- self.assertEquals(
4815+ self.assertEqual(
4816 "VMFS extent for datastore1", partition["used_for"]
4817 )
4818 else:
4819- self.assertEquals(
4820+ self.assertEqual(
4821 "VMware ESXi OS partition", partition["used_for"]
4822 )
4823 self.assertDictEqual(
4824@@ -1694,7 +1694,7 @@ class TestMachineHandler(MAASServerTestCase):
4825 node = factory.make_Node(owner=owner)
4826 handler = MachineHandler(owner, {}, None)
4827 observed = handler.get_summary_xml({"system_id": node.system_id})
4828- self.assertEquals("", observed)
4829+ self.assertEqual("", observed)
4830
4831 def test_dehydrate_summary_xml_returns_data(self):
4832 owner = factory.make_User()
4833@@ -1708,7 +1708,7 @@ class TestMachineHandler(MAASServerTestCase):
4834 script_result.store_result(exit_status=0, stdout=lldp_data)
4835 observed = handler.get_summary_xml({"system_id": node.system_id})
4836 probed_details = merge_details_cleanly(get_single_probed_details(node))
4837- self.assertEquals(
4838+ self.assertEqual(
4839 etree.tostring(probed_details, encoding=str, pretty_print=True),
4840 observed,
4841 )
4842@@ -1718,7 +1718,7 @@ class TestMachineHandler(MAASServerTestCase):
4843 node = factory.make_Node(owner=owner)
4844 handler = MachineHandler(owner, {}, None)
4845 observed = handler.get_summary_yaml({"system_id": node.system_id})
4846- self.assertEquals("", observed)
4847+ self.assertEqual("", observed)
4848
4849 def test_dehydrate_summary_yaml_returns_data(self):
4850 owner = factory.make_User()
4851@@ -4326,7 +4326,7 @@ class TestMachineHandlerCheckPower(MAASTransactionServerTestCase):
4852 power_state = yield machine_handler.check_power(
4853 {"system_id": node.system_id}
4854 )
4855- self.assertEquals(power_state, POWER_STATE.UNKNOWN)
4856+ self.assertEqual(power_state, POWER_STATE.UNKNOWN)
4857
4858 @wait_for_reactor
4859 @inlineCallbacks
4860@@ -4339,7 +4339,7 @@ class TestMachineHandlerCheckPower(MAASTransactionServerTestCase):
4861 power_state = yield machine_handler.check_power(
4862 {"system_id": node.system_id}
4863 )
4864- self.assertEquals(power_state, POWER_STATE.UNKNOWN)
4865+ self.assertEqual(power_state, POWER_STATE.UNKNOWN)
4866
4867 @wait_for_reactor
4868 @inlineCallbacks
4869@@ -4353,7 +4353,7 @@ class TestMachineHandlerCheckPower(MAASTransactionServerTestCase):
4870 power_state = yield machine_handler.check_power(
4871 {"system_id": node.system_id}
4872 )
4873- self.assertEquals(power_state, POWER_STATE.ERROR)
4874+ self.assertEqual(power_state, POWER_STATE.ERROR)
4875 self.assertThat(
4876 mock_log_err,
4877 MockCalledOnceWith(
4878diff --git a/src/maasserver/websockets/handlers/tests/test_node_result.py b/src/maasserver/websockets/handlers/tests/test_node_result.py
4879index 5f6b35c..3899f83 100644
4880--- a/src/maasserver/websockets/handlers/tests/test_node_result.py
4881+++ b/src/maasserver/websockets/handlers/tests/test_node_result.py
4882@@ -75,9 +75,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4883 user = factory.make_User()
4884 handler = NodeResultHandler(user, {}, None)
4885 node = factory.make_Node()
4886- self.assertEquals(
4887- node, handler.get_node({"system_id": node.system_id})
4888- )
4889+ self.assertEqual(node, handler.get_node({"system_id": node.system_id}))
4890 self.assertDictEqual(
4891 {node.system_id: node}, handler.cache["system_ids"]
4892 )
4893@@ -88,7 +86,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4894 fake_system_id = factory.make_name("system_id")
4895 fake_node = factory.make_name("node")
4896 handler.cache["system_ids"][fake_system_id] = fake_node
4897- self.assertEquals(
4898+ self.assertEqual(
4899 fake_node, handler.get_node({"system_id": fake_system_id})
4900 )
4901
4902@@ -294,7 +292,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4903 for _ in range(6):
4904 factory.make_ScriptResult(script_set=script_set)
4905 start = random.randint(0, 5)
4906- self.assertEquals(
4907+ self.assertEqual(
4908 6 - start,
4909 len(handler.list({"system_id": node.system_id, "start": start})),
4910 )
4911@@ -307,7 +305,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4912 for _ in range(6):
4913 factory.make_ScriptResult(script_set=script_set)
4914 limit = random.randint(0, 6)
4915- self.assertEquals(
4916+ self.assertEqual(
4917 limit,
4918 len(handler.list({"system_id": node.system_id, "limit": limit})),
4919 )
4920@@ -382,7 +380,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4921 output=combined,
4922 script_set=factory.make_ScriptSet(node=node),
4923 )
4924- self.assertEquals(
4925+ self.assertEqual(
4926 combined.decode(),
4927 handler.get_result_data(
4928 {"id": script_result.id, "data_type": "combined"}
4929@@ -399,7 +397,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4930 stdout=stdout,
4931 script_set=factory.make_ScriptSet(node=node),
4932 )
4933- self.assertEquals(
4934+ self.assertEqual(
4935 stdout.decode(),
4936 handler.get_result_data(
4937 {"id": script_result.id, "data_type": "stdout"}
4938@@ -416,7 +414,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4939 stderr=stderr,
4940 script_set=factory.make_ScriptSet(node=node),
4941 )
4942- self.assertEquals(
4943+ self.assertEqual(
4944 stderr.decode(),
4945 handler.get_result_data(
4946 {"id": script_result.id, "data_type": "stderr"}
4947@@ -433,7 +431,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4948 result=result,
4949 script_set=factory.make_ScriptSet(node=node),
4950 )
4951- self.assertEquals(
4952+ self.assertEqual(
4953 result.decode(),
4954 handler.get_result_data(
4955 {"id": script_result.id, "data_type": "result"}
4956@@ -444,7 +442,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4957 user = factory.make_User()
4958 handler = NodeResultHandler(user, {}, None)
4959 id = random.randint(0, 100)
4960- self.assertEquals(
4961+ self.assertEqual(
4962 "Unknown ScriptResult id %s" % id,
4963 handler.get_result_data({"id": id}),
4964 )
4965@@ -460,7 +458,7 @@ class TestNodeResultHandler(MAASServerTestCase):
4966 script_set=factory.make_ScriptSet(node=node),
4967 )
4968 unknown_data_type = factory.make_name("data_type")
4969- self.assertEquals(
4970+ self.assertEqual(
4971 "Unknown data_type %s" % unknown_data_type,
4972 handler.get_result_data(
4973 {"id": script_result.id, "data_type": unknown_data_type}
4974diff --git a/src/maasserver/websockets/handlers/tests/test_packagerepository.py b/src/maasserver/websockets/handlers/tests/test_packagerepository.py
4975index 35fb13c..e297d88 100644
4976--- a/src/maasserver/websockets/handlers/tests/test_packagerepository.py
4977+++ b/src/maasserver/websockets/handlers/tests/test_packagerepository.py
4978@@ -90,7 +90,7 @@ class TestPackageRepositoryHandler(MAASServerTestCase):
4979 url = factory.make_url(scheme="http")
4980 handler.update({"id": package_repository.id, "url": url})
4981 package_repository = reload_object(package_repository)
4982- self.assertEquals(url, package_repository.url)
4983+ self.assertEqual(url, package_repository.url)
4984 event = Event.objects.get(type__level=AUDIT)
4985 self.assertIsNotNone(event)
4986 self.assertEqual(
4987diff --git a/src/maasserver/websockets/handlers/tests/test_subnet.py b/src/maasserver/websockets/handlers/tests/test_subnet.py
4988index b77fd2a..6ea887b 100644
4989--- a/src/maasserver/websockets/handlers/tests/test_subnet.py
4990+++ b/src/maasserver/websockets/handlers/tests/test_subnet.py
4991@@ -84,7 +84,7 @@ class TestSubnetHandler(MAASServerTestCase):
4992 subnet = factory.make_Subnet()
4993 self.assertIsNone(handler.cache.get("staticroutes"))
4994 queries, _ = count_queries(handler.get, {"id": subnet.id})
4995- self.assertEquals(5, queries)
4996+ self.assertEqual(5, queries)
4997 self.assertIsNotNone(handler.cache["staticroutes"])
4998
4999 def test_list(self):
5000@@ -121,9 +121,9 @@ class TestSubnetHandler(MAASServerTestCase):
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches