def validate_eap_servers_monitoring_utilization(self): navigate(self.web_session).get("{}/middleware_server/show_list".format( self.web_session.MIQ_URL)) assert self.ui_utils.waitForTextOnPage( self.web_session.HAWKULAR_PROVIDER_NAME, 10) servers(self.web_session).navigate_to_non_container_eap() self.web_driver.find_element_by_xpath( "//*[@title='Monitoring']").click() self.ui_utils.waitForElementOnPage( By.ID, 'middleware_server_monitoring_choice__middleware_server_perf', 5) self.web_driver.find_element_by_id( 'middleware_server_monitoring_choice__middleware_server_perf' ).click() assert self.ui_utils.waitForTextOnPage('Options', 30) # Validate that graphs are present assert self.ui_utils.isTextOnPage('JVM Heap Usage (Bytes)') assert self.ui_utils.isTextOnPage('Non Heap Usage (Bytes)') assert self.ui_utils.isTextOnPage('GC Duration (ms)') assert self.ui_utils.isTextOnPage('Web Sessions') assert self.ui_utils.isTextOnPage('Active') assert self.ui_utils.isTextOnPage('Expired') assert self.ui_utils.isTextOnPage('Rejected') assert self.ui_utils.isTextOnPage('Transactions') assert self.ui_utils.isTextOnPage('Committed') assert self.ui_utils.isTextOnPage('Timed-out') assert self.ui_utils.isTextOnPage('Heuristic') assert self.ui_utils.isTextOnPage('Aborted') assert self.ui_utils.isTextOnPage('Application Failure') assert self.ui_utils.isTextOnPage('Resource Failure') return True
def validate_eap_servers_monitoring_utilization(self): navigate(self.web_session).get("{}/middleware_server/show_list".format(self.web_session.MIQ_URL)) assert self.ui_utils.waitForTextOnPage(self.web_session.HAWKULAR_PROVIDER_NAME, 10) servers(self.web_session).navigate_to_non_container_eap() self.web_driver.find_element_by_xpath("//*[@title='Monitoring']").click() self.ui_utils.waitForElementOnPage(By.ID, 'middleware_server_monitoring_choice__middleware_server_perf', 5) self.web_driver.find_element_by_id('middleware_server_monitoring_choice__middleware_server_perf').click() assert self.ui_utils.waitForTextOnPage('Options', 30) # Validate that graphs are present assert self.ui_utils.isTextOnPage('JVM Heap Usage (Bytes)') assert self.ui_utils.isTextOnPage('Non Heap Usage (Bytes)') assert self.ui_utils.isTextOnPage('GC Duration (ms)') assert self.ui_utils.isTextOnPage('Web Sessions') assert self.ui_utils.isTextOnPage('Active') assert self.ui_utils.isTextOnPage('Expired') assert self.ui_utils.isTextOnPage('Rejected') assert self.ui_utils.isTextOnPage('Transactions') assert self.ui_utils.isTextOnPage('Committed') assert self.ui_utils.isTextOnPage('Timed-out') assert self.ui_utils.isTextOnPage('Heuristic') assert self.ui_utils.isTextOnPage('Aborted') assert self.ui_utils.isTextOnPage('Application Failure') assert self.ui_utils.isTextOnPage('Resource Failure') return True
def wait_for_datasource_to_be_deleted(self, starting_count, time_to_wait): servers(self.web_session).navigate_and_refresh_provider() servers(self.web_session).navigate_to_non_container_eap() self.web_session.web_driver.find_element_by_xpath( "//td[contains(.,'Middleware Datasources')]").click() assert self.ui_utils.waitForTextOnPage('All Middleware Datasources', 15) currentTime = time.time() while True: if len(self.ui_utils.get_list_table_as_elements() ) < starting_count: break if time.time() - currentTime >= time_to_wait: self.web_session.logger.error( "Timed out waiting for Datasource to be Deleted in Datasource List." ) return False time.sleep(2) self.web_driver.refresh() return True
def validate_messagings_monitoring_utilization_jms_queues(self): servers(self.web_session).navigate_to_non_container_eap() if self.ui_utils.get_generic_table_as_dict().get( 'Middleware Messagings') == '0': pytest.skip("Skip test - EAP has \"0\" Middleware Messagings") self.web_session.web_driver.find_element_by_xpath( "//td[contains(.,'Middleware Messagings')]").click() assert self.ui_utils.waitForTextOnPage('JMS Queue', 30) self.ui_utils.click_on_row_containing_text('JMS Queue') assert self.ui_utils.waitForTextOnPage("Summary", 30) self.web_driver.find_element_by_xpath( "//*[@title='Monitoring']").click() self.ui_utils.waitForElementOnPage( By.ID, 'middleware_messaging_monitoring_choice__middleware_messaging_perf', 5) self.web_driver.find_element_by_id( 'middleware_messaging_monitoring_choice__middleware_messaging_perf' ).click() assert self.ui_utils.waitForTextOnPage('Options', 30) # Validate that graphs are present assert self.ui_utils.isTextOnPage('Messages') assert self.ui_utils.isTextOnPage('Consumers') return True
def validate_datasources_monitoring_utilization(self): servers(self.web_session).navigate_to_non_container_eap() self.web_session.web_driver.find_element_by_xpath("//td[contains(.,'Middleware Datasources')]").click() assert self.ui_utils.waitForTextOnPage('ExampleDS', 15) self.web_driver.find_element_by_xpath("//td[contains(.,'ExampleDS')]").click() self.ui_utils.waitForTextOnPage("Nativeid", 15) self.web_driver.find_element_by_xpath("//*[@title='Monitoring']").click() self.ui_utils.waitForElementOnPage(By.ID, 'middleware_datasource_monitoring_choice__middleware_datasource_perf', 5) self.web_driver.find_element_by_id('middleware_datasource_monitoring_choice__middleware_datasource_perf').click() assert self.ui_utils.waitForTextOnPage('Options', 30) # Validate that graphs are present assert self.ui_utils.isTextOnPage('Availability') assert self.ui_utils.isTextOnPage('Available') assert self.ui_utils.isTextOnPage('In Use') assert self.ui_utils.isTextOnPage('Time-out') assert self.ui_utils.isTextOnPage('Responsiveness') assert self.ui_utils.isTextOnPage('Get Time') assert self.ui_utils.isTextOnPage('Creation Time') assert self.ui_utils.isTextOnPage('Wait Time') return True
def validate_datasources_monitoring_utilization(self): servers(self.web_session).navigate_to_non_container_eap() self.web_session.web_driver.find_element_by_xpath( "//td[contains(.,'Middleware Datasources')]").click() assert self.ui_utils.waitForTextOnPage('ExampleDS', 15) self.web_driver.find_element_by_xpath( "//td[contains(.,'ExampleDS')]").click() self.ui_utils.waitForTextOnPage("Nativeid", 15) self.web_driver.find_element_by_xpath( "//*[@title='Monitoring']").click() self.ui_utils.waitForElementOnPage( By.ID, 'middleware_datasource_monitoring_choice__middleware_datasource_perf', 5) self.web_driver.find_element_by_id( 'middleware_datasource_monitoring_choice__middleware_datasource_perf' ).click() assert self.ui_utils.waitForTextOnPage('Options', 30) # Validate that graphs are present assert self.ui_utils.isTextOnPage('Availability') assert self.ui_utils.isTextOnPage('Available') assert self.ui_utils.isTextOnPage('In Use') assert self.ui_utils.isTextOnPage('Time-out') assert self.ui_utils.isTextOnPage('Responsiveness') assert self.ui_utils.isTextOnPage('Get Time') assert self.ui_utils.isTextOnPage('Creation Time') assert self.ui_utils.isTextOnPage('Wait Time') return True
def test_cfui_get_ip(web_session): server = servers(web_session).find_non_container_eap_in_state("any") assert server pid = ssh(web_session, server.get("details").get("Hostname")).get_pid("standalone.sh") assert pid web_session.logger.info("pid: {}".format(pid))
def test_event_for_successful_deployment(self): navigate(self.web_session).get("{}/middleware_deployment/show_list".format(self.web_session.MIQ_URL)) assert self.ui_utils.waitForTextOnPage("Middleware Deployments", 15) if self.ui_utils.get_elements_containing_text(self.APPLICATION_WAR): self.ui_utils.click_on_row_containing_text(self.APPLICATION_WAR) else: servers(self.web_session).deploy_application_archive() self.navigate_to_timeline() self.select_timepivot() self.select_event_group('Application') self.change_level() self.apply() self.verify_event('ok') return True
def test_cfui_test(web_session): server = servers(web_session).find_eap_in_state("running") assert server ssh_result = ssh(web_session, server.get("details").get("Hostname")).execute_command('echo "Hello From Server: `hostname`"') assert ssh_result web_session.logger.info("ssh_result: {}".format(ssh_result)) web_session.logger.info("result: {}".format(ssh_result.get('result'))) web_session.logger.info("output: {}".format(ssh_result.get('output')))
def test_event_for_unsuccessful_deployment(self): # Existing issue: https://bugzilla.redhat.com/show_bug.cgi?id=1388040 navigate(self.web_session).get("{}//middleware_server/show_list".format(self.web_session.MIQ_URL)) # Find non-container EAP on which to deploy eap = servers(self.web_session).find_eap_in_state("Running", check_if_resolvable_hostname=True) assert eap, "No EAP found in desired state." self.ui_utils.click_on_row_containing_text(eap.get('Feed')) self.ui_utils.waitForTextOnPage('Version', 15) servers(self.web_session).add_server_deployment(self.TextFile) self.navigate_to_timeline() self.select_timepivot() self.select_event_group('Application') self.apply() self.verify_event('error') return True
def validate_messagings_monitoring_utilization_jms_topics(self): servers(self.web_session).navigate_to_non_container_eap() if self.ui_utils.get_generic_table_as_dict().get('Middleware Messagings') == '0': pytest.skip("Skip test - EAP has \"0\" Middleware Messagings") self.web_session.web_driver.find_element_by_xpath("//td[contains(.,'Middleware Messagings')]").click() assert self.ui_utils.waitForTextOnPage("Messaging Type", 10) self.ui_utils.click_on_row_containing_text('JMS Topic') assert self.ui_utils.waitForTextOnPage("Summary", 10) self.web_driver.find_element_by_xpath("//*[@title='Monitoring']").click() self.ui_utils.waitForElementOnPage(By.ID, 'middleware_messaging_monitoring_choice__middleware_messaging_perf', 5) self.web_driver.find_element_by_id('middleware_messaging_monitoring_choice__middleware_messaging_perf').click() assert self.ui_utils.waitForTextOnPage('Options', 30) # Validate that graphs are present assert self.ui_utils.isTextOnPage('Messages') assert self.ui_utils.isTextOnPage('Subscribers') return True
def test_cfui_add_application_archive_overwrite(web_session): web_session.logger.info("Begin overwrite Application Archive") assert servers(web_session).add_deployment_overwrite()
def test_cfui_add_application_archive_runtime_name(web_session): web_session.logger.info("Begin add runtime name to Application Archive") assert servers(web_session).add_deployment_runtime_name()
def test_cfui_undeploy_application_archive(web_session): assert servers(web_session).undeploy_application_archive()
def _test_cfui_eap_power_resume(web_session): web_session.logger.info("Begin Server Resume") assert servers(web_session).eap_power_resume()
def test_cfui_add_disabled_application_archive(web_session): web_session.logger.info("Begin add disabled Application Archive") assert servers(web_session).add_deployment_disable()
def _test_cfui_eap_power_suspend(web_session): web_session.logger.info("Begin Server Suspend") assert servers(web_session).eap_power_suspend()
def test_cfui_server_policy_edit_eap(web_session): web_session.logger.info("Begin Server Policy Edit") # EAP choice "JBoss" or "WildFly" assert servers(web_session).server_policy_edit('eap')
def test_cfui_eap_operation_resume(web_session): web_session.logger.info("Begin Server Resume (OPR-006)") assert servers(web_session).eap_power_resume()
def test_cfui_redeploy_application_archive(web_session): assert servers(web_session).restart_application_archive()
def _test_cfui_delete_datasource_detail_view(web_session): web_session.logger.info( "Begin Detail view delete datasource test (OPR-036a)") assert servers(web_session).add_datasource("H2-Test") assert datasources(web_session).delete_datasource_detail_view()
def test_cfui_add_application_archive_cancel(web_session): web_session.logger.info("Begin test to cancel the addition of Application Archive") assert servers(web_session).add_deployment_cancel()
def test_cfui_server_details(web_session): web_session.logger.info("Begin Server Details") assert servers(web_session).validate_server_details()
def test_cfui_eap_operation_suspend(web_session): web_session.logger.info("Begin Server Suspend (OPR-005 and OPR-007)") assert servers(web_session).eap_power_suspend()
def test_cfui_eap_power_restart(web_session): web_session.logger.info("Begin Server Restart") assert servers(web_session).eap_power_restart()
def _test_cfui_eap_power_graceful_shutdown(web_session): web_session.logger.info("Begin Server Graceful Shutdown") assert servers(web_session).eap_power_graceful_shutdown()
def test_cfui_add_jdbc_driver(web_session): web_session.logger.info("Begin Add JDBC driver test (OPR-034a)") assert servers(web_session).add_jdbc_driver()
def test_cfui_start_application_archive(web_session): web_session.logger.info("Begin Start Application Archive (OPR-038)") assert servers(web_session).enable_application_archive()
def test_cfui_add_application_archive_cancel(web_session): web_session.logger.info( "Begin test to cancel the addition of Application Archive") assert servers(web_session).add_deployment_cancel()
def test_cfui_add_xa_datasource(web_session): web_session.logger.info("Begin Add datasource test (OPR-035a)") assert servers(web_session).add_datasource("H2-Test-XA",xa=True) assert datasources(web_session).delete_datasource_list_view() assert servers(web_session).force_reload_eap()
def _test_cfui_delete_datasource_detail_view(web_session): web_session.logger.info("Begin Detail view delete datasource test (OPR-036a)") assert servers(web_session).add_datasource("H2-Test") assert datasources(web_session).delete_datasource_detail_view()
def test_cfui_servers_view(web_session): web_session.logger.info("Begin Server View") assert servers(web_session).validate_servers_list()
def delete_datasource_list_view(self): datasource_to_delete = self.datasource_desc servers(self.web_session).navigate_to_non_container_eap() self.web_session.web_driver.find_element_by_xpath( "//td[contains(.,'Middleware Datasources')]").click() assert self.ui_utils.waitForTextOnPage('All Middleware Datasources', 15) assert self.ui_utils.waitForTextOnPage('ExampleDS', 15) datasources = self.ui_utils.get_list_table_as_elements() currrent_datasource_count = len(datasources) if not datasources: self.web_session.logger.warn("No Datasource found.") return True for row in datasources: datasource = self.ui_utils.find_row_in_element_table_by_text( datasources, datasource_to_delete) datasource_name = datasource[2].text server = datasource[3].text host_name = datasource[4].text self.web_session.logger.info( "Attempt to delete Dastasource: Name: {} Server: {} Host Name: {}" .format(datasource_name, server, host_name)) self.web_session.web_driver.find_element_by_xpath( "//tr[2]/td[1]/input").click() self.ui_utils.web_driver.find_element_by_xpath( './/*[@title="Operations"]').click() assert self.ui_utils.waitForElementOnPage( By.ID, 'middleware_datasource_operations_choice__middleware_datasource_remove', 5) self.ui_utils.web_driver.find_element_by_id( 'middleware_datasource_operations_choice__middleware_datasource_remove' ).click() self.ui_utils.accept_alert(5) # Hawkular Datasources can not be deleted try: if not self.ui_utils.waitForTextOnPage( 'datasources were removed', 5): self.web_session.logger.warn( "Datasource Not Removed: Name: {} Server: {} Host Name: {}" .format(datasource_name, server, host_name)) # Deselect checkbox datasource[0].click() raise break except: assert self.ui_utils.waitForTextOnPage( 'Not removed datasources for {} on the provider itself'. format(datasource_name), 5) datasources.remove(datasource) assert self.wait_for_datasource_to_be_deleted( currrent_datasource_count, (60 * 5)) return True
def test_cfui_server_policy_edit_hawkular(web_session): web_session.logger.info("Begin Server Policy Edit") assert servers(web_session).server_policy_edit('provider')
def test_cfui_eap_power_stop(web_session): web_session.logger.info("Begin Server Stop") assert servers(web_session).eap_power_stop()
def _test_cfui_eap_power_reload(web_session): web_session.logger.info("Begin Server Reload") assert servers(web_session).eap_power_reload()