Exemplo n.º 1
0
    def test_load_manifest(self, mozwebqa):
        '''
        Scenario 1: Import Manifest (M1) from Distributor (D1) input Org1
        Result: Pass
        '''
        sysapi = ApiTasks(mozwebqa)
        home_page = Home(mozwebqa)
        
        new_org_name = "manifest%s" % home_page.random_string()
        sysapi.create_org(new_org_name)
        
        home_page.login()

        home_page.header.click_switcher()
        home_page.header.filter_org_in_switcher(new_org_name)
        home_page.header.click_filtered_result(new_org_name)

        cm = ContentManagementTab(mozwebqa)
        home_page.tabs.click_tab("content_management_tab")
        
        if home_page.project == "katello" or home_page.project == "cfse":
            cm.click_content_providers()
            cm.select_redhat_content_provider()
 
        cm.enter_manifest(os.path.realpath(self._org1_m1_manifest))
        Assert.true(home_page.is_successful)
        Assert.not_equal(cm.get_content_table_text, "No subscriptions have been imported.")
Exemplo n.º 2
0
    def test_systems_page(self, mozwebqa):
        """
        Randomly select a system from the systems page
        and verify that key elements are present.
        """
        home_page = Home(mozwebqa)
        home_page.login()
        home_page.click(*login_org_dropdown)
        home_page.click_by_text(login_org_name_selector_css, home_page.org)

        api = ApiTasks(mozwebqa)
        current_org = home_page.header.get_text_from_switcher
        api.create_envs(current_org)
        new_system_name = "system%s" % home_page.random_string()
        api.create_new_system(new_system_name, current_org)
        
        home_page.click_tab("systems_tab")
        
        systems = SystemsTab(mozwebqa)
        system_object = systems.select_random

        systems.system(system_object).click()

        Assert.true(systems.is_system_details_tab_present)
        Assert.true(systems.is_system_facts_tab_present)
        Assert.true(systems.is_system_subscriptions_tab_present)
Exemplo n.º 3
0
    def test_load_same_manifest_to_same_org_w_force(self, mozwebqa):
        '''
        Scenario 2: Re-import same manifest into same org.
        Result: Pass
        '''
        home_page = Home(mozwebqa)
        sysapi = ApiTasks(mozwebqa)
        
        new_org_name = "manifest-%s" % home_page.random_string()
        sysapi.create_org(new_org_name)
        
        home_page.login()

        home_page.header.click_switcher()
        home_page.header.filter_org_in_switcher(new_org_name)
        home_page.header.click_filtered_result(new_org_name)

        cm = ContentManagementTab(mozwebqa)
        home_page.tabs.click_tab("content_management_tab")
        '''
        Need to clean this up a bit
        '''
        if home_page.project == "katello" or home_page.project == "cfse":
            cm.click_content_providers()
            cm.select_redhat_content_provider()
         
        cm.enter_manifest(os.path.realpath(self._org4_m1_manifest))
        
        cm.click_force()
        cm.enter_manifest(os.path.realpath(self._org4_m1_manifest))
        Assert.true(home_page.is_successful)
    def test_remove_activationkey(self, mozwebqa):
        """
        Return True if removing a activation key is successful.
        """
        home_page = Home(mozwebqa)
        api = ApiTasks(mozwebqa)
        activationkeys = ActivationKeysTab(mozwebqa)
        
        home_page.login()
        
        current_org = home_page.header.get_text_from_switcher
        api.create_envs(current_org)
        
        home_page.tabs.click_tab("systems_tab")
        home_page.jquery_wait(30)
        home_page.tabs.click_tab("activation_keys")

        new_activationkey_name = "rmactivkey%s" % home_page.random_string()
        activationkeys.click_new()
        activationkeys.enter_activation_key_name(new_activationkey_name)
        activationkeys.enter_activation_key_description(new_activationkey_name)
        activationkeys.click_save()

        home_page.enter_search_criteria(new_activationkey_name)
        home_page.jquery_wait(30)

        if not activationkeys.is_block_active:
            activationkeys.activationkey(new_activationkey_name).click()

        home_page.click_remove()
        home_page.click_confirm()
        Assert.true(home_page.is_successful)
