def test_deploy_no_ha_1_compute(self):
        PoteenLogger.add_test_case("Deploy without HA mode 1 compute")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())

        # create cluster
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment({
            "name":
            "Test environment",
            "version":
            OPENSTACK_CURRENT_VERSION,
            "deployment_mode":
            Cluster.DEPLOYMENT_MODE_MULTI_NODE
        }))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))

        logger.info(Cluster_Nodes_View().click_add_nodes())
        logger.info(Cluster_Nodes_View().assign_roles_to_nodes(
            ['compute'], ["Dell Inspiron"]))
        logger.info(Cluster_Nodes_View().verify_nodes('compute',
                                                      ["Dell Inspiron"]))
        logger.info(Cluster_View().click_deploy_changes())
        logger.info(VerifyBot().verify_contains(
            'disabled',
            DeployChangesDialog().deploy_button().get_element().get_attribute(
                'class'), 'Deploy button'))
        logger.info(VerifyBot().verify_visibility(
            DeployChangesDialog().alert_message.get_element(), True,
            "Alert error message"))
예제 #2
0
    def test_form(self):
        PoteenLogger.add_test_case(
            "Testing cluster page")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())
        logger.info(
            Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment(
            {
                "name": "Test environment",
                "version": OPENSTACK_CURRENT_VERSION,
                "deployment_mode": Cluster.DEPLOYMENT_MODE_MULTI_NODE
            }
        ))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))
        logger.info(VerifyBot().verify_visibility(
            Cluster_Nodes_View().addNodes.get_element(),
            True, "Add nodes button"))
        logger.info(VerifyBot().verify_disabled(
            Cluster_Nodes_View().deleteNodes.get_element(),
            'true', "Delete nodes button"))
        logger.info(VerifyBot().verify_visibility(
            Cluster_Nodes_View().environment_status.get_element(),
            True, "Environment status"))
        logger.info(VerifyBot().verify_disabled(
            Cluster_Nodes_View().groupBy.get_element(),
            'true', "Group by select"))
예제 #3
0
    def test_testing_deployment(self):
        PoteenLogger.add_test_case(
            "Testing deployment")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment(
            {
                "name": "Test environment",
                "version": OPENSTACK_CURRENT_VERSION,
                "deployment_mode": Cluster.DEPLOYMENT_MODE_MULTI_NODE
            }
        ))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))
        logger.info(Cluster_Nodes_View().click_add_nodes())
        available_nodes_names = Cluster_Nodes_ListView()\
            .get_nodes_names_by_status('Discovered')
        logger.info(Cluster_Nodes_View().assign_roles_to_nodes(
            ['controller'], available_nodes_names[:1]
        ))
        logger.info(Cluster_View().click_deploy_changes())
        logger.info(DeployChangesDialog().deploy())
        logger.info(VerifyBot().verify_disabled(
            Cluster_Nodes_View().addNodes.get_element(),
            'true', "Add node button is disabled"))
        logger.info(VerifyBot().verify_disabled(
            Cluster_Nodes_View().deleteNodes.get_element(),
            'true', "Delete node button is disabled"))
        logger.info(Cluster_View().wait_deployment_done(
            DEFAULT_DEPLOYMENT_TIMEOUT_UI
        ))
    def test_form_creation_with_grizzly(self):
        PoteenLogger.add_test_case("Check creation page with grizzly")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(
            CreateEnvironmentDialog().name.set_value("Test environment"))
        logger.info(WaitBot().wait_loading())
        logger.info(
            CreateEnvironmentDialog().version.set_value(OPENSTACK_GRIZZLY))
        logger.info(CreateEnvironmentDialog().name.click())
        WaitBot().wait_for_stop_resizing(
            By.XPATH,
            CreateEnvironmentDialog().XPATH_DIALOG)
        logger.info(VerifyBot().verify_visibility(
            CreateEnvironmentDialog().instruction.get_element(), False,
            "Instruction for RHOS"))
        logger.info(CreateEnvironmentDialog().verify_release_description(
            "OpenStack Grizzly packages using CentOS as a base operating "
            "system"))
        logger.info(
            CreateEnvironmentDialog().version.set_value(OPENSTACK_RHOS))
        logger.info(CreateEnvironmentDialog().name.click())
        WaitBot().wait_for_stop_resizing(
            By.XPATH,
            CreateEnvironmentDialog().XPATH_DIALOG)
        logger.info(CreateEnvironmentDialog().verify_release_description(
            "Red Hat Enterprise Linux OpenStack Platform using RHEL as a base "
            "operating system"))
        if VerifyBot().is_element_displayed(
                CreateEnvironmentDialog().username):
            logger.info(VerifyBot().verify_visibility(
                CreateEnvironmentDialog().instruction.get_element(), True,
                "Instruction for RHOS"))
        logger.info(
            CreateEnvironmentDialog().version.set_value(OPENSTACK_GRIZZLY))
        logger.info(CreateEnvironmentDialog().name.click())
        WaitBot().wait_for_stop_resizing(
            By.XPATH,
            CreateEnvironmentDialog().XPATH_DIALOG)
        logger.info(CreateEnvironmentDialog().verify_release_description(
            "OpenStack Grizzly packages using CentOS as a base operating "
            "system"))
        logger.info(VerifyBot().verify_visibility(
            CreateEnvironmentDialog().instruction.get_element(), False,
            "Instruction for RHOS"))
