mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Web UI integration tests: ID range types
https://fedorahosted.org/freeipa/ticket/3834
This commit is contained in:
@@ -18,68 +18,17 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""
|
||||
User tests
|
||||
Range tests
|
||||
"""
|
||||
|
||||
from ipatests.test_webui.ui_driver import UI_driver
|
||||
import ipatests.test_webui.test_trust as trust_mod
|
||||
from ipatests.test_webui.task_range import range_tasks
|
||||
|
||||
ENTITY = 'idrange'
|
||||
PKEY = 'itest-range'
|
||||
|
||||
|
||||
class test_range(UI_driver):
|
||||
|
||||
def get_shifts(self, idranges=None):
|
||||
|
||||
if not idranges:
|
||||
result = self.execute_api_from_ui('idrange_find', [], {})
|
||||
idranges = result['result']['result']
|
||||
|
||||
id_shift = 0
|
||||
rid_shift = 0
|
||||
|
||||
for idrange in idranges:
|
||||
size = int(idrange['ipaidrangesize'][0])
|
||||
base_id = int(idrange['ipabaseid'][0])
|
||||
|
||||
id_end = base_id + size
|
||||
rid_end = 0
|
||||
|
||||
if 'ipabaserid' in idrange:
|
||||
base_rid = int(idrange['ipabaserid'][0])
|
||||
rid_end = base_rid + size
|
||||
|
||||
if 'ipasecondarybaserid' in idrange:
|
||||
secondary_base_rid = int(idrange['ipasecondarybaserid'][0])
|
||||
rid_end = max(base_rid, secondary_base_rid) + size
|
||||
|
||||
if id_shift < id_end:
|
||||
id_shift = id_end + 1000000
|
||||
|
||||
if rid_shift < rid_end:
|
||||
rid_shift = rid_end + 1000000
|
||||
|
||||
self.id_shift = id_shift
|
||||
self.rid_shift = rid_shift
|
||||
self.sec_rid_shift = rid_shift + 1000
|
||||
self.shift = 0
|
||||
|
||||
def get_data(self, pkey, size=50, shift=100):
|
||||
self.shift += shift
|
||||
data = {
|
||||
'pkey': pkey,
|
||||
'add': [
|
||||
('textbox', 'cn', pkey),
|
||||
('textbox', 'ipabaseid', str(self.id_shift + self.shift)),
|
||||
('textbox', 'ipaidrangesize', str(size)),
|
||||
('textbox', 'ipabaserid', str(self.rid_shift + self.shift)),
|
||||
('textbox', 'ipasecondarybaserid', str(self.sec_rid_shift + self.shift)),
|
||||
],
|
||||
'mod': [
|
||||
('textbox', 'ipaidrangesize', str(size + 1)),
|
||||
],
|
||||
}
|
||||
return data
|
||||
class test_range(range_tasks):
|
||||
|
||||
def test_crud(self):
|
||||
"""
|
||||
@@ -88,3 +37,66 @@ class test_range(UI_driver):
|
||||
self.init_app()
|
||||
self.get_shifts()
|
||||
self.basic_crud(ENTITY, self.get_data(PKEY))
|
||||
|
||||
def test_types(self):
|
||||
"""
|
||||
Test range types
|
||||
"""
|
||||
self.init_app()
|
||||
self.get_shifts()
|
||||
|
||||
pkey_local = 'itest-local'
|
||||
pkey_ad = 'itest-ad'
|
||||
pkey_posix = 'itest-ad-posix'
|
||||
pkey_winsync = 'itest-ad-winsync'
|
||||
pkey_trust = 'itest-ipa-trust'
|
||||
column = 'iparangetype'
|
||||
|
||||
add = self.get_add_data(pkey_local)
|
||||
data = self.get_data(pkey_local, add_data=add)
|
||||
self.add_record(ENTITY, data)
|
||||
self.assert_record_value('local domain range', pkey_local, column)
|
||||
|
||||
if self.has_trusts():
|
||||
|
||||
trust_tasks = trust_mod.trust_tasks()
|
||||
trust_data = trust_tasks.get_data()
|
||||
|
||||
self.add_record(trust_mod.ENTITY, trust_data)
|
||||
|
||||
sid = self.get_sid()
|
||||
|
||||
self.navigate_to_entity(ENTITY)
|
||||
self.facet_button_click('refresh')
|
||||
self.wait_for_request(n=2)
|
||||
|
||||
add = self.get_add_data(pkey_ad, range_type='ipa-ad-trust', sid=sid)
|
||||
data = self.get_data(pkey_ad, add_data=add)
|
||||
self.add_record(ENTITY, data, navigate=False)
|
||||
self.assert_record_value('Active Directory domain range', pkey_ad, column)
|
||||
|
||||
add = self.get_add_data(pkey_posix, range_type='ipa-ad-trust-posix', sid=sid)
|
||||
data = self.get_data(pkey_posix, add_data=add)
|
||||
self.add_record(ENTITY, data, navigate=False)
|
||||
self.assert_record_value('Active Directory trust range with POSIX attributes', pkey_posix, column)
|
||||
|
||||
self.delete(trust_mod.ENTITY, [trust_data])
|
||||
|
||||
self.navigate_to_entity(ENTITY)
|
||||
self.delete_record(pkey_ad)
|
||||
self.delete_record(pkey_posix)
|
||||
self.delete_record(trust_tasks.get_range_name())
|
||||
|
||||
add = self.get_add_data(pkey_winsync, range_type='ipa-ad-winsync')
|
||||
data = self.get_data(pkey_winsync, add_data=add)
|
||||
self.add_record(ENTITY, data, navigate=False)
|
||||
self.assert_record_value('Active Directory winsync range', pkey_winsync, column)
|
||||
|
||||
add = self.get_add_data(pkey_trust, range_type='ipa-ipa-trust')
|
||||
data = self.get_data(pkey_trust, add_data=add)
|
||||
self.add_record(ENTITY, data, navigate=False)
|
||||
self.assert_record_value('IPA trust range', pkey_trust, column)
|
||||
|
||||
self.delete_record(pkey_local)
|
||||
self.delete_record(pkey_winsync)
|
||||
self.delete_record(pkey_trust)
|
||||
|
||||
Reference in New Issue
Block a user