Exemplo n.º 5
0
    def test_NumberFormatException_forInputString(self, mozwebqa):
        """
        Regression Test for bz786963
        """
        home_page = Home(mozwebqa)
        sysapi = ApiTasks(mozwebqa)
        
        new_org_name = "manifest-%s" % home_page.random_string()
        sysapi.create_org(new_org_name)
        
        home_page.login()

        home_page.header.click_switcher()
        home_page.header.filter_org_in_switcher(new_org_name)
        home_page.header.click_filtered_result(new_org_name)

        cm = ContentManagementTab(mozwebqa)
        home_page.tabs.click_tab("content_management_tab")

        if home_page.project == "katello" or home_page.project == "cfse":
            cm.click_content_providers()
            cm.select_redhat_content_provider()

        cm.enter_manifest(os.path.realpath(self._bz786963_manifest))
        Assert.true(home_page.is_successful)
        Assert.not_equal(cm.get_content_table_text, "No subscriptions have been imported.")
Exemplo n.º 6
0
    def test_load_new_manifest_into_same_org_wo_force(self, mozwebqa):
        '''
        Scenario 5: Load updated (new) manifest into org where a manifest already exists.
        Result: Pass
        '''
        sysapi = ApiTasks(mozwebqa)
        home_page = Home(mozwebqa)
        
        new_org_name = "manifest-%s" % home_page.random_string()
        sysapi.create_org(new_org_name)
        
        home_page.login()

        home_page.header.click_switcher()
        home_page.header.filter_org_in_switcher(new_org_name)
        home_page.header.click_filtered_result(new_org_name)

        cm = ContentManagementTab(mozwebqa)
        home_page.tabs.click_tab("content_management_tab")

        if home_page.project == "katello" or home_page.project == "cfse":
            cm.click_content_providers()
            cm.select_redhat_content_provider()

        cm.enter_manifest(os.path.realpath(self._scenario5_o1_m1_manifest))
        cm.enter_manifest(os.path.realpath(self._scenario5_o1_m2_manifest))
        
        Assert.true(home_page.is_successful)
        Assert.not_equal(cm.get_content_table_text, "No subscriptions have been imported.")
    def test_recreate_previously_deleted_org(self, mozwebqa):
        home_page = Home(mozwebqa)
        home_page.login()
        Assert.true(home_page.is_successful)
        
        home_page.tabs.click_tab("organizations_tab")
        organizations = OrganizationsTab(mozwebqa)
        sysapi = ApiTasks(mozwebqa)

        _new_org_name = "recreateorg%s" % home_page.random_string()
        sysapi.create_org(_new_org_name)

        home_page.tabs.click_tab("organizations_tab")
        Assert.true(home_page.is_the_current_page)
        home_page.enter_search_criteria("recreateorg*")
        organizations.organization(_new_org_name).click()
        Assert.true(organizations.is_block_active)
        organizations.remove_a_org()
        Assert.true(home_page.is_successful)

        time.sleep(15)
        home_page.tabs.click_tab("organizations_tab")
        Assert.true(home_page.is_the_current_page)
        
        organizations.create_new_org(_new_org_name)
        Assert.true(home_page.is_successful)
