def test_retire_stack(appliance, provider, provisioning, catalog, catalog_item, request): """Tests stack provisioning Metadata: test_flag: provision """ catalog_item, template = catalog_item DefaultView.set_default_view("Stacks", "Grid View") stack_data = prepare_stack_data(provider, provisioning) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name, stack_data) service_catalogs.order() logger.info('Waiting for cfme provision request for service {}'.format(catalog_item.name)) request_description = catalog_item.name provision_request = appliance.collections.requests.instantiate(request_description, partial_check=True) provision_request.wait_for_request() assert provision_request.is_succeeded() stack = StackCollection(appliance).instantiate(stack_data['stack_name'], provider=provider) stack.wait_for_exists() stack.retire_stack() @request.addfinalizer def _cleanup_vms(): clean_up(stack_data, provider)
def test_retire_stack(appliance, provider, provisioning, catalog, catalog_item, request, stack_data): """Tests stack provisioning Metadata: test_flag: provision """ catalog_item, template = catalog_item @request.addfinalizer def _cleanup_vms(): clean_up(stack_data, provider) DefaultView.set_default_view("Stacks", "Grid View") service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name, stack_data) service_catalogs.order() logger.info('Waiting for cfme provision request for service {}'.format( catalog_item.name)) request_description = catalog_item.name provision_request = appliance.collections.requests.instantiate( request_description, partial_check=True) provision_request.wait_for_request() assert provision_request.is_succeeded() stack = StackCollection(appliance).instantiate(stack_data['stack_name'], provider=provider) stack.wait_for_exists() stack.retire_stack()
def test_retire_stack(provider, provisioning, catalog, catalog_item, request): """Tests stack provisioning Metadata: test_flag: provision """ catalog_item, template = catalog_item DefaultView.set_default_view("Stacks", "Grid View") stack_data = prepare_stack_data(provider, provisioning) service_catalogs = ServiceCatalogs(catalog_item.catalog, catalog_item.name, stack_data) service_catalogs.order() logger.info('Waiting for cfme provision request for service {}'.format( catalog_item.name)) row_description = catalog_item.name cells = {'Description': row_description} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=2500, delay=20) assert 'Provisioned Successfully' in row.last_message.text stack = Stack(stack_data['stack_name'], provider=provider) stack.wait_for_exists() stack.retire_stack() @request.addfinalizer def _cleanup_vms(): clean_up(stack_data, provider)
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name, fieldset='Clouds') DefaultView.set_default_view(group_name, view, fieldset='Clouds') navigate_to(page, 'All', use_resetter=False) # TODO replace view detection with widgets when all tested classes have them assert tb.is_active(view), "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default, fieldset='Clouds')
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name, fieldset='Clouds') DefaultView.set_default_view(group_name, view, fieldset='Clouds') selected_view = navigate_to( page, 'All', use_resetter=False).toolbar.view_selector.selected assert view == selected_view, "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default, fieldset='Clouds')
def test_retire_stack(provider, provisioning, catalog, catalog_item, request): """Tests stack provisioning Metadata: test_flag: provision """ catalog_item, item_name = catalog_item DefaultView.set_default_view("Stacks", "Grid View") stack_data = prepare_stack_data(provider, provisioning) service_catalogs = ServiceCatalogs(item_name, stack_data) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', item_name) row_description = item_name cells = {'Description': row_description} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=2500, delay=20) assert provision_success_message(catalog_item.name) in row.last_message.text stack = Stack(stack_data['stack_name']) stack.wait_for_appear() stack.retire_stack() @request.addfinalizer def _cleanup_templates(): try: stack_data['vm_name'].delete_from_provider() except Exception as ex: logger.warning('Exception while checking/deleting stack, continuing: {}' .format(ex.message)) pass
def test_retire_stack(provider, provisioning, catalog, catalog_item, request): """Tests stack provisioning Metadata: test_flag: provision """ catalog_item, item_name = catalog_item DefaultView.set_default_view("Stacks", "Grid View") stack_data = prepare_stack_data(provider, provisioning) service_catalogs = ServiceCatalogs(item_name, stack_data) service_catalogs.order() logger.info('Waiting for cfme provision request for service {}'.format(item_name)) row_description = item_name cells = {'Description': row_description} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=2500, delay=20) assert 'Provisioned Successfully' in row.last_message.text stack = Stack(stack_data['stack_name'], provider=provider) stack.wait_for_appear() stack.retire_stack() @request.addfinalizer def _cleanup_vms(): clean_up(stack_data, provider)
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) navigate_to(page, 'All', use_resetter=False) # TODO replace view detection with widgets when all tested classes have them assert tb.is_active(view), "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_view(group_name, view): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) navigate_to(Vm, 'All') select_two_quads() tb.select('Configuration', 'Compare Selected items') assert tb.is_active(view), "{} setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_view(group_name, view): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) vm_view = navigate_to(Vm, 'All') [e.check() for e in vm_view.entities.get_all()[:2]] vm_view.toolbar.configuration.item_select('Compare Selected items') assert tb.is_active(view), "{} setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_view(group_name, view): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) inst_view = navigate_to(Instance, 'All') [e.check() for e in inst_view.entities.get_all()[:2]] inst_view.toolbar.configuration.item_select('Compare Selected items') assert tb.is_active(view), "{} setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_view(group_name, view): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) navigate_to(Instance, 'All') select_two_quads() tb.select('Configuration', 'Compare Selected items') assert tb.is_active(view), "{} setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_view(group_name, view, selector_type='views_selector'): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) vm_view = navigate_to(Vm, 'All') [e.check() for e in vm_view.entities.get_all()[:2]] vm_view.toolbar.configuration.item_select('Compare Selected items') selected_view = getattr(vm_view.actions, selector_type).selected assert view == selected_view, "{} setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def config_manager(config_manager_obj): """Fixture that provides a random config manager and sets it up.""" DefaultView.set_default_view('Configuration Management Providers', 'Grid View') if config_manager_obj.type == 'Ansible Tower': config_manager_obj.create(validate=True) else: config_manager_obj.create() yield config_manager_obj config_manager_obj.delete()
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) dest = 'All' if group_name == 'VMs': dest = 'VMsOnly' selected_view = navigate_to(page, dest, use_resetter=False).toolbar.view_selector.selected assert view == selected_view, "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) if isinstance(page, basestring): sel.force_navigate(page) else: navigate_to(page, 'All', use_resetter=False) assert tb.is_active(view), "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def config_manager(config_manager_obj): """ Fixture that provides a random config manager and sets it up""" DefaultView.set_default_view("Configuration Management Providers", "Grid View") if config_manager_obj.type == "Ansible Tower": config_manager_obj.create(validate=True) else: config_manager_obj.create() yield config_manager_obj config_manager_obj.delete()
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) dest = 'All' if group_name == 'VMs': dest = 'VMsOnly' navigate_to(page, dest, use_resetter=False) assert tb.is_active(view), "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name) DefaultView.set_default_view(group_name, view) dest = 'All' if group_name == 'VMs': dest = 'VMsOnly' selected_view = navigate_to( page, dest, use_resetter=False).toolbar.view_selector.selected assert view == selected_view, "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default)
def random_default_views(): """This fixture setup random default views for container objects. Revert the default views to the original on exit""" # Collecting the original default views and Generating random views LUT for test: original_default_views, tested_default_views = OrderedDict(), OrderedDict() for obj, ui_name in objects_mapping.items(): original_default_views[obj] = DefaultView.get_default_view(ui_name) tested_default_views[obj] = choice(VIEWS) DefaultView.set_default_view(objects_mapping.values(), tested_default_views.values()) yield tested_default_views # setting back the default views to the original state: DefaultView.set_default_view(objects_mapping.values(), original_default_views.values())
def test_containers_providers_default_view(button_group, view): """ Containers Providers/Projects/Routes/Nodes/Containers/Replicators default view test This test checks successful change of default views settings for Containers --> Providers/Projects/Routes/Nodes/Containers/Replicators menu Steps: * Goes to Settings --> My Settings --> Default Views menu and change the default view settings of Containers --> Containers Providers/Projects/Routes/Nodes /Containers/Replicators to Grid/Tile/List view * Goes to Compute --> Containers --> Providers and verifies the selected view """ DefaultView.set_default_view(button_group_name=button_group, default=view) navigate_to(mapping[button_group], 'All', use_resetter=False) assert tb.is_active(view), "{}'s {} setting failed".format(view, button_group)
def test_order_tower_catalog_item(appliance, catalog_item, request): """Tests order catalog item Metadata: test_flag: provision """ catalog_item.create() service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) cells = {'Description': catalog_item.name} order_request = appliance.collections.requests.instantiate(cells=cells, partial_check=True) order_request.wait_for_request(method='ui') assert order_request.is_succeeded(method='ui') DefaultView.set_default_view("Configuration Management Providers", "List View")
def test_order_tower_catalog_item(catalog_item, request): """Tests order catalog item Metadata: test_flag: provision """ catalog_item.create() service_catalogs = ServiceCatalogs(catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) cells = {'Description': catalog_item.name} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=1400, delay=20) assert 'Provisioned Successfully' in row.last_message.text DefaultView.set_default_view("Configuration Management Providers", "List View")
def test_order_catalog_item(catalog_item, request): """Tests order catalog item Metadata: test_flag: provision """ catalog_item.create() service_catalogs = ServiceCatalogs(catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) cells = {'Description': catalog_item.name} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=1400, delay=20) assert 'Provisioned Successfully' in row.last_message.text DefaultView.set_default_view("Configuration Management Providers", "List View")
def test_order_catalog_item(catalog_item, request): """Tests order catalog item Metadata: test_flag: provision """ catalog_item.create() service_catalogs = ServiceCatalogs("service_name") service_catalogs.order(catalog_item.catalog, catalog_item) logger.info('Waiting for cfme provision request for service %s', catalog_item.name) row_description = catalog_item.name cells = {'Description': row_description} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=1400, delay=20) # Success message differs between 5.6 and 5.7 success_message = 'Service ' if version.current_version() >= '5.7': # 5.7 success message includes catalog item name in brackets success_message += '[{}] '.format(catalog_item.name) success_message += 'Provisioned Successfully' assert success_message in row.last_message.text DefaultView.set_default_view("Configuration Management Providers", "List View")
def set_and_test_default_view(group_name, view, page): old_default = DefaultView.get_default_view(group_name, fieldset='Clouds') DefaultView.set_default_view(group_name, view, fieldset='Clouds') selected_view = navigate_to(page, 'All', use_resetter=False).toolbar.view_selector.selected assert view == selected_view, "{} view setting failed".format(view) DefaultView.set_default_view(group_name, old_default, fieldset='Clouds')