From dfbafafc3e38fd5b07fc3843c28fa019900a0ee7 Mon Sep 17 00:00:00 2001 From: Serhii Tsymbaliuk Date: Thu, 13 May 2021 17:33:06 +0200 Subject: [PATCH] WebUI tests: Add test for 'ipaautoprivategroups' field on 'ID Ranges' page Add test_range_auto_private_groups test case to test_trust WebUI test suite to cover the field. Ticket: https://pagure.io/freeipa/issue/8837 Signed-off-by: Serhii Tsymbaliuk Reviewed-By: Florence Blanc-Renaud --- ipatests/test_webui/task_range.py | 9 +++++++- ipatests/test_webui/test_trust.py | 36 +++++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/ipatests/test_webui/task_range.py b/ipatests/test_webui/task_range.py index a02a39c14..db34f6f11 100644 --- a/ipatests/test_webui/task_range.py +++ b/ipatests/test_webui/task_range.py @@ -147,6 +147,7 @@ class range_tasks(UI_driver): range_type=range_type, size=size, domain=domain, + auto_private_groups=kwargs.get('auto_private_groups'), callback=self.check_range_type_mod ) @@ -173,7 +174,7 @@ class RangeAddFormData: def __init__(self, cn, base_id, base_rid=None, secondary_base_rid=None, range_type=LOCAL_ID_RANGE, size=50, domain=None, - callback=None): + auto_private_groups='', callback=None): self.cn = cn self.base_id = base_id self.base_rid = base_rid @@ -181,6 +182,7 @@ class RangeAddFormData: self.range_type = range_type self.size = size self.domain = domain + self.auto_private_groups = auto_private_groups self.callback = callback def serialize(self): @@ -203,6 +205,11 @@ class RangeAddFormData: 'ipasecondarybaserid', str(self.secondary_base_rid))) + if self.range_type != LOCAL_ID_RANGE: + serialized.append(('selectbox', + 'ipaautoprivategroups', + self.auto_private_groups)) + return serialized diff --git a/ipatests/test_webui/test_trust.py b/ipatests/test_webui/test_trust.py index 605f8a2a7..0dad1ebae 100644 --- a/ipatests/test_webui/test_trust.py +++ b/ipatests/test_webui/test_trust.py @@ -21,12 +21,13 @@ Trust tests """ +import pytest + import ipatests.test_webui.data_group as group import ipatests.test_webui.data_idviews as idview from ipatests.test_webui.ui_driver import UI_driver from ipatests.test_webui.ui_driver import screenshot -from ipatests.test_webui.task_range import range_tasks -import pytest +from ipatests.test_webui.task_range import TRUSTED_ID_RANGE, range_tasks ENTITY = 'trust' CONFIG_ENTITY = 'trustconfig' @@ -160,6 +161,37 @@ class test_trust(trust_tasks): self.assert_record_value('Active Directory trust range with POSIX attributes', range_pkey, column) self.delete_record(range_pkey) + @screenshot + def test_range_auto_private_groups(self): + self.init_app() + + r_tasks = range_tasks() + r_tasks.driver = self.driver + r_tasks.config = self.config + r_tasks.get_shifts() + + trust_data = self.get_data() + self.add_record(ENTITY, trust_data, navigate=True) + + range_pkeys = [] + try: + for auto_private_groups in ['true', 'false', 'hybrid']: + pkey = 'itest-range-apg-{}'.format(auto_private_groups) + form_data = r_tasks.get_add_form_data( + pkey, + range_type=TRUSTED_ID_RANGE, + domain=trust_data['pkey'], + auto_private_groups=auto_private_groups + ) + range_data = r_tasks.get_data(pkey, form_data=form_data) + self.add_record('idrange', range_data, navigate=True) + range_pkeys.append(pkey) + finally: + self.navigate_to_entity(ENTITY) + self.delete_record(trust_data['pkey']) + self.navigate_to_entity('idrange') + self.delete_record(range_pkeys) + @screenshot def test_config_mod(self):