Exemplo n.º 8
0
    def test_load_same_manifest_to_same_org_wo_force(self, mozwebqa):
        '''
        Scenario 2 with a twist. Import Manifest (M1) from Distributor (D1) into 
        Org1 w/o useing force.
        Result: Expect Fail
        '''
        sysapi = ApiTasks(mozwebqa)
        home_page = Home(mozwebqa)
        
        new_org_name = "manifest%s" % home_page.random_string()
        sysapi.create_org(new_org_name)
        
        home_page.login()

        home_page.header.click_switcher()
        home_page.header.filter_org_in_switcher(new_org_name)
        home_page.header.click_filtered_result(new_org_name)

        cm = ContentManagementTab(mozwebqa)
        home_page.tabs.click_tab("content_management_tab")

        if home_page.project == "katello" or home_page.project == "cfse":
            cm.click_content_providers()
            cm.select_redhat_content_provider()

        cm.enter_manifest(os.path.realpath(self._scenario2_m1_d1_manifest))

        cm.enter_manifest(os.path.realpath(self._scenario2_m1_d1_manifest))
        Assert.true(home_page.is_failed)
    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.º 10
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.º 11
0
    def test_activation_key_workflow(self, mozwebqa):
        """
        Return True of a activation key can be created and a single
        subscription from a multi subscription manifest can be
        added.
        """
        home_page = Home(mozwebqa)
        api = ApiTasks(mozwebqa)
        _new_org_name = "activationkeyorg%s" % home_page.random_string()
        api.create_org(_new_org_name)
        api.create_envs(_new_org_name)
        
        home_page.login()
        
        home_page.header.click_switcher()
        home_page.header.filter_org_in_switcher(_new_org_name)
        home_page.header.click_filtered_result(_new_org_name)
        
        cm = ContentManagementTab(mozwebqa)
        home_page.tabs.click_tab("content_management_tab")
        
        if home_page.project == "katello" or home_page.project == "cfse":
            cm.click_content_providers()
            cm.select_redhat_content_provider()
            
        cm.enter_manifest(self._activationkey_manifest)
        home_page.is_dialog_cleared
        
        activationkeys = ActivationKeysTab(mozwebqa)
        home_page.tabs.click_tab("systems_tab")
        home_page.jquery_wait(30)
        home_page.tabs.click_tab("activation_keys")
        
        _new_activationkey_name = "%s" % home_page.random_string()
        activationkeys.click_new()
        activationkeys.enter_activation_key_name(_new_activationkey_name)
        activationkeys.enter_activation_key_description(_new_activationkey_name)
        activationkeys.click_save()

        activationkeys.click_available_subscriptions()
        
        rand_sub_id = activationkeys.select_a_random_sub()
        activationkeys.click_add_sub()

        activationkeys.click_applied_subscriptions()
        Assert.true(activationkeys.find_sub_by_id(rand_sub_id))
Exemplo n.º 12
0
 def test_duplicate_org_disallowed(self, mozwebqa):
     """
     Returns PASS if trying to create a org that exists
     fails.
     """
     home_page = Home(mozwebqa)
     sysapi = ApiTasks(mozwebqa)
     organizations = OrganizationsTab(mozwebqa)
     
     new_org_name = "duporg%s" % home_page.random_string()
     sysapi.create_org(new_org_name)
     
     home_page.login()
     home_page.tabs.click_tab("organizations_tab")
     organizations.create_new_org(new_org_name)
     
     Assert.true(home_page.is_failed)
Exemplo n.º 13
0
    def test_switch_org(self, mozwebqa):
        """
        Return True if switching to a random org in the 
        org switcher is successful.
        """
        sysapi = ApiTasks(mozwebqa)
        home_page = Home(mozwebqa)
        
        new_org_name = "someorg%s" % home_page.random_string()
        sysapi.create_org(new_org_name)
        
        home_page.login()

        active_org = home_page.header.get_text_from_switcher
        home_page.header.click_switcher()
        home_page.header.select_a_random_switcher_org()
        
        Assert.true(home_page.header.is_dashboard_selected)
