def create_obj_and_get_obj(self, obj): """Creates obj via LHN and returns a created obj.""" object_name = objects.get_plural(obj.type) conftest_utils.get_lhn_accordion(self._driver, object_name).create_new() self.submit_obj_modal(obj) return self.build_obj_from_page()
def new_ui_fixture(web_driver, fixture): """Extract arguments of 'new_ui_fixture' fixture from fixture name, create new objects via UI (LHN) and return UI page object. """ fixture_params = fixture.replace("new_", "").replace("_ui", "") obj_name = fixture_params obj_count = counters.BATCH_COUNT if (objects.get_plural(obj_name) in objects.ALL_OBJS and objects.get_plural(obj_name) != objects.PROGRAMS): obj_name = objects.get_plural(obj_name) obj_count = 1 objs_info_pages = [ conftest_utils.create_obj_via_lhn( web_driver, getattr(element.Lhn, obj_name.upper())) for _ in xrange(obj_count) ] return objs_info_pages elif objects.get_plural(obj_name) == objects.PROGRAMS: modal = conftest_utils.get_lhn_accordion( web_driver, getattr(element.Lhn, objects.PROGRAMS.upper())).create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(web_driver) return modal, program_info_page
def new_program(selenium, new_control): """Creates a new program object and returns the program info page with the saved modal""" # pylint: disable=redefined-outer-name modal = conftest_utils.get_lhn_accordion( selenium, constants.element.Lhn.PROGRAMS)\ .create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(selenium) yield modal, program_info_page
def new_program_ui(selenium, new_control_ui): """Create a new Program object via UI (LHN). Return: Program modal and Program Info widget. """ # pylint: disable=redefined-outer-name # pylint: disable=unused-argument modal = conftest_utils.get_lhn_accordion( selenium, constants.element.Lhn.PROGRAMS).create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(selenium) yield modal, program_info_page
def new_program_ui(selenium, new_control_ui): """Create a new Program object via UI (LHN). Return: Program modal and Program Info widget. """ # pylint: disable=redefined-outer-name # pylint: disable=unused-argument modal = conftest_utils.get_lhn_accordion( selenium, constants.element.Lhn.PROGRAMS).create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(selenium) yield modal, program_info_page
def test_mapping_via_lhn( self, selenium, new_product_ui, new_project_ui, new_system_ui, new_data_asset_ui, new_process_ui ): """LHN mapping tests from smoke tests, section 6.""" objects = [new_product_ui, new_project_ui, new_system_ui, new_data_asset_ui, new_process_ui] for object_ in objects: selenium.get(object_.url) header = dashboard.Header(selenium) # map objects for mapped_object in objects: # don't map an object to itself if mapped_object != object_: extended_info = ( conftest_utils.get_lhn_accordion( selenium, mapped_object.object_name).hover_over_visible_member( mapped_object.title_entered.text)) if not extended_info.is_mapped: extended_info.map_to_object() # workaround for CORE-3324 selenium_utils.hover_over_element( selenium, header.toggle_user_dropdown.element) # close LHN so that the contents are seen header.close_lhn_menu() widget = ( factory.get_cls_widget(mapped_object.object_name)(selenium)) # check that the focus is on relevant widget assert widget.name_from_url in mapped_object.object_name # check items count assert widget.member_count == 1 # check that all mapped widgets are shown widget_bar = dashboard.Dashboard(selenium) for mapped_object in objects: if mapped_object != object_: # select a widget getattr(widget_bar, factory.get_method_select(mapped_object.object_name))() # verify widget widget = ( factory.get_cls_widget(mapped_object.object_name)(selenium)) assert widget.name_from_url in mapped_object.object_name
def new_ui_fixture(web_driver, fixture): """Extract arguments of 'new_ui_fixture' fixture from fixture name, create new objects via UI (LHN) and return UI page object. """ fixture_params = fixture.replace("new_", "").replace("_ui", "") obj_name = fixture_params obj_count = counters.BATCH_COUNT if (objects.get_plural(obj_name) in objects.ALL_OBJS and objects.get_plural(obj_name) != objects.PROGRAMS): obj_name = objects.get_plural(obj_name) obj_count = 1 objs_info_pages = [conftest_utils.create_obj_via_lhn( web_driver, getattr(element.Lhn, obj_name.upper())) for _ in xrange(obj_count)] return objs_info_pages elif objects.get_plural(obj_name) == objects.PROGRAMS: modal = conftest_utils.get_lhn_accordion( web_driver, getattr(element.Lhn, objects.PROGRAMS.upper())).create_new() test_utils.ModalNewPrograms.enter_test_data(modal) modal.save_and_close() program_info_page = info_widget.Programs(web_driver) return modal, program_info_page