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()
Example #3
0
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))
Example #5
0
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()
Example #8
0
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)