예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
    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")
예제 #4
0
    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))