Exemplo n.º 14
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.º 15
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.º 16
0
    def test_search_orgs(self,mozwebqa):
        home_page = Home(mozwebqa)
        sysapi = ApiTasks(mozwebqa)
        
        for i in range(1,5):
            new_org_name = "%s" % home_page.random_string()
            sysapi.create_org(new_org_name)
            
        for i in range(1,5):
            new_org_name = "SearchOrg%s" % home_page.random_string()
            sysapi.create_org(new_org_name)
            
        home_page.login()
        Assert.true(home_page.is_successful)
        
        home_page.tabs.click_tab("organizations_tab")
        organizations = OrganizationsTab(mozwebqa)

        home_page.enter_search_criteria("SearchOrg*")
        Assert.true(organizations.is_search_correct("SearchOrg"))
Exemplo n.º 17
0
 def test_search_systems(self, mozwebqa):
     home_page = Home(mozwebqa)
     sysapi = ApiTasks(mozwebqa)
     
     home_page.login()
     current_org = home_page.header.get_text_from_switcher
     # Some bad results
     for i in range(1,5):
         new_system_name = "%s" % home_page.random_string()
         sysapi.create_new_system(new_system_name, current_org)
     # The actual systems to search for   
     for i in range(1,5):
         new_sys_name = "SearchSys%s" % home_page.random_string()
         sysapi.create_new_system(new_sys_name, current_org)
         
     home_page.tabs.click_tab("systems_tab")
     systems = SystemsTab(mozwebqa)
     
     home_page.enter_search_criteria("SearchSys*")
     Assert.true(systems.is_search_correct("SearchSys"))
Exemplo n.º 18
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.º 19
0
    def test_search_systems(self, mozwebqa):
        home_page = Home(mozwebqa)
        sysapi = ApiTasks(mozwebqa)
        
        home_page.login()
        home_page.click(*login_org_dropdown)
        home_page.click_by_text(login_org_name_selector_css, home_page.org)
        current_org = home_page.header.get_text_from_switcher

        for i in range(1,5):
            new_system_name = "%s" % home_page.random_string()
            sysapi.create_new_system(new_system_name, current_org)

        for i in range(1,5):
            new_sys_name = "SearchSys%s" % home_page.random_string()
            sysapi.create_new_system(new_sys_name, current_org)
            
        home_page.click_tab("systems_tab")
        systems = SystemsTab(mozwebqa)
        
        home_page.enter_search_criteria("SearchSys*")
        Assert.true(systems.is_search_correct("SearchSys"))
Exemplo n.º 20
0
    def test_remove_a_system(self, mozwebqa):
        ''' 
        create via api and remove a system.
        '''
        home_page = Home(mozwebqa)
        home_page.login()
        
        api = ApiTasks(mozwebqa)
        current_org = home_page.header.get_text_from_switcher
        api.create_envs(current_org)
        new_system_name = "rmsystem%s" % home_page.random_string()

        api.create_new_system(new_system_name, current_org)
        
        home_page.tabs.click_tab("systems_tab")
        
        systems = SystemsTab(mozwebqa)
        home_page.enter_search_criteria(new_system_name)
        systems.system(new_system_name).click()
        
        systems.remove_a_system()
        Assert.true(home_page.is_successful) 
Exemplo n.º 21
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.º 22
0
 def test_create_activation_key(self, mozwebqa):
     """
     Return True if create activation key is successful.
     """
     home_page = Home(mozwebqa)
     home_page.login()
     
     current_org = home_page.header.get_text_from_switcher
     api = ApiTasks(mozwebqa)
     api.create_envs(current_org)
     
     home_page.tabs.click_tab("systems_tab")
     home_page.jquery_wait(30)
     home_page.tabs.click_tab("activation_keys")
     
     activationkeys = ActivationKeysTab(mozwebqa)
     
     new_activationkey_name = "newactivkey-%s" % home_page.random_string()
     activationkeys.click_new()
     activationkeys.enter_activation_key_name(new_activationkey_name)
     activationkeys.enter_activation_key_description(new_activationkey_name)
     activationkeys.click_save()
     Assert.true(home_page.is_successful)
Exemplo n.º 23
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)