mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
webui-ci: adjust id range tests to new validator
Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
This commit is contained in:
parent
5d78cdf809
commit
7eff8ad7dc
@ -32,8 +32,8 @@ class range_tasks(UI_driver):
|
||||
result = self.execute_api_from_ui('idrange_find', [], {})
|
||||
idranges = result['result']['result']
|
||||
|
||||
id_shift = 0
|
||||
rid_shift = 0
|
||||
max_id = 0
|
||||
max_rid = 0
|
||||
|
||||
for idrange in idranges:
|
||||
size = int(idrange['ipaidrangesize'][0])
|
||||
@ -50,16 +50,14 @@ class range_tasks(UI_driver):
|
||||
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 max_id < id_end:
|
||||
max_id = id_end + 1000000
|
||||
|
||||
if rid_shift < rid_end:
|
||||
rid_shift = rid_end + 1000000
|
||||
if max_rid < rid_end:
|
||||
max_rid = rid_end + 1000000
|
||||
|
||||
self.id_shift = id_shift
|
||||
self.rid_shift = rid_shift
|
||||
self.sec_rid_shift = rid_shift + 1000
|
||||
self.shift = 0
|
||||
self.max_id = max_id
|
||||
self.max_rid = max_rid
|
||||
|
||||
def get_sid(self):
|
||||
result = self.execute_api_from_ui('trust_find', [], {})
|
||||
@ -85,17 +83,24 @@ class range_tasks(UI_driver):
|
||||
|
||||
def get_add_data(self, pkey, range_type='ipa-local', size=50, shift=100, sid=None):
|
||||
|
||||
self.shift += shift
|
||||
base_id = self.max_id + shift
|
||||
self.max_id = base_id + size
|
||||
|
||||
base_rid = self.max_rid + shift
|
||||
self.max_rid = base_rid + size
|
||||
|
||||
add = [
|
||||
('textbox', 'cn', pkey),
|
||||
('textbox', 'ipabaseid', str(self.id_shift + self.shift)),
|
||||
('textbox', 'ipabaseid', str(base_id)),
|
||||
('textbox', 'ipaidrangesize', str(size)),
|
||||
('textbox', 'ipabaserid', str(self.rid_shift + self.shift)),
|
||||
('textbox', 'ipabaserid', str(base_rid)),
|
||||
('radio', 'iparangetype', range_type),
|
||||
]
|
||||
|
||||
if not sid:
|
||||
add.append(('textbox', 'ipasecondarybaserid', str(self.sec_rid_shift + self.shift)))
|
||||
base_rid = self.max_rid + shift
|
||||
self.max_rid = base_rid + size
|
||||
add.append(('textbox', 'ipasecondarybaserid', str(base_rid)))
|
||||
if sid:
|
||||
add.append(('textbox', 'ipanttrusteddomainsid', sid))
|
||||
|
||||
|
@ -41,6 +41,13 @@ class test_range(range_tasks):
|
||||
def test_types(self):
|
||||
"""
|
||||
Test range types
|
||||
|
||||
Only 'local' and 'ipa-ad-trust' types are tested since range validation
|
||||
made quite hard to test the other types:
|
||||
|
||||
- 'ipa-ad-trust-posix' can be tested only with subdomains.
|
||||
- 'ipa-ad-winsync' and 'ipa-ipa-trust' and are not supported yet
|
||||
https://fedorahosted.org/freeipa/ticket/4323
|
||||
"""
|
||||
self.init_app()
|
||||
self.get_shifts()
|
||||
@ -73,28 +80,8 @@ class test_range(range_tasks):
|
||||
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)
|
||||
|
@ -120,8 +120,9 @@ class test_trust(trust_tasks):
|
||||
|
||||
r_tasks = range_tasks(self.driver, self.config)
|
||||
r_tasks.get_shifts()
|
||||
base_id = r_tasks.id_shift + 100
|
||||
range_size = 50
|
||||
range_add = r_tasks.get_add_data('')
|
||||
base_id = range_add[2][2]
|
||||
range_size = range_add[3][2]
|
||||
range_pkey = self.get_range_name()
|
||||
column = 'iparangetype'
|
||||
|
||||
@ -135,6 +136,7 @@ class test_trust(trust_tasks):
|
||||
self.assert_record_value('Active Directory domain range', range_pkey, column)
|
||||
self.delete_record(range_pkey)
|
||||
|
||||
self.request_timeout = 60
|
||||
add = self.get_add_data('ipa-ad-trust-posix', base_id, range_size)
|
||||
data = self.get_data(add_data=add)
|
||||
self.add_record(ENTITY, data, delete=True)
|
||||
|
@ -31,6 +31,7 @@ import os
|
||||
try:
|
||||
from selenium import webdriver
|
||||
from selenium.common.exceptions import NoSuchElementException
|
||||
from selenium.common.exceptions import InvalidElementStateException
|
||||
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.common.by import By
|
||||
@ -636,8 +637,12 @@ class UI_driver(object):
|
||||
if not parent:
|
||||
parent = self.get_form()
|
||||
tb = self.find(selector, By.CSS_SELECTOR, parent, strict=True)
|
||||
try:
|
||||
tb.clear()
|
||||
tb.send_keys(value)
|
||||
except InvalidElementStateException as e:
|
||||
msg = "Invalid Element State, el: %s, value: %s, error: %s" % (selector, value, e)
|
||||
assert False, msg
|
||||
|
||||
def fill_input(self, name, value, input_type="text", parent=None):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user