def check_on_permission(self, db_name, driver, group_label, single_label, type): """ If you just know the presentation label and want to select it. """ db_conn = Call_Oracle() db_conn.login(db_name) group_perm_id = db_conn.get_permission_id_from_label(group_label, "group", type) single_perm_id = db_conn.get_permission_id_from_label(single_label, "single", type) db_conn.close_connection() group_elem_xpath = self.get_xpath(group_perm_id, "group") single_elem_xpath = self.get_xpath(single_perm_id, "single") try: comp_elem = self.page.find_element_by_xpath(driver, single_elem_xpath) if comp_elem.get_attribute("checked") is None: time.sleep(1) comp_elem.click() logger.info("====Assigned %s permission: '%s/%s'" % (type, group_label, single_label)) else: logger.warn("..The permission '%s' was already assigned. Continue without change" % single_label) except (NoSuchElementException, ElementNotVisibleException): group_elem = self.page.find_element_by_xpath(driver, group_elem_xpath) group_elem.click() comp_elem = self.page.find_element_by_xpath(driver, single_elem_xpath) if comp_elem.get_attribute("checked") is None: time.sleep(1) comp_elem.click() logger.info("====Assigned %s permission: '%s/%s'" % (type, group_label, single_label)) else: logger.warn("..The permission '%s' was already assigned. Continue without change" % single_label)
def check_off_permission(self, db_name, driver, group_label, single_label, type): db_conn = Call_Oracle() db_conn.login(db_name) group_perm_id = db_conn.get_permission_id_from_label(group_label, "group", type) single_perm_id = db_conn.get_permission_id_from_label(single_label, "single", type) db_conn.close_connection() group_elem_xpath = self.page.get_xpath(group_perm_id, "group") single_elem_xpath = self.page.get_xpath(single_perm_id, "single") try: comp_elem = self.page.find_element_by_xpath(driver, single_elem_xpath) if comp_elem.get_attribute("checked") is None: logger.warn("..The permission '%s' was NOT checked before. Continue without change" % single_label) else: time.sleep(1) comp_elem.click() logger.info("====Revoked %s permission '%s/%s'" % (type, group_label, single_label)) except (NoSuchElementException, ElementNotVisibleException): group_elem = self.page.find_element_by_xpath(driver, group_elem_xpath) group_elem.click() comp_elem = self.page.find_element_by_xpath(driver, single_elem_xpath) if comp_elem.get_attribute("checked") is None: logger.warn("..The permission '%s' was NOT checked before. Continue without change" % single_label) else: time.sleep(1) comp_elem.click() logger.info("====Revoked the %s permission '%s/%s'" % (type, group_label, single_label))
def set_new_company_permission(self, driver, permission_group_label, permission_label, element_type='checkbo'): #click on the "Update Permission" button on the page logger.info("To update company permissions....") self.page.find_element_by_xpath("//input[@type='submit']").click() #get permission id, which will be used to find the label in permission change page db_conn = Call_Oracle() db_conn.login_to_xroad6() perm_group_id = db_conn.get_permission_id_from_label(permission_group_label, 'group', element_type) perm_id = db_conn.get_permission_id_from_label(permission_label, 'company_permission', element_type) db_conn.close_connection() perm_group_tag = perm_group_id + '_span' perm_id_tag = perm_id perm_group_xpath = "//span[@id='%s']"%perm_group_tag per_id_xpath = "//input[@id='%s']"%perm_id_tag self.page.find_element_by_xpath(driver, perm_group_xpath).click() self.page.find_elements_by_xpath(driver, per_id_xpath).click()
def verify_user_has_no_such_permission_in_DB(self, user_id, permission_id, db_name='xroad6_test'): a = Call_Oracle() a.login_db(db_name) a.verify_user_has_no_such_permission_in_DB(user_id, permission_id) a.close_db_connection()