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))
Exemplo n.º 2
0
    def test_login_non_admin(self, mozwebqa):
        sysapi = ApiTasks(mozwebqa)
        home_page= Home(mozwebqa)
       
        new_user_name = "random%s" % home_page.random_string()
        password = "******" % home_page.random_string()
        email_addr = new_user_name + "@example.com"

        sysapi.create_user(new_user_name, password, email_addr)
        
        home_page.login(new_user_name, password)
        Assert.true(home_page.is_successful)
Exemplo n.º 3
0
 def test_duplicate_user_disallowed(self, mozwebqa):
     """
     Returns Pass if creating a existing user fails.
     """
     home_page = Home(mozwebqa)
     sysapi = ApiTasks(mozwebqa)
     
     new_user_name = "dupuser%s" % home_page.random_string()
     password = "******" % home_page.random_string()
     email_addr = new_user_name + "@example.com"
     sysapi.create_user(new_user_name, password, email_addr)
     
     home_page.login()
     home_page.tabs.click_tab("administration_tab")
     
     administration = AdministrationTab(mozwebqa)
     administration.create_new_user(new_user_name, password, password, email_addr)
     
     Assert.true(home_page.is_failed)
Exemplo n.º 4
0
 def test_change_user_password_valid_as_admin(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     
     administration = AdministrationTab(mozwebqa)
     sysapi = ApiTasks(mozwebqa)
     
     new_user_name = "chgpasswd-%s" % home_page.random_string()
     password = "******" % home_page.random_string()
     email_addr = new_user_name + "@example.com"
     
     sysapi.create_user(new_user_name, password, email_addr)
     home_page.tabs.click_tab("administration_tab")
     home_page.enter_search_criteria(new_user_name)
     administration.user(new_user_name).click()
     
     new_password = "******" % home_page.random_string()
     administration.change_password(new_password)
     Assert.true(home_page.is_successful)
Exemplo n.º 5
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)
Exemplo n.º 6
0
 def test_user_search(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     
     home_page.tabs.click_tab("administration_tab")
     administration = AdministrationTab(mozwebqa)
     sysapi = ApiTasks(mozwebqa)
     
     for i in range(1,5):
         new_user_name = "%s" % home_page.random_string()
         password = "******" % home_page.random_string()
         email_addr = new_user_name + "@example.com"
         sysapi.create_user(new_user_name, password, email_addr)
         
     for i in range(1,5):
         new_user_name = "searchuser-%s" % home_page.random_string()
         password = "******" % home_page.random_string()
         email_addr = new_user_name + "@example.com"
         sysapi.create_user(new_user_name, password, email_addr)
         
     home_page.enter_search_criteria("searchuser*")
     home_page.jquery_wait(30)
     administration.is_search_correct("searchuser")
Exemplo n.º 7
0
    def test_remove_a_user(self, mozwebqa):
        '''
        Test to remove a single user.
        '''
        home_page = Home(mozwebqa)
        sysapi = ApiTasks(mozwebqa)

        new_user_name = "rmuser%s" % home_page.random_string()
        password = "******" % home_page.random_string()
        email_addr = new_user_name + "@example.com"
        sysapi.create_user(new_user_name, password, email_addr)   

        home_page.login()
        
        home_page.tabs.click_tab("administration_tab")
        administration = AdministrationTab(mozwebqa)
        home_page.enter_search_criteria(new_user_name) 
        
        administration.user(new_user_name).click()

        home_page.click_remove()
        home_page.click_confirm()
        
        Assert.true(home_page.is_successful)