Guest User

Untitled

a guest
Aug 8th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.38 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from unittestzero import Assert
  3. from pages.home import Home
  4. from pages.administration import RolesTab
  5. from api.api import ApiTasks
  6. import time
  7. import pytest
  8.  
  9. from data.datadrv import *
  10.  
  11. class TestRolesDataDriven(object):
  12.     scenarios = [scenario1,scenario2]
  13.    
  14.     @pytest.mark.challenge    
  15.     def test_datadriven_rbac(self, mozwebqa, org, perm_name, resource, verbs, allowed, disallowed):
  16.         """
  17.        Perform a data driven test related to role based access controls.
  18.        All parameters are fullfilled by the data.  
  19.        
  20.        :param org: Organization Name
  21.        :param perm_name: Permission name
  22.        :param resource: Resource
  23.        :param verbs: A tuple of verbs
  24.        :returns: Pass or Fail for the test
  25.        """
  26.  
  27.         sysapi = ApiTasks(mozwebqa)
  28.         home_page = Home(mozwebqa)
  29.         rolestab = RolesTab(mozwebqa)
  30.        
  31.         role_name = "role_%s" % (home_page.random_string())
  32.         perm_name = "perm_%s" % (home_page.random_string())
  33.         username = "user%s" % home_page.random_string()
  34.         email = username + "@example.com"
  35.         password = "redhat%s" % (home_page.random_string())
  36.        
  37.         sysapi.create_org(org)
  38.         sysapi.create_user(username, password, email)
  39.        
  40.         home_page.login()
  41.        
  42.         home_page.tabs.click_tab("administration_tab")
  43.         home_page.tabs.click_tab("roles_administration")
  44.         home_page.click_new()
  45.         rolestab.create_new_role(role_name)
  46.        
  47.         rolestab.click_role_permissions()
  48.            
  49.         rolestab.role_org(org).click()
  50.         rolestab.click_add_permission()
  51.        
  52.         rolestab.select_resource_type(resource)
  53.         home_page.click_next()
  54.         for v in verbs:
  55.             home_page.select('verbs', v)
  56.         home_page.click_next()
  57.        
  58.         rolestab.enter_permission_name(perm_name)
  59.         rolestab.enter_permission_desc('Added by QE test.')
  60.         rolestab.click_permission_done()
  61.        
  62.         rolestab.click_root_roles()
  63.         rolestab.click_role_users()
  64.            
  65.         rolestab.role_user(username).add_user()
  66.        
  67.         home_page.header.click_logout()
  68.         home_page.login(username, password)
  69.        
  70.         for t in allowed:
  71.             Assert.true(t(home_page))
  72.        
  73.         for t in disallowed:
  74.             Assert.false(t(home_page))
Add Comment
Please, Sign In to add comment