Skip to content

Commit cbdb3c6

Browse files
asmodehnAlexandre Vincent
andauthored
[fix:tests] Use config_app_label as class field in config selenium tests
Co-authored-by: Alexandre Vincent <alexandre.vincent@stellar.tc>
1 parent 6697a3a commit cbdb3c6

1 file changed

Lines changed: 32 additions & 14 deletions

File tree

openwisp_controller/config/tests/test_selenium.py

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222

2323
class SeleniumTestMixin(BaseSeleniumTestMixin):
24+
config_app_label = "config"
25+
2426
def _select_organization(self, org):
2527
self.find_element(
2628
by=By.CSS_SELECTOR, value="#select2-id_organization-container"
@@ -55,7 +57,8 @@ class TestDeviceAdmin(
5557
# helper function for adding/removing templates
5658
def _update_template(self, device_id, templates, is_enabled=False):
5759
self.open(
58-
reverse("admin:config_device_change", args=[device_id]) + "#config-group"
60+
reverse(f"admin:{self.config_app_label}_device_change", args=[device_id])
61+
+ "#config-group"
5962
)
6063
self.wait_for_presence(By.CSS_SELECTOR, 'input[name="config-0-templates"]')
6164

@@ -84,7 +87,7 @@ def test_create_new_device(self):
8487
default_template = self._create_template(name="Default", default=True)
8588
org = self._get_org()
8689
self.login()
87-
self.open(reverse("admin:config_device_add"))
90+
self.open(reverse(f"admin:{self.config_app_label}_device_add"))
8891
self.find_element(by=By.NAME, value="name").send_keys("11:22:33:44:55:66")
8992
self.find_element(
9093
by=By.CSS_SELECTOR, value="#select2-id_organization-container"
@@ -149,9 +152,13 @@ def test_create_new_device(self):
149152
def test_device_preview_keyboard_shortcuts(self):
150153
device = self._create_config(device=self._create_device(name="Test")).device
151154
self.login()
152-
self.open(reverse("admin:config_device_changelist"))
155+
self.open(reverse(f"admin:{self.config_app_label}_device_changelist"))
153156
try:
154-
self.open(reverse("admin:config_device_change", args=[device.id]))
157+
self.open(
158+
reverse(
159+
f"admin:{self.config_app_label}_device_change", args=[device.id]
160+
)
161+
)
155162
self.hide_loading_overlay()
156163
except TimeoutException:
157164
self.fail("Device detail page did not load in time")
@@ -191,7 +198,8 @@ def test_multiple_organization_templates(self):
191198

192199
self.login()
193200
self.open(
194-
reverse("admin:config_device_change", args=[device.id]) + "#config-group"
201+
reverse(f"admin:{self.config_app_label}_device_change", args=[device.id])
202+
+ "#config-group"
195203
)
196204
self.hide_loading_overlay()
197205

@@ -255,7 +263,8 @@ def test_change_config_backend(self):
255263

256264
self.login()
257265
self.open(
258-
reverse("admin:config_device_change", args=[device.id]) + "#config-group"
266+
reverse(f"admin:{self.config_app_label}_device_change", args=[device.id])
267+
+ "#config-group"
259268
)
260269
self.hide_loading_overlay()
261270
self.find_element(by=By.XPATH, value=f'//*[@value="{template.id}"]')
@@ -274,7 +283,9 @@ def test_force_delete_device_with_deactivating_config(self):
274283
self.assertEqual(config.status, "modified")
275284

276285
self.login()
277-
self.open(reverse("admin:config_device_change", args=[device.id]))
286+
self.open(
287+
reverse(f"admin:{self.config_app_label}_device_change", args=[device.id])
288+
)
278289
self.hide_loading_overlay()
279290
# The webpage has two "submit-row" sections, each containing a "Deactivate"
280291
# button. The first (top) "Deactivate" button is hidden, causing
@@ -291,7 +302,9 @@ def test_force_delete_device_with_deactivating_config(self):
291302
self.assertEqual(device.is_deactivated(), True)
292303
self.assertEqual(config.is_deactivating(), True)
293304

294-
self.open(reverse("admin:config_device_change", args=[device.id]))
305+
self.open(
306+
reverse(f"admin:{self.config_app_label}_device_change", args=[device.id])
307+
)
295308
self.hide_loading_overlay()
296309
# Use `presence` instead of `visibility` for `wait_for`,
297310
# as the same issue described above applies here.
@@ -328,7 +341,7 @@ def test_force_delete_multiple_devices_with_deactivating_config(self):
328341
self.assertEqual(config2.status, "modified")
329342

330343
self.login()
331-
self.open(reverse("admin:config_device_changelist"))
344+
self.open(reverse(f"admin:{self.config_app_label}_device_changelist"))
332345
self.find_element(by=By.CSS_SELECTOR, value="#action-toggle").click()
333346
select = Select(self.find_element(by=By.NAME, value="action"))
334347
select.select_by_value("delete_selected")
@@ -400,7 +413,7 @@ def test_show_relevant_templates(self):
400413
)
401414

402415
self.login()
403-
self.open(reverse("admin:config_devicegroup_add"))
416+
self.open(reverse(f"admin:{self.config_app_label}_devicegroup_add"))
404417
self.assertEqual(
405418
self.wait_for_visibility(
406419
By.CSS_SELECTOR, ".sortedm2m-container .help"
@@ -509,7 +522,7 @@ def test_unsaved_changes(self):
509522
self.login()
510523
self._create_template(default=True, default_values={"ssid": "default"})
511524
device = self._create_config(organization=self._get_org()).device
512-
path = reverse("admin:config_device_change", args=[device.id])
525+
path = reverse(f"admin:{self.config_app_label}_device_change", args=[device.id])
513526

514527
with self.subTest("Alert should not be displayed without any change"):
515528
self.open(path)
@@ -551,7 +564,8 @@ def test_template_context_variables(self):
551564
device = self._create_config(organization=self._get_org()).device
552565
self.login()
553566
self.open(
554-
reverse("admin:config_device_change", args=[device.id]) + "#config-group"
567+
reverse(f"admin:{self.config_app_label}_device_change", args=[device.id])
568+
+ "#config-group"
555569
)
556570
self.hide_loading_overlay()
557571
try:
@@ -577,7 +591,11 @@ def test_template_context_variables(self):
577591
self.fail("Unsaved changes alert displayed without any change")
578592

579593
with self.subTest("Saving the objects should not save context variables"):
580-
self.open(reverse("admin:config_device_change", args=[device.id]))
594+
self.open(
595+
reverse(
596+
f"admin:{self.config_app_label}_device_change", args=[device.id]
597+
)
598+
)
581599
self.web_driver.execute_script(
582600
"window.scrollTo(0, document.body.scrollHeight);"
583601
)
@@ -598,7 +616,7 @@ class TestVpnAdmin(
598616
def test_vpn_edit(self):
599617
self.login()
600618
device, vpn, template = self._create_wireguard_vpn_template()
601-
self.open(reverse("admin:config_vpn_change", args=[vpn.id]))
619+
self.open(reverse(f"admin:{self.config_app_label}_vpn_change", args=[vpn.id]))
602620
with self.subTest("Ca and Cert should not be visible"):
603621
self.wait_for_invisibility(by=By.CLASS_NAME, value="field-ca")
604622
self.wait_for_invisibility(by=By.CLASS_NAME, value="field-cert")

0 commit comments

Comments
 (0)