def test_create_new_role(self, mozwebqa): home_page = Home(mozwebqa) rolestab = RolesTab(mozwebqa) home_page.login() home_page.select_org(home_page.org).click() home_page.tabs.click_tab("administration_tab") home_page.jquery_wait(30) home_page.tabs.click_tab("roles_administration") role_name = "newrole%s" % home_page.random_string() rolestab.create_new_role(role_name) Assert.true(home_page.is_successful)
def test_duplicate_rolename_disallowed(self, mozwebqa): home_page = Home(mozwebqa) rolestab = RolesTab(mozwebqa) home_page.login() home_page.select_org(home_page.org).click() home_page.tabs.click_tab("administration_tab") home_page.jquery_wait(30) home_page.tabs.click_tab("roles_administration") role_name = "duprole%s" % home_page.random_string() rolestab.create_new_role(role_name) time.sleep(4) rolestab.create_new_role(role_name) Assert.true(home_page.is_failed)
def test_confirm_default_roles(self, mozwebqa): roles = ["Administrator", "Read Everything"] home_page = Home(mozwebqa) home_page.login() home_page.select_org(home_page.org).click() rolestab = RolesTab(mozwebqa) # home_page.tabs.click_tab("administer_tab") print admin_drop_down home_page.mouse_to_element(*admin_drop_down) home_page.tabs.click_tab("roles_tab") for role in roles: rolestab.role(role).click() Assert.true(rolestab.is_permissions_visible) Assert.true(rolestab.is_users_visible) home_page.jquery_wait() displayed_role = rolestab.get_breadcrumb_role_name Assert.equal(displayed_role, role, "Expected role was not found")
def test_add_user_to_readeverything_role(self, mozwebqa): home_page = Home(mozwebqa) sysapi = ApiTasks(mozwebqa) rolestab = RolesTab(mozwebqa) username = "******" % home_page.random_string() email = username + "@example.com" password = home_page.random_string() sysapi.create_user(username, password, email) home_page.login() home_page.select_org(home_page.org).click() home_page.tabs.click_tab("administration_tab") home_page.jquery_wait(30) home_page.tabs.click_tab("roles_administration") rolestab.role("Read Everything").click() rolestab.click_role_users() rolestab.role_user(username).add_user() Assert.true(rolestab.is_remove_visible)
def test_datadriven_rbac(self, mozwebqa, org, perm_name, resource, verbs, allowed, disallowed): """ Perform a data driven test related to role based access controls. All parameters are fullfilled by the data. :param org: Organization Name :param perm_name: Permission name :param resource: Resource :param verbs: A tuple of verbs :returns: Pass or Fail for the test """ sysapi = ApiTasks(mozwebqa) home_page = Home(mozwebqa) rolestab = RolesTab(mozwebqa) role_name = "role_%s" % (home_page.random_string()) perm_name = "perm_%s" % (home_page.random_string()) username = "******" % home_page.random_string() email = username + "@example.com" password = "******" % (home_page.random_string()) sysapi.create_org(org) sysapi.create_user(username, password, email) home_page.login() home_page.tabs.click_tab("administration_tab") home_page.tabs.click_tab("roles_administration") rolestab.create_new_role(role_name) rolestab.click_role_permissions() rolestab.role_org(org).click() rolestab.click_add_permission() rolestab.select_resource_type(resource) home_page.click_next() for v in verbs: home_page.select('verbs', v) home_page.click_next() rolestab.enter_permission_name(perm_name) rolestab.enter_permission_desc('Added by QE test.') rolestab.click_permission_done() rolestab.click_root_roles() rolestab.click_role_users() rolestab.role_user(username).add_user() home_page.header.click_logout() home_page.login(username, password) for t in allowed: Assert.true(t(home_page)) for t in disallowed: Assert.false(t(home_page))