def test_delete_dialog_before_parent_item(catalog_item): service_dialog = ServiceDialog(label=catalog_item.dialog) service_dialog.delete() flash.assert_message_match( ("Dialog \"{}\": Error during 'destroy': Dialog cannot be deleted " + "because it is connected to other components.").format( catalog_item.dialog))
def dialog(): dialog_name = "dialog_" + fauxfactory.gen_alphanumeric() element_data = dict(ele_label="ele_" + fauxfactory.gen_alphanumeric(), ele_name=fauxfactory.gen_alphanumeric(), ele_desc="my ele desc", choose_type="Text Box", default_text_box="default value") service_dialog = ServiceDialog( label=dialog_name, description="my dialog", submit=True, cancel=True, tab_label="tab_" + fauxfactory.gen_alphanumeric(), tab_desc="my tab desc", box_label="box_" + fauxfactory.gen_alphanumeric(), box_desc="my box desc", element_data=element_data) service_dialog.create() flash.assert_success_message('Dialog "{}" was added'.format(dialog_name)) yield service_dialog # fixture cleanup try: service_dialog.delete() except NoSuchElementException or TimeoutException: logger.warning( 'test_catalog_item: dialog yield fixture cleanup, dialog "{}" not ' 'found'.format(dialog_name))
def dialog(): dialog_name = "dialog_" + fauxfactory.gen_alphanumeric() element_data = dict( ele_label="ele_" + fauxfactory.gen_alphanumeric(), ele_name=fauxfactory.gen_alphanumeric(), ele_desc="my ele desc", choose_type="Text Box", default_text_box="default value" ) service_dialog = ServiceDialog(label=dialog_name, description="my dialog", submit=True, cancel=True, tab_label="tab_" + fauxfactory.gen_alphanumeric(), tab_desc="my tab desc", box_label="box_" + fauxfactory.gen_alphanumeric(), box_desc="my box desc") service_dialog.create(element_data) flash.assert_success_message('Dialog "{}" was added'.format(dialog_name)) yield service_dialog # fixture cleanup try: service_dialog.delete() except NoSuchElementException or TimeoutException: logger.warning('test_catalog_item: dialog yield fixture cleanup, dialog "{}" not ' 'found'.format(dialog_name))
def test_delete_service_dialog(): dialog = ServiceDialog(label=rand.generate_random_string(), description="my dialog", submit=True, cancel=True) dialog.create() dialog.delete()
def test_delete_dialog_before_parent_item(catalog_item): service_dialog = ServiceDialog(label=catalog_item.dialog) service_dialog.delete() message = version.pick({'5.6': (("Dialog \"{}\": Error during delete: Dialog cannot be " + "deleted because it is connected to other components."). format(catalog_item.dialog)), '5.5': (("Dialog \"{}\": Error during 'destroy': Dialog cannot be " + "deleted because it is connected to other components."). format(catalog_item.dialog))}) flash.assert_message_match(message)
def test_delete_dialog_before_parent_item(catalog_item): service_dialog = ServiceDialog(label=catalog_item.dialog) service_dialog.delete() message = version.pick({ '5.6': (("Dialog \"{}\": Error during delete: Dialog cannot be " + "deleted because it is connected to other components.").format( catalog_item.dialog)), '5.5': (("Dialog \"{}\": Error during 'destroy': Dialog cannot be " + "deleted because it is connected to other components.").format( catalog_item.dialog)) }) flash.assert_message_match(message)
def test_delete_service_dialog(): element_data = { 'ele_label': "ele_" + fauxfactory.gen_alphanumeric(), 'ele_name': fauxfactory.gen_alphanumeric(), 'ele_desc': fauxfactory.gen_alphanumeric(), 'choose_type': "Text Box", 'default_text_box': "Default text" } dialog = ServiceDialog(label=fauxfactory.gen_alphanumeric(), description="my dialog", submit=True, cancel=True, tab_label="tab_" + fauxfactory.gen_alphanumeric(), tab_desc="my tab desc", box_label="box_" + fauxfactory.gen_alphanumeric(), box_desc="my box desc") dialog.create(element_data) dialog.delete()
def test_delete_service_dialog(): element_data = { 'ele_label': "ele_" + rand.generate_random_string(), 'ele_name': rand.generate_random_string(), 'ele_desc': rand.generate_random_string(), 'choose_type': "Text Box", 'default_text_box': "Default text" } dialog = ServiceDialog(label=rand.generate_random_string(), description="my dialog", submit=True, cancel=True, tab_label="tab_" + rand.generate_random_string(), tab_desc="my tab desc", box_label="box_" + rand.generate_random_string(), box_desc="my box desc") dialog.create(element_data) dialog.delete()
def dialog(): dialog_name = "dialog_" + fauxfactory.gen_alphanumeric() element_data = dict(ele_label="ele_" + fauxfactory.gen_alphanumeric(), ele_name=fauxfactory.gen_alphanumeric(), ele_desc="my ele desc", choose_type="Text Box", default_text_box="default value") service_dialog = ServiceDialog( label=dialog_name, description="my dialog", submit=True, cancel=True, tab_label="tab_" + fauxfactory.gen_alphanumeric(), tab_desc="my tab desc", box_label="box_" + fauxfactory.gen_alphanumeric(), box_desc="my box desc", element_data=element_data) service_dialog.create() yield service_dialog service_dialog.delete()
def test_delete_dialog_before_parent_item(catalog_item): service_dialog = ServiceDialog(label=catalog_item.dialog.label) service_dialog.delete() flash.assert_message_match(('Dialog \"{}\": Error during delete: Dialog cannot be' ' deleted because it is connected to other components.').format(catalog_item.dialog.label))
def test_vmware_vimapi_hotadd_disk( request, testing_group, provider_crud, provider_mgmt, testing_vm, domain, namespace, cls): """ Tests hot adding a disk to vmware vm Metadata: test_flag: hotdisk, provision """ # Instance that calls the method and is accessible from the button if current_version() < "5.3": rel = "/Integration/VimApi/VMware_HotAdd_Disk" else: rel = "/Integration/VMware/VimApi/VMware_HotAdd_Disk" instance = Instance( name="VMware_HotAdd_Disk", values={ "rel5": rel, }, cls=cls ) if not instance.exists(): request.addfinalizer(lambda: instance.delete() if instance.exists() else None) instance.create() # Dialog to put the disk capacity return element_data = { 'ele_label': "Disk size", 'ele_name': "size", 'ele_desc': "Disk size", 'choose_type': "Text Box", 'default_text_box': "Default text" } dialog = ServiceDialog( label=fauxfactory.gen_alphanumeric(), description=fauxfactory.gen_alphanumeric(), submit=True, tab_label=fauxfactory.gen_alphanumeric(), tab_desc=fauxfactory.gen_alphanumeric(), box_label=fauxfactory.gen_alphanumeric(), box_desc=fauxfactory.gen_alphanumeric(), ) dialog.create(element_data) request.addfinalizer(lambda: dialog.delete()) # Button that will invoke the dialog and action button_name = fauxfactory.gen_alphanumeric() button = Button(group=testing_group, text=button_name, hover=button_name, dialog=dialog, system="Request", request="VMware_HotAdd_Disk") request.addfinalizer(button.delete_if_exists) button.create() # Now do the funny stuff def _get_disk_count(): return int(testing_vm.get_detail( properties=("Datastore Allocation Summary", "Number of Disks")).strip()) original_disk_count = _get_disk_count() toolbar.select(testing_group.text, button.text) fill(Input("size"), "1") pytest.sel.click(submit) flash.assert_no_errors() wait_for(lambda: original_disk_count + 1 == _get_disk_count(), num_sec=180, delay=5)
def test_delete_dialog_before_parent_item(catalog_item): service_dialog = ServiceDialog(label=catalog_item.dialog) service_dialog.delete() flash.assert_message_match(("Dialog \"{}\": Error during 'destroy': Dialog cannot be deleted " + "because it is connected to other components.").format(catalog_item.dialog))
def test_vmware_vimapi_hotadd_disk( request, testing_group, provider, testing_vm, domain, namespace, cls): """ Tests hot adding a disk to vmware vm. This test exercises the ``VMware_HotAdd_Disk`` method, located either in ``/Integration/VimApi/`` (<5.3) or ``/Integration/VMware/VimApi`` (5.3 and up). Steps: * It creates an instance in ``System/Request`` that can be accessible from eg. a button. * Then it creates a service dialog that contains a field with the desired disk size, the text field name should be ``size`` * Then it creates a button, that refers to the ``VMware_HotAdd_Disk`` in ``Request``. The button shall belong in the VM and instance button group. * After the button is created, it goes to a VM's summary page, clicks the button, enters the size of the disk and submits the dialog. * The test waits until the number of disks is raised. Metadata: test_flag: hotdisk, provision """ # Instance that calls the method and is accessible from the button if current_version() < "5.3": rel = "/Integration/VimApi/VMware_HotAdd_Disk" else: rel = "/Integration/VMware/VimApi/VMware_HotAdd_Disk" instance = Instance( name="VMware_HotAdd_Disk", values={ "rel5": rel, }, cls=cls ) if not instance.exists(): request.addfinalizer(lambda: instance.delete() if instance.exists() else None) instance.create() # Dialog to put the disk capacity return element_data = { 'ele_label': "Disk size", 'ele_name': "size", 'ele_desc': "Disk size", 'choose_type': "Text Box", 'default_text_box': "Default text" } dialog = ServiceDialog( label=fauxfactory.gen_alphanumeric(), description=fauxfactory.gen_alphanumeric(), submit=True, tab_label=fauxfactory.gen_alphanumeric(), tab_desc=fauxfactory.gen_alphanumeric(), box_label=fauxfactory.gen_alphanumeric(), box_desc=fauxfactory.gen_alphanumeric(), ) dialog.create(element_data) request.addfinalizer(lambda: dialog.delete()) # Button that will invoke the dialog and action button_name = fauxfactory.gen_alphanumeric() button = Button(group=testing_group, text=button_name, hover=button_name, dialog=dialog, system="Request", request="VMware_HotAdd_Disk") request.addfinalizer(button.delete_if_exists) button.create() # Now do the funny stuff def _get_disk_count(): return int(testing_vm.get_detail( properties=("Datastore Allocation Summary", "Number of Disks")).strip()) original_disk_count = _get_disk_count() toolbar.select(testing_group.text, button.text) fill(Input("size"), "1") pytest.sel.click(submit) flash.assert_no_errors() wait_for(lambda: original_disk_count + 1 == _get_disk_count(), num_sec=180, delay=5)
def test_vmware_vimapi_hotadd_disk(request, testing_group, provider, testing_vm, domain, namespace, cls): """ Tests hot adding a disk to vmware vm. This test exercises the ``VMware_HotAdd_Disk`` method, located either in ``/Integration/VimApi/`` (<5.3) or ``/Integration/VMware/VimApi`` (5.3 and up). Steps: * It creates an instance in ``System/Request`` that can be accessible from eg. a button. * Then it creates a service dialog that contains a field with the desired disk size, the text field name should be ``size`` * Then it creates a button, that refers to the ``VMware_HotAdd_Disk`` in ``Request``. The button shall belong in the VM and instance button group. * After the button is created, it goes to a VM's summary page, clicks the button, enters the size of the disk and submits the dialog. * The test waits until the number of disks is raised. Metadata: test_flag: hotdisk, provision """ # Instance that calls the method and is accessible from the button if current_version() < "5.3": rel = "/Integration/VimApi/VMware_HotAdd_Disk" else: rel = "/Integration/VMware/VimApi/VMware_HotAdd_Disk" instance = Instance(name="VMware_HotAdd_Disk", values={ "rel5": rel, }, cls=cls) if not instance.exists(): request.addfinalizer(lambda: instance.delete() if instance.exists() else None) instance.create() # Dialog to put the disk capacity return element_data = { 'ele_label': "Disk size", 'ele_name': "size", 'ele_desc': "Disk size", 'choose_type': "Text Box", 'default_text_box': "Default text" } dialog = ServiceDialog( label=fauxfactory.gen_alphanumeric(), description=fauxfactory.gen_alphanumeric(), submit=True, tab_label=fauxfactory.gen_alphanumeric(), tab_desc=fauxfactory.gen_alphanumeric(), box_label=fauxfactory.gen_alphanumeric(), box_desc=fauxfactory.gen_alphanumeric(), ) dialog.create(element_data) request.addfinalizer(lambda: dialog.delete()) # Button that will invoke the dialog and action button_name = fauxfactory.gen_alphanumeric() button = Button(group=testing_group, text=button_name, hover=button_name, dialog=dialog, system="Request", request="VMware_HotAdd_Disk") request.addfinalizer(button.delete_if_exists) button.create() # Now do the funny stuff def _get_disk_count(): return int( testing_vm.get_detail(properties=("Datastore Allocation Summary", "Number of Disks")).strip()) original_disk_count = _get_disk_count() toolbar.select(testing_group.text, button.text) fill(Input("size"), "1") pytest.sel.click(submit) flash.assert_no_errors() wait_for(lambda: original_disk_count + 1 == _get_disk_count(), num_sec=180, delay=5)