def get_random_messaging(provider, load_from="db"): load_from = load_from.lower() if load_from == "ui": messagings = MiddlewareMessaging.messagings(provider=provider) elif load_from == "db": messagings = MiddlewareMessaging.messagings_in_db(provider=provider) elif load_from == "mgmt": messagings = MiddlewareMessaging.messagings_in_mgmt(provider=provider) else: raise RuntimeError("Not supported option: '{}'".format(load_from)) assert len(messagings) > 0, "There is no messaging(s) available in {}".format(load_from) return get_random_list(messagings, 1)[0]
def test_list_server_messagings(provider): """Gets servers list and tests messagings list for each server Steps: * Get Local server from UI of provider * Get messagings list from UI of server * Get messagings list from Database of server * Compare size of all the list [UI, Database] """ server = get_hawkular_server(provider) ui_msges = _get_messagings_set(MiddlewareMessaging.messagings(server=server)) db_msges = _get_messagings_set(MiddlewareMessaging.messagings_in_db(server=server)) assert ui_msges == db_msges, \ ("Lists of messagings mismatch! UI:{}, DB:{}".format(ui_msges, db_msges))
def test_list_server_messagings(provider): """Gets servers list and tests messagings list for each server Steps: * Get Local server from UI of provider * Get messagings list from UI of server * Get messagings list from Database of server * Compare size of all the list [UI, Database] """ server = get_hawkular_server(provider) ui_msges = _get_messagings_set( MiddlewareMessaging.messagings(server=server)) db_msges = _get_messagings_set( MiddlewareMessaging.messagings_in_db(server=server)) assert ui_msges == db_msges, \ ("Lists of messagings mismatch! UI:{}, DB:{}".format(ui_msges, db_msges))
def test_list_provider_messagings(provider): """Tests messagings list from current Provider between UI, DB and Management system Steps: * Get messagings list from UI of provider * Get messagings list from Database of provider * Get messagings list from Management system(Hawkular) * Compare size of all the list [UI, Database, Management system] """ ui_msges = _get_messagings_set(MiddlewareMessaging.messagings(provider=provider)) db_msges = _get_messagings_set(MiddlewareMessaging.messagings_in_db(provider=provider)) mgmt_msges = _get_messagings_set(MiddlewareMessaging.messagings_in_mgmt(provider=provider)) assert ui_msges == db_msges == mgmt_msges, \ ("Lists of messagings mismatch! UI:{}, DB:{}, MGMT:{}" .format(ui_msges, db_msges, mgmt_msges))
def test_topology_server_hierarchy(provider): """Tests all server's hierarchical content in topology Steps: * Read Servers in topology. * For each server read elements in topology. * Compare elements from topology with server's elements from DB. """ # reload topology page to make sure all elements are loaded provider.topology.reload() provider.topology.refresh() for ui_server in provider.topology.elements( element_type='MiddlewareServer'): elements = [] server = MiddlewareServer.servers_in_db(name=ui_server.name)[0] elements.extend( MiddlewareDeployment.deployments_in_db(server, provider, strict=False)) elements.extend( MiddlewareDatasource.datasources_in_db(server, provider, strict=False)) elements.extend( MiddlewareMessaging.messagings_in_db(server, provider, strict=False)) verify_elements_included(elements, ui_server.children)
def test_topology_details(provider): """Tests items details in topology page from provider page Steps: * Get topology elements detail * Check details of `Servers`, `Domains`, `Messagings`, * `Datasources`, `Server Groups`, `Deployments` on topology page """ # reload topology page to make sure all elements are loaded provider.topology.reload() provider.topology.refresh() verify_elements_match(MiddlewareServer.servers_in_db(), provider.topology.elements(element_type='MiddlewareServer')) verify_elements_match(MiddlewareMessaging.messagings_in_db(), provider.topology.elements(element_type='MiddlewareMessaging')) verify_elements_match(MiddlewareDatasource.datasources_in_db(), provider.topology.elements(element_type='MiddlewareDatasource')) verify_elements_match(MiddlewareDomain.domains_in_db(), provider.topology.elements(element_type='MiddlewareDomain')) server_groups = [] for domain in MiddlewareDomain.domains_in_db(): server_groups.extend(MiddlewareServerGroup.server_groups_in_db(domain)) verify_elements_match(server_groups, provider.topology.elements(element_type='MiddlewareServerGroup')) deployments = provider.topology.elements(element_type='MiddlewareDeployment') deployments.extend(provider.topology.elements(element_type='MiddlewareDeploymentWar')) deployments.extend(provider.topology.elements(element_type='MiddlewareDeploymentEar')) verify_elements_match(MiddlewareDeployment.deployments_in_db(), deployments)
def test_list_provider_messagings(provider): """Tests messagings list from current Provider between UI, DB and Management system Steps: * Get messagings list from UI of provider * Get messagings list from Database of provider * Get messagings list from Management system(Hawkular) * Compare size of all the list [UI, Database, Management system] """ ui_msges = _get_messagings_set( MiddlewareMessaging.messagings(provider=provider)) db_msges = _get_messagings_set( MiddlewareMessaging.messagings_in_db(provider=provider)) mgmt_msges = _get_messagings_set( MiddlewareMessaging.messagings_in_mgmt(provider=provider)) assert ui_msges == db_msges == mgmt_msges, \ ("Lists of messagings mismatch! UI:{}, DB:{}, MGMT:{}" .format(ui_msges, db_msges, mgmt_msges))
def test_list_messagings(): """Tests messagings list between UI, DB and Management system This test requires that no any other provider should exist before. Steps: * Get messagings list from UI * Get messagings list from Database * Get messagings list from Management system(Hawkular) * Compare size of all the list [UI, Database, Management system] """ ui_msges = _get_messagings_set(MiddlewareMessaging.messagings()) db_msges = _get_messagings_set(MiddlewareMessaging.messagings_in_db()) mgmt_msges = _get_messagings_set(MiddlewareMessaging.messagings_in_mgmt()) headers = MiddlewareMessaging.headers() headers_expected = ['Messaging Name', 'Messaging Type', 'Server'] assert headers == headers_expected assert ui_msges == db_msges == mgmt_msges, \ ("Lists of messagings mismatch! UI:{}, DB:{}, MGMT:{}" .format(ui_msges, db_msges, mgmt_msges))
def test_messaging_details(provider): """Tests messaging details on UI Steps: * Get messagings list from DB * Select each messaging details in UI * Compare selected messaging UI details with CFME database """ msg_list = MiddlewareMessaging.messagings_in_db(provider=provider) for msg in get_random_list(msg_list, ITEMS_LIMIT): msg_ui = msg.messaging(method='ui') msg_db = msg.messaging(method='db') assert msg_ui, "Messaging was not found in UI" assert msg_db, "Messaging was not found in DB" assert msg_ui.name == msg_db.name, \ ("messaging name does not match between UI:{}, DB:{}" .format(msg_ui.name, msg_db.name)) msg_db.validate_properties()
def test_topology_server_hierarchy(provider): """Tests all server's hierarchical content in topology Steps: * Read Servers in topology. * For each server read elements in topology. * Compare elements from topology with server's elements from DB. """ # reload topology page to make sure all elements are loaded provider.topology.reload() provider.topology.refresh() for ui_server in provider.topology.elements(element_type='MiddlewareServer'): elements = [] server = MiddlewareServer.servers_in_db(name=ui_server.name)[0] elements.extend(MiddlewareDeployment.deployments_in_db(server, provider, strict=False)) elements.extend(MiddlewareDatasource.datasources_in_db(server, provider, strict=False)) elements.extend(MiddlewareMessaging.messagings_in_db(server, provider, strict=False)) verify_elements_included(elements, ui_server.children)
def get_random_messaging(provider): messagings = MiddlewareMessaging.messagings_in_db(provider=provider, strict=False) assert len(messagings) > 0, "There is no messaging(s) available in DB" return get_random_list(messagings, 1)[0]
def get_random_messaging(provider): messagings = MiddlewareMessaging.messagings(provider=provider) assert len(messagings) > 0, "There is no messaging(s) available in UI" return get_random_list(messagings, 1)[0]