From 2d845cc70ab71ffed8f48ec1730e4c6236bdf494 Mon Sep 17 00:00:00 2001 From: Serhii Tsymbaliuk Date: Mon, 1 Oct 2018 11:32:58 +0200 Subject: [PATCH] UI tests for "ID Range": check deleting primary local range https://pagure.io/freeipa/issue/7709 Reviewed-By: Mohammad Rizwan Yusuf Reviewed-By: Petr Vobornik --- ipatests/test_webui/task_range.py | 17 ++++++---- ipatests/test_webui/test_range.py | 52 +++++++++++++++---------------- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/ipatests/test_webui/task_range.py b/ipatests/test_webui/task_range.py index 4ccfe963f..d11367ef4 100644 --- a/ipatests/test_webui/task_range.py +++ b/ipatests/test_webui/task_range.py @@ -32,18 +32,18 @@ TRUSTED_ID_RANGE = 'ipa-ad-trust' class range_tasks(UI_driver): BASE_RANGE_OVERLAPS_ERROR = ( - 'Constraint violation: ' - 'New base range overlaps with existing base range.' + "Constraint violation: " + "New base range overlaps with existing base range." ) PRIMARY_RID_RANGE_OVERLAPS_ERROR = ( - 'Constraint violation: ' - 'New primary rid range overlaps with existing primary rid range.' + "Constraint violation: " + "New primary rid range overlaps with existing primary rid range." ) SECONDARY_RID_RANGE_OVERLAPS_ERROR = ( - 'Constraint violation: ' - 'New secondary rid range overlaps with existing secondary rid range.' + "Constraint violation: " + "New secondary rid range overlaps with existing secondary rid range." ) PRIMARY_AND_SECONDARY_RID_OVERLAP_ERROR = ( @@ -51,6 +51,11 @@ class range_tasks(UI_driver): "Primary RID range and secondary RID range cannot overlap" ) + DELETE_PRIMARY_LOCAL_RANGE_ERROR = ( + "invalid 'ipabaseid,ipaidrangesize': range modification " + "leaving objects with ID out of the defined range is not allowed" + ) + def get_shifts(self): result = self.execute_api_from_ui('idrange_find', [], {}) idranges = result['result']['result'] diff --git a/ipatests/test_webui/test_range.py b/ipatests/test_webui/test_range.py index b6dba574a..086ae0825 100644 --- a/ipatests/test_webui/test_range.py +++ b/ipatests/test_webui/test_range.py @@ -59,12 +59,9 @@ class test_range(range_tasks): """ Test mod operating in a new range """ - - self.navigate_to_entity(ENTITY) - data = self.get_data(PKEY) - self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, data) self.navigate_to_record(PKEY) # changes idrange and tries to save it @@ -140,13 +137,11 @@ class test_range(range_tasks): """ Test creating ID Range with existing range name """ - self.navigate_to_entity(ENTITY) - for range_type in self.range_types: pkey = 'itest-range-{}'.format(range_type) data = self.get_data(pkey, range_type=range_type) - self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, data) self.add_record(ENTITY, data, navigate=False, negative=True, pre_delete=False) @@ -163,8 +158,6 @@ class test_range(range_tasks): """ Test creating ID Range with existing base ID """ - self.navigate_to_entity(ENTITY) - for range_type in self.range_types: pkey = 'itest-range-original' form_data = self.get_add_form_data(pkey) @@ -172,7 +165,7 @@ class test_range(range_tasks): form_data.range_type = range_type duplicated_data = self.get_data(form_data=form_data) - self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, data) self.add_record(ENTITY, duplicated_data, navigate=False, negative=True, pre_delete=False) @@ -188,8 +181,6 @@ class test_range(range_tasks): """ Test creating ID Range with overlapping of existing range """ - self.navigate_to_entity(ENTITY) - for range_type in self.range_types: pkey = 'itest-range' pkey_overlaps = 'itest-range-overlaps' @@ -203,7 +194,7 @@ class test_range(range_tasks): ) data_overlaps = self.get_data(form_data=form_data_overlaps) - self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, data) self.add_record(ENTITY, data_overlaps, navigate=False, negative=True, pre_delete=False) @@ -236,14 +227,13 @@ class test_range(range_tasks): """ Test creating ID Range with existing primary RID base """ - self.navigate_to_entity(ENTITY) - form_data = self.get_add_form_data(PKEY) data = self.get_data(PKEY, form_data=form_data) + # Get RID base from previous form duplicated_data = self.get_data(base_rid=form_data.base_rid) - self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, data) self.add_record(ENTITY, duplicated_data, navigate=False, negative=True, pre_delete=False) @@ -259,8 +249,6 @@ class test_range(range_tasks): """ Test creating ID Range with existing secondary RID base """ - self.navigate_to_entity(ENTITY) - form_data = self.get_add_form_data(PKEY) data = self.get_data(PKEY, form_data=form_data) # Get RID base from previous form @@ -268,7 +256,7 @@ class test_range(range_tasks): secondary_base_rid=form_data.secondary_base_rid ) - self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, data) self.add_record(ENTITY, duplicated_data, navigate=False, negative=True, pre_delete=False) @@ -285,13 +273,11 @@ class test_range(range_tasks): Test creating ID Range without giving rid-base or/and secondary-rid-base values """ - self.navigate_to_entity(ENTITY) - pkey = 'itest-range-without-rid' # Without primary RID base data = self.get_data(pkey, base_rid='') - self.add_record(ENTITY, data, navigate=False, negative=True) + self.add_record(ENTITY, data, negative=True) try: assert self.has_form_error('ipabaserid') finally: @@ -338,11 +324,9 @@ class test_range(range_tasks): {'base_rid': 1.1}, {'secondary_base_rid': 1.1}, ] - - self.navigate_to_entity(ENTITY) - data = self.get_data(PKEY) - self.add_record(ENTITY, data, navigate=False) + + self.add_record(ENTITY, data) self.navigate_to_record(PKEY) for values in cases: @@ -360,3 +344,19 @@ class test_range(range_tasks): self.facet_button_click('revert') self.delete_record(PKEY) + + @screenshot + def test_delete_primary_local_range(self): + """ + Test deleting primary local ID range + """ + ipa_realm = self.config.get('ipa_realm') + pkey = '{}_id_range'.format(ipa_realm) + + self.navigate_to_entity(ENTITY) + self.delete_record(pkey) + + self.assert_last_error_dialog( + self.DELETE_PRIMARY_LOCAL_RANGE_ERROR, + details=True + )