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"))
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"))
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"))
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
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'))
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))
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
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
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"))