예제 #5
0
 def verify_nodelists_visibility(self, value, *roles):
     rl = ResultList("Verify node lists visibility")
     for role in roles:
         rl.push(VerifyBot().verify_visibility(
             self.nodelist.find(role=role).get_element(),
             value, "'{role}' nodelist"))
     return rl
예제 #6
0
    def test_form(self):
        PoteenLogger.add_test_case("Check network settings page")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())

        # create cluster
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment({
            "name":
            "Test environment",
            "version":
            OPENSTACK_CURRENT_VERSION,
            "deployment_mode":
            Cluster.DEPLOYMENT_MODE_MULTI_NODE
        }))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))

        logger.info(Cluster_View().click_network_settings_tab())
        logger.info(NetworkSettingsView().verify_flatDHCP_manager_value("on"))
        logger.info(NetworkSettingsView().verify_VLAN_manager_value("off"))
        logger.info(NetworkSettingsView().verify_amount_of_blocks(5))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().cancel_changes.get_element(), 'true',
            "Cancel changes button"))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().verify_networks.get_element(), None,
            "Verify networks button"))
        default_value = NetworkSettingsView().vm_networks_cidr.get_value()
        logger.info(
            NetworkSettingsView().vm_networks_cidr.set_value("240.0.1.0/25"))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().save_settings.get_element(), None,
            "Save settings button"))
        logger.info(
            NetworkSettingsView().vm_networks_cidr.set_value(default_value))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))
    def test_deploy_2_controller(self):
        PoteenLogger.add_test_case(
            "Deploy in mode with HA ({controllers} controllers + "
            "{computes} compute nodes)".format(controllers=2, computes=0))

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())

        # create cluster
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment({
            "name":
            "Test environment",
            "version":
            OPENSTACK_CURRENT_VERSION,
            "deployment_mode":
            Cluster.DEPLOYMENT_MODE_MULTI_NODE_WITH_HA
        }))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))

        logger.info(Cluster_Nodes_View().click_add_nodes())
        available_nodes_names = Cluster_Nodes_ListView()\
            .get_nodes_names_by_status('Discovered')
        logger.info(Cluster_Nodes_View().assign_roles_to_nodes(
            ['controller'], available_nodes_names[:2]))

        logger.info(Cluster_Nodes_View().verify_nodes(
            'controller', *available_nodes_names[:2]))

        logger.info(Cluster_View().click_deploy_changes())
        logger.info(VerifyBot().verify_visibility(
            DeployChangesDialog().alert_message.get_element(), True,
            'Alert message'))
        logger.info(VerifyBot().verify_contains(
            'disabled',
            DeployChangesDialog().deploy_button().get_element().get_attribute(
                'class'), 'Deploy button'))
예제 #8
0
    def test_change_network(self):
        PoteenLogger.add_test_case("Change network manager")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())

        # create cluster
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment({
            "name":
            "Test environment",
            "version":
            OPENSTACK_CURRENT_VERSION,
            "deployment_mode":
            Cluster.DEPLOYMENT_MODE_MULTI_NODE
        }))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))

        logger.info(Cluster_View().click_network_settings_tab())
        logger.info(NetworkSettingsView().verify_flatDHCP_manager_value("on"))
        logger.info(NetworkSettingsView().verify_VLAN_manager_value("off"))
        logger.info(
            NetworkSettingsView().verify_visibility_vlan_manager_fields(False))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))
        logger.info(NetworkSettingsView().set_VLAN_manager("on"))
        logger.info(NetworkSettingsView().verify_flatDHCP_manager_value("off"))
        logger.info(VerifyBot().verify_disabled(
            NetworkSettingsView().save_settings.get_element(), None,
            "Save settings button"))
        logger.info(
            NetworkSettingsView().verify_visibility_vlan_manager_fields(True))
        logger.info(NetworkSettingsView().set_flatDHCP_manager("on"))
        logger.info(NetworkSettingsView().verify_VLAN_manager_value("off"))
        logger.info(
            NetworkSettingsView().verify_visibility_vlan_manager_fields(False))
예제 #9
0
    def verify_amount(self, elements_role, value):
        result = None
        try:
            elements = self.get_nodes(role=elements_role)

            if value == 0:
                result = Result(
                    "Verify if amount of {role} is 0".format(
                        role=elements_role, value=value),
                    VerifyBot().verify_visibility(
                        elements, False, elements_role).i_passed())
            else:
                result = Result(
                    "Verify if amount of {role} is {value}".format(
                        role=elements_role, value=value),
                    len(elements) == value)

        except ElementNotFoundException:
            if value == 0:
                result = Result("There are no {name}".format(
                    role=elements_role), True)
        return result
예제 #10
0
 def verify_visibility_vlan_manager_fields(self, value):
     rl = ResultList("Verify vlan manager fields "
                     "are visible: {value}".format(value=value))
     rl.push(VerifyBot().verify_visibility(
         NetworkSettingsView().vm_networks_number_of_networks.get_element(),
         value, "Number of networks"))
     rl.push(VerifyBot().verify_visibility(
         NetworkSettingsView().vm_networks_size_of_networks.get_element(),
         value, "Size of networks"))
     if value:
         rl.push(VerifyBot().verify_visibility(
             NetworkSettingsView().vm_networks_vlan_id_range_start.
             get_element(), value, "Start of VLAN ID range"))
         rl.push(VerifyBot().verify_visibility(
             NetworkSettingsView().vm_networks_vlan_id_range_end.
             get_element(), value, "End of VLAN ID range"))
     else:
         rl.push(VerifyBot().verify_visibility(
             NetworkSettingsView().vm_networks_vlan_id_range_start, value,
             "Start of VLAN ID range"))
         rl.push(VerifyBot().verify_visibility(
             NetworkSettingsView().vm_networks_vlan_id_range_end, value,
             "End of VLAN ID range"))
     return rl
예제 #11
0
    def test_form(self):
        PoteenLogger.add_test_case("Check openstack settings page")

        cluster_key = "cluster"

        logger.info(Main().navigate())
        logger.info(Cluster_BrowseView().remove_all())

        # create cluster
        logger.info(Cluster_BrowseView().click_add_new_cluster(cluster_key))
        logger.info(CreateEnvironmentDialog().create_environment({
            "name":
            "Test environment",
            "version":
            OPENSTACK_CURRENT_VERSION,
            "deployment_mode":
            Cluster.DEPLOYMENT_MODE_MULTI_NODE
        }))
        logger.info(Cluster_BrowseView().select_by_key(cluster_key))

        logger.info(Cluster_View().click_openstack_settings_tab())
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().load_defaults.get_element(), None,
            "Load defaults button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().cancel_changes.get_element(), 'true',
            "Cancel changes button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))
        logger.info(OpenstackSettingsView().show_password.click())
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().cancel_changes.get_element(), 'true',
            "Cancel changes button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().load_defaults.get_element(), None,
            "Load defaults button"))
        logger.info(VerifyBot().verify_visibility(
            OpenstackSettingsView().show_password_off.get_element(), True,
            "Show password button off"))
        logger.info(OpenstackSettingsView().show_password.click())
        logger.info(VerifyBot().verify_visibility(
            OpenstackSettingsView().show_password_on.get_element(), True,
            "Show password button on"))

        logger.info(OpenstackSettingsView().set_parameter_input(
            "username", "test name"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().load_defaults.get_element(), None,
            "Load defaults button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().save_settings.get_element(), None,
            "Save settings button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().cancel_changes.get_element(), None,
            "Cancel changes button"))

        logger.info(OpenstackSettingsView().set_parameter_input(
            "username", "admin"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().load_defaults.get_element(), None,
            "Load defaults button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().cancel_changes.get_element(), 'true',
            "Cancel changes button"))
        logger.info(OpenstackSettingsView().set_parameter_input(
            "username", "test name"))
        logger.info(Cluster_View().click_network_settings_tab())
        logger.info(ConfirmLeavePageDialog().click_stay_on_page())
        ConfirmLeavePageDialog().wait_closing()
        logger.info(OpenstackSettingsView().cancel_changes.click_and_wait())
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().save_settings.get_element(), 'true',
            "Save settings button"))

        logger.info(OpenstackSettingsView().set_parameter_input(
            "username", "test name"))
        logger.info(OpenstackSettingsView().save_settings.click_and_wait())
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().cancel_changes.get_element(), 'true',
            "Cancel changes button"))

        logger.info(OpenstackSettingsView().load_defaults.click_and_wait())
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().cancel_changes.get_element(), None,
            "Cancel changes button"))
        logger.info(VerifyBot().verify_disabled(
            OpenstackSettingsView().save_settings.get_element(), None,
            "Save settings button"))