def vm_ownership(enable_candu, clean_setup_provider, provider): # In these tests, chargeback reports are filtered on VM owner.So,VMs have to be # assigned ownership. vm_name = provider.data['cap_and_util']['chargeback_vm'] if not provider.mgmt.does_vm_exist(vm_name): pytest.skip("Skipping test, cu-24x7 VM does not exist") if not provider.mgmt.is_vm_running(vm_name): provider.mgmt.start_vm(vm_name) provider.mgmt.wait_vm_running(vm_name) cb_group = ac.Group(description='EvmGroup-user') user = ac.User(name=provider.name + fauxfactory.gen_alphanumeric(), credential=new_credential(), email='*****@*****.**', group=cb_group, cost_center='Workload', value_assign='Database') vm = VM.factory(vm_name, provider) try: user.create() vm.set_ownership(user=user.name) logger.info('Assigned VM OWNERSHIP for {} running on {}'.format(vm_name, provider.name)) yield user.name finally: vm.unset_ownership() user.delete()
def new_group(new_tag, new_role): group = ac.Group(description='tag_vis_group_' + fauxfactory.gen_alphanumeric(), role=new_role.name) group.create() group.edit_tags(new_tag.category.display_name + " *", new_tag.display_name) yield group group.delete()
def group_user_or_group_owned(role_user_or_group_owned): group = ac.Group(description='group_user_or_group_owned_' + fauxfactory.gen_alphanumeric(), role=role_user_or_group_owned.name) group.create() yield group login.login_admin() group.delete()
def test_edit_default_group(): flash_msg = 'Read Only EVM Group "{}" can not be edited' group = ac.Group(description='EvmGroup-approver') sel.force_navigate("cfg_accesscontrol_groups") row = group_table.find_row_by_cells({'Name': group.description}) sel.check(sel.element(".//input[@type='checkbox']", root=row[0])) tb.select('Configuration', 'Edit the selected Group') flash.assert_message_match(flash_msg.format(group.description))
def group_only_user_owned(appliance, role_only_user_owned): group = ac.Group(description='group_only_user_owned_' + fauxfactory.gen_alphanumeric(), role=role_only_user_owned.name) group.create() yield group appliance.server.login_admin() group.delete()
def test_delete_default_group(): flash_msg = \ 'EVM Group "{}": Error during \'destroy\': A read only group cannot be deleted.' group = ac.Group(description='EvmGroup-administrator') sel.force_navigate("cfg_accesscontrol_groups") row = group_table.find_row_by_cells({'Name': group.description}) sel.check(sel.element(".//input[@type='checkbox']", root=row[0])) tb.select('Configuration', 'Delete selected Groups', invokes_alert=True) sel.handle_alert() flash.assert_message_match(flash_msg.format(group.description))
def test_current_user_login_delete(request): """Test for deleting current user login. Steps: * Login as Admin user * Create a new user * Login with the new user * Try deleting the user """ group_user = ac.Group("EvmGroup-super_administrator") user = ac.User(name='user' + fauxfactory.gen_alphanumeric(), credential=new_credential(), email='*****@*****.**', group=group_user) user.create() request.addfinalizer(user.delete) request.addfinalizer(login.login_admin) with user: with error.expected("Current EVM User \"{}\" cannot be deleted".format( user.name)): user.delete()
def vm_ownership(enable_candu, clean_setup_provider, provider): # In these tests, chargeback reports are filtered on VM owner.So,VMs have to be # assigned ownership. try: vm_name = provider.data['cap_and_util']['chargeback_vm'] vm = VM.factory(vm_name, provider) cb_group = ac.Group(description='EvmGroup-user') user = ac.User(name=provider.name + fauxfactory.gen_alphanumeric(), credential=new_credential(), email='*****@*****.**', group=cb_group, cost_center='Workload', value_assign='Database') user.create() vm.set_ownership(user=user.name) logger.info('ASSIGNED VM OWNERSHIP FOR {} RUNNING ON {}'.format( vm_name, provider.name)) yield user.name finally: vm.unset_ownership() user.delete()
def set_group_cpu(): group = ac.Group(description='EvmGroup-super_administrator') group.edit_tags("Quota - Max CPUs *", '2') yield group.remove_tag("Quota - Max CPUs *", "2")
def set_group_memory(): group = ac.Group(description='EvmGroup-super_administrator') group.edit_tags("Quota - Max Memory *", '2GB') yield group.remove_tag("Quota - Max Memory *", "2GB")
def new_group(role='EvmRole-approver'): return ac.Group(description='grp' + fauxfactory.gen_alphanumeric(), role=role)
def test_description_required_error_validation(): group = ac.Group(description=None, role='EvmRole-approver') with error.expected("Description can't be blank"): group.create()
import cfme.fixtures.pytest_selenium as sel from cfme import Credential from cfme import login from cfme.configure.access_control import set_group_order from cfme.exceptions import OptionNotAvailable from cfme.infrastructure import virtual_machines from cfme.web_ui import flash, Table, InfoBlock, toolbar as tb from cfme.web_ui.menu import nav from cfme.configure import tasks from utils.log import logger from utils.providers import setup_a_provider from utils.update import update from utils import version records_table = Table("//div[@id='main_div']//table") usergrp = ac.Group(description='EvmGroup-user') group_table = Table("//div[@id='main_div']//table") @pytest.fixture(scope="module") def setup_first_provider(): setup_a_provider(validate=True, check_existing=True) # due to pytest.mark.meta(blockers=[1035399]), non admin users can't login # with no providers added pytestmark = [pytest.mark.usefixtures("setup_first_provider")] def new_credential(): return Credential(principal='uid' + fauxfactory.gen_alphanumeric(),
def new_group(role='EvmRole-approver'): return ac.Group(description='grp' + random.generate_random_string(), role=role)