SSIA -- Petr Vobornik
From 66410a435d641a90da7bc0f525d5e73e3a5c549d Mon Sep 17 00:00:00 2001 From: Petr Vobornik <pvobo...@redhat.com> Date: Thu, 24 Apr 2014 17:24:59 +0200 Subject: [PATCH] webui-ci: adjust id range tests to new validator
--- ipatests/test_webui/task_range.py | 33 +++++++++++++++++++-------------- ipatests/test_webui/test_range.py | 27 +++++++-------------------- ipatests/test_webui/test_trust.py | 6 ++++-- ipatests/test_webui/ui_driver.py | 9 +++++++-- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/ipatests/test_webui/task_range.py b/ipatests/test_webui/task_range.py index 4775078e7388078ccf4d6a59288388c3dd363ff5..3b9c84a96be00cbe556c04b7c29028c2b2f21d0c 100644 --- a/ipatests/test_webui/task_range.py +++ b/ipatests/test_webui/task_range.py @@ -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)) diff --git a/ipatests/test_webui/test_range.py b/ipatests/test_webui/test_range.py index 534cd1cdd20435aebf6fa5832fac68cbf717bf31..663ff42cb7e2e383d45b37d077cf2a21f006a7f4 100644 --- a/ipatests/test_webui/test_range.py +++ b/ipatests/test_webui/test_range.py @@ -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) diff --git a/ipatests/test_webui/test_trust.py b/ipatests/test_webui/test_trust.py index c0e851f322595399142a4a63f8774b660d8046b3..1e91767772a3a3d19bea76d31488748e7b7416ce 100644 --- a/ipatests/test_webui/test_trust.py +++ b/ipatests/test_webui/test_trust.py @@ -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) diff --git a/ipatests/test_webui/ui_driver.py b/ipatests/test_webui/ui_driver.py index 328f1b6991565a787b975d4867a84a453d4cd05d..7cfe21ad8985b04fcb296adccf0277a5f02833b9 100644 --- a/ipatests/test_webui/ui_driver.py +++ b/ipatests/test_webui/ui_driver.py @@ -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) - tb.clear() - tb.send_keys(value) + 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): """ -- 1.9.0
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel