summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRadomir Dopieralski <openstack@dopieralski.pl>2022-06-24 11:55:18 +0200
committerRadomir Dopieralski <openstack@dopieralski.pl>2022-06-24 13:48:17 +0200
commit4b2df0a684f8030ab8e065e6d765dd56dfcafaaf (patch)
tree13e5f9cc3e4b71610a4714d637540cceec5c8df4
parent2ebbb384a0c11b10d4b5a7e7f711c3066f9f3e2d (diff)
downloadhorizon-4b2df0a684f8030ab8e065e6d765dd56dfcafaaf.tar.gz
Use SetUp and cleanup for the network pagination tests
Also fix the case where the last page is not full. Change-Id: Ia3cbb9a3683c335c301a9ffd8d3d04f222960fee
-rw-r--r--openstack_dashboard/test/integration_tests/tests/test_networks.py115
1 files changed, 69 insertions, 46 deletions
diff --git a/openstack_dashboard/test/integration_tests/tests/test_networks.py b/openstack_dashboard/test/integration_tests/tests/test_networks.py
index 80be2ed1e..6c56fdb2a 100644
--- a/openstack_dashboard/test/integration_tests/tests/test_networks.py
+++ b/openstack_dashboard/test/integration_tests/tests/test_networks.py
@@ -51,6 +51,61 @@ class TestNetworks(helpers.TestCase):
networks_page.find_message_and_dismiss(messages.ERROR))
self.assertFalse(networks_page.is_network_present(self.NETWORK_NAME))
+
+@decorators.services_required("neutron")
+class TestAdminNetworks(helpers.AdminTestCase, TestNetworks):
+ NETWORK_NAME = helpers.gen_random_resource_name("network")
+ SUBNET_NAME = helpers.gen_random_resource_name("subnet")
+
+ @property
+ def networks_page(self):
+ return self.home_pg.go_to_admin_network_networkspage()
+
+
+@decorators.services_required("neutron")
+class TestNetworksPagination(helpers.TestCase):
+ NETWORK_NAME = helpers.gen_random_resource_name("network")
+ SUBNET_NAME = helpers.gen_random_resource_name("subnet")
+ ITEMS_PER_PAGE = 2
+
+ @property
+ def networks_page(self):
+ return self.home_pg.go_to_project_network_networkspage()
+
+ def setUp(self):
+ super().setUp()
+
+ count = 3
+ networks_names = ["{0}_{1}".format(self.NETWORK_NAME, i)
+ for i in range(count)]
+ networks_page = self.networks_page
+ for network_name in networks_names:
+ networks_page.create_network(network_name, self.SUBNET_NAME)
+ self.assertTrue(
+ networks_page.find_message_and_dismiss(messages.SUCCESS))
+ self.assertFalse(
+ networks_page.find_message_and_dismiss(messages.ERROR))
+ self.assertTrue(networks_page.is_network_present(network_name))
+ self.assertTrue(networks_page.is_network_active(network_name))
+ # we have to get this now, before we change page size
+ self.names = networks_page.networks_table.get_column_data(
+ name_column=networks_page.NETWORKS_TABLE_NAME_COLUMN)
+
+ self._change_page_size_setting(self.ITEMS_PER_PAGE)
+
+ def cleanup():
+ self._change_page_size_setting()
+ networks_page = self.networks_page
+ for network_name in networks_names:
+ networks_page.delete_network(network_name)
+ self.assertTrue(
+ networks_page.find_message_and_dismiss(messages.SUCCESS))
+ self.assertFalse(
+ networks_page.find_message_and_dismiss(messages.ERROR))
+ self.assertFalse(networks_page.is_network_present(network_name))
+
+ self.addCleanup(cleanup)
+
def test_networks_pagination(self):
"""This test checks networks pagination
@@ -73,40 +128,29 @@ class TestNetworks(helpers.TestCase):
11) Go to user settings page and restore 'Items Per Page'
12) Delete created networks
"""
- networks_page = self.networks_page
- count = 6
- items_per_page = 2
- networks_names = ["{0}_{1}".format(self.NETWORK_NAME, i)
- for i in range(count)]
- for network_name in networks_names:
- networks_page.create_network(network_name, self.SUBNET_NAME)
- self.assertTrue(
- networks_page.find_message_and_dismiss(messages.SUCCESS))
- self.assertFalse(
- networks_page.find_message_and_dismiss(messages.ERROR))
- self.assertTrue(networks_page.is_network_present(network_name))
- self.assertTrue(networks_page.is_network_active(network_name))
networks_page = self.networks_page
- rows = networks_page.networks_table.get_column_data(
- name_column=networks_page.NETWORKS_TABLE_NAME_COLUMN)
- self._change_page_size_setting(items_per_page)
- networks_page = self.networks_page
definitions = []
i = 0
- while i < len(rows):
- prev = i >= items_per_page
- next = i < (len(rows) - items_per_page)
- definition = {'Next': next, 'Prev': prev,
- 'Count': items_per_page,
- 'Names': rows[i:i + items_per_page]}
+ total = len(self.names)
+ while i < total:
+ has_prev = i >= self.ITEMS_PER_PAGE
+ has_next = total - i > self.ITEMS_PER_PAGE
+ count = (self.ITEMS_PER_PAGE if has_next
+ else total % self.ITEMS_PER_PAGE or self.ITEMS_PER_PAGE)
+ definition = {
+ 'Next': has_next,
+ 'Prev': has_prev,
+ 'Count': count,
+ 'Names': self.names[i:i + count],
+ }
definitions.append(definition)
networks_page.networks_table.assert_definition(
definition,
name_column=networks_page.NETWORKS_TABLE_NAME_COLUMN)
- if next:
+ if has_next:
networks_page.networks_table.turn_next_page()
- i = i + items_per_page
+ i = i + self.ITEMS_PER_PAGE
definitions.reverse()
for definition in definitions:
@@ -116,17 +160,6 @@ class TestNetworks(helpers.TestCase):
if definition['Prev']:
networks_page.networks_table.turn_prev_page()
- self._change_page_size_setting()
-
- networks_page = self.networks_page
- for network_name in networks_names:
- networks_page.delete_network(network_name)
- self.assertTrue(
- networks_page.find_message_and_dismiss(messages.SUCCESS))
- self.assertFalse(
- networks_page.find_message_and_dismiss(messages.ERROR))
- self.assertFalse(networks_page.is_network_present(network_name))
-
def _change_page_size_setting(self, items_per_page=None):
settings_page = self.home_pg.go_to_settings_usersettingspage()
if items_per_page:
@@ -134,13 +167,3 @@ class TestNetworks(helpers.TestCase):
else:
settings_page.change_pagesize()
settings_page.find_message_and_dismiss(messages.SUCCESS)
-
-
-@decorators.services_required("neutron")
-class TestAdminNetworks(helpers.AdminTestCase, TestNetworks):
- NETWORK_NAME = helpers.gen_random_resource_name("network")
- SUBNET_NAME = helpers.gen_random_resource_name("subnet")
-
- @property
- def networks_page(self):
- return self.home_pg.go_to_admin_network_networkspage()