From dd590e7ea7dfc7ea84580eb8368297c98adc8056 Mon Sep 17 00:00:00 2001 From: Serhii Tsymbaliuk Date: Mon, 1 Oct 2018 10:01:47 +0200 Subject: [PATCH] UI tests for "ID Range": - check creating ID range with special characters in name - check modifying ID range with existing secondary RID base https://pagure.io/freeipa/issue/7709 Reviewed-By: Mohammad Rizwan Yusuf Reviewed-By: Petr Vobornik --- ipatests/test_webui/task_range.py | 7 ++++++ ipatests/test_webui/test_range.py | 40 +++++++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/ipatests/test_webui/task_range.py b/ipatests/test_webui/task_range.py index 7aacdfca8..496a36b4d 100644 --- a/ipatests/test_webui/task_range.py +++ b/ipatests/test_webui/task_range.py @@ -41,6 +41,11 @@ class range_tasks(UI_driver): '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.' + ) + def get_shifts(self): result = self.execute_api_from_ui('idrange_find', [], {}) idranges = result['result']['result'] @@ -104,6 +109,8 @@ class range_tasks(UI_driver): """ Generate RangeAddFormData instance with initial data based on existing ID ranges. + :param kwargs: overrides default fields values (base_id, base_rid, + secondary_base_rid) """ shift = 100 diff --git a/ipatests/test_webui/test_range.py b/ipatests/test_webui/test_range.py index d0957d0ce..fc7036863 100644 --- a/ipatests/test_webui/test_range.py +++ b/ipatests/test_webui/test_range.py @@ -127,6 +127,14 @@ class test_range(range_tasks): self.delete_record(pkey_local) + @screenshot + def test_add_range_with_special_characters_in_name(self): + """ + Test creating ID Range with special characters in name + """ + data = self.get_data('itest-range-!@#$%^&*') + self.add_record(ENTITY, data, delete=True) + @screenshot def test_add_range_with_existing_name(self): """ @@ -213,9 +221,8 @@ class test_range(range_tasks): """ self.navigate_to_entity(ENTITY) - pkey = 'itest-range-original' - form_data = self.get_add_form_data(pkey) - data = self.get_data(pkey, form_data=form_data) + 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) @@ -228,7 +235,32 @@ class test_range(range_tasks): try: assert self.PRIMARY_RID_RANGE_OVERLAPS_ERROR in dialog.text finally: - self.delete_record(pkey) + self.delete_record(PKEY) + + @screenshot + def test_add_range_with_existing_secondary_rid(self): + """ + 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 + duplicated_data = self.get_data( + secondary_base_rid=form_data.secondary_base_rid + ) + + self.add_record(ENTITY, data, navigate=False) + self.add_record(ENTITY, duplicated_data, navigate=False, negative=True, + pre_delete=False) + + dialog = self.get_last_error_dialog() + + try: + assert self.SECONDARY_RID_RANGE_OVERLAPS_ERROR in dialog.text + finally: + self.delete_record(PKEY) @screenshot def test_add_range_without_rid(self):