Пример #1
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.")
 def test_create_new_org_w_env(self, mozwebqa):
     '''
     Test to create a new org, with environment.
     '''
     home_page = Home(mozwebqa)
     home_page.login()
     Assert.true(home_page.is_successful)
     Assert.true(home_page.header.is_user_logged_in)
     
     home_page.tabs.click_tab("organizations_tab")
     Assert.true(home_page.is_the_current_page)
     
     ENVIRONMENTS = ["DEV", "TEST", "STAGE", "PROD"]
     randenv = random.choice(ENVIRONMENTS)
     
     organizations = OrganizationsTab(mozwebqa)
     new_org_name = home_page.random_string()
     new_org_name = "Org%s" % home_page.random_string()
     
     organizations.create_new_org(new_org_name, randenv)
     Assert.true(home_page.is_successful)
     
     Assert.true(organizations.organization(new_org_name).is_displayed)
     Assert.true(organizations.is_org_details_tab_present)
     Assert.true(organizations.is_org_history_tab_present)
    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)
Пример #4
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)
Пример #5
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)
Пример #6
0
 def test_hello_link_works(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     
     hello = Hello(mozwebqa)
     hello.click_hello_link()
     Assert.true(hello.is_username_present)
Пример #7
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.")
Пример #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)
Пример #9
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.")
    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)
    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))
Пример #12
0
 def test_admin_login_logout(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     home_page.select_org(home_page.org).click()
             
     home_page.header.click_logout()
     Assert.true(home_page.is_username_field_present)
     Assert.true(home_page.is_password_field_present)
Пример #13
0
 def test_helptips_enabled_default(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     
     hello = Hello(mozwebqa)
     
     hello.click_hello_link()
     Assert.true(hello.is_helptips_enabled_present)
Пример #14
0
 def test_update_email_addr(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     
     hello = Hello(mozwebqa)
     
     hello.click_hello_link()
     
     new_user_email = "*****@*****.**" % home_page.random_string()
     hello.update_email_addr(new_user_email)
     Assert.true(home_page.is_successful) 
Пример #15
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)
Пример #16
0
 def test_dashboard_present(self, mozwebqa):
     """
     Verify dashboard page contains key elements.
     """
     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)
     
     dashboard = Dashboard(mozwebqa)
     
     Assert.true(dashboard.is_dashboard_dropbutton_present)
     Assert.true(dashboard.is_dashboard_subscriptions_present)
     Assert.true(dashboard.is_dashboard_notificaitons_present)
Пример #17
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)
Пример #18
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)
Пример #19
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)
Пример #20
0
 def test_create_new_org(self, mozwebqa):
     """
     Returns Pass if creating a new org is successfull
     """
     home_page = Home(mozwebqa)
     home_page.login()
     
     home_page.tabs.click_tab("organizations_tab")
     
     organizations = OrganizationsTab(mozwebqa)
     new_org_name = "Org%s" % home_page.random_string()
     
     organizations.create_new_org(new_org_name)
     Assert.true(home_page.is_successful)
     Assert.true(organizations.organization(new_org_name).is_displayed)
     Assert.true(organizations.is_org_details_tab_present)
     Assert.true(organizations.is_org_history_tab_present)
Пример #21
0
    def test_create_tdl(self, mozwebqa):
        '''
        Create TDL name and description, then remove
        '''
        home_page = Home(mozwebqa)
        home_page.login()

        page = SystemsTab(mozwebqa)
        #page.click(*login_org_selector)
        #page.click_by_text('a', 'redhat')
        page.go_to_page_view("system_templates")

        template_name = 'My System ' + str(time.time())
        template_description = 'My template description'
        page.create_system_template(template_name, template_description)
        page.click_by_text('span', template_name)
        page.remove_sys_template()
    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))
Пример #23
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)
Пример #24
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)
Пример #25
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)
Пример #26
0
    def test_create_tdl(self, mozwebqa):
        '''
        Create TDL name and description, then remove
        '''
        home_page = Home(mozwebqa)
        home_page.login()

        page = SystemsTab(mozwebqa)
        page.go_to_page_view("system_templates")

        template_name = 'My System ' + str(time.time())
        template_description = 'My template description'
        page.create_system_template(template_name, template_description)
        time.sleep(1)
        page.click_by_text('span', template_name)
        time.sleep(1)
        page.remove_element()

        time.sleep(1)
Пример #27
0
 def test_create_new_user(self, mozwebqa):
     '''
     Test to create a new User, no org, no environment.
     '''
     home_page = Home(mozwebqa)
     home_page.login()
     
     home_page.tabs.click_tab("administration_tab")
     
     administration = AdministrationTab(mozwebqa)
     new_user_name = home_page.random_string()
     new_user_name = "newuser-%s" % home_page.random_string()
     
     password = "******" % home_page.random_string()
     
     email_addr = new_user_name + "@example.com"
     administration.create_new_user(new_user_name, password, password, email_addr)
     
     Assert.true(home_page.is_successful)
     Assert.true(administration.user(new_user_name).is_displayed)
Пример #28
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"))
Пример #29
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"))
Пример #30
0
 def test_update_helptips(self, mozwebqa):
     home_page = Home(mozwebqa)
     home_page.login()
     
     hello = Hello(mozwebqa)
     
     hello.click_hello_link()
     hello.click_helptips()
     # Need to ensure this gets pushed to the DB
     time.sleep(2)
     home_page.tabs.click_tab("dashboard_tab")
     hello.click_hello_link()
     
     # Reset the value for future tests.
     hello.click_hello_link()
     hello.click_helptips()
     # Need to ensure this gets pushed to the DB
     time.sleep(2)
     home_page.tabs.click_tab("dashboard_tab")
     hello.click_hello_link()
     Assert.true(hello.is_helptips_enabled)