Exemple #1
0
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 = Group("EvmGroup-super_administrator")
    user = User(name='user' + fauxfactory.gen_alphanumeric(),
                credential=new_credential(),
                email='*****@*****.**',
                group=group_user)
    user.create()
    request.addfinalizer(user.delete)
    request.addfinalizer(user.appliance.server.login_admin())
    with user:
        if version.current_version() >= '5.7':
            navigate_to(user, 'Details')
            menu_item = ('Configuration', 'Delete this User')
            assert tb.exists(*menu_item) and tb.is_greyed(
                *menu_item), "Delete User is not dimmed"
        else:
            with error.expected(
                    "Current EVM User \"{}\" cannot be deleted".format(
                        user.name)):
                user.delete()
Exemple #2
0
def user():
    user = User(credential=Credential(principal=fauxfactory.gen_alphanumeric(),
                                      secret=fauxfactory.gen_alphanumeric()),
                name=fauxfactory.gen_alphanumeric(),
                group=Group(description='EvmGroup-super_administrator'))
    user.create()
    return user
Exemple #3
0
def test_group_crud_with_tag(a_provider, category, tag):
    """Test for verifying group create with tag defined

    Steps:
        * Login as Admin user
        * Navigate to add group page
        * Fill all fields
        * Set tag
        * Save group
    """
    group = Group(
        description='grp{}'.format(fauxfactory.gen_alphanumeric()),
        role='EvmRole-approver',
        tag=[category.display_name, tag.display_name],
        host_cluster=[a_provider.data['name']],
        vm_template=[a_provider.data['name'], a_provider.data['datacenters'][0],
                     'Discovered virtual machine']
    )
    group.create()
    with update(group):
        group.tag = [tag.category.display_name, tag.display_name]
        group.host_cluster = [a_provider.data['name']]
        group.vm_template = [a_provider.data['name'], a_provider.data['datacenters'][0],
                             'Discovered virtual machine']
    group.delete()
Exemple #4
0
def test_edit_default_group():
    flash_msg = 'Read Only EVM Group "{}" can not be edited'
    group = Group(description='EvmGroup-approver')
    navigate_to(Group, 'All')
    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))
Exemple #5
0
def test_delete_default_group():
    flash_msg = "EVM Group \"{}\": Error during delete: A read only group cannot be deleted."
    group = Group(description='EvmGroup-administrator')
    view = navigate_to(Group, 'All')
    row = group_table.find_row_by_cells({'Name': group.description})
    sel.check(sel.element(".//input[@type='checkbox']", root=row[0]))
    view.configuration.item_select('Delete selected Groups', handle_alert=True)
    view.flash.assert_message(flash_msg.format(group.description))
Exemple #6
0
def test_group_description_required_error_validation():
    error_text = "Description can't be blank"
    group = Group(description=None, role='EvmRole-approver')
    with error.expected(error_text):
        group.create()

    # Navigating away from this page will create an "Abandon Changes" alert
    # Since group creation failed we need to reset the state of the page
    navigate_to(group.appliance.server, 'Dashboard')
Exemple #7
0
def group_with_tag(role, category, tag):
    """
        Returns group object with set up tag filter used in test module
    """
    group = Group(description='grp{}'.format(fauxfactory.gen_alphanumeric()),
                  role=role.name,
                  tag=[category.display_name, tag.display_name])
    group.create()
    yield group
    group.delete()
def test_delete_default_group():
    flash_msg = "EVM Group \"{}\": Error during delete: A read only group cannot be deleted."
    group = Group(description='EvmGroup-administrator')
    navigate_to(Group, 'All')
    row = group_table.find_row_by_cells({'Name': group.description})
    sel.check(sel.element(".//input[@type='checkbox']", root=row[0]))
    sleep(10)  # todo: temporary fix of js issue, to remove when switch to widgetastic
    tb.select('Configuration', 'Delete selected Groups', invokes_alert=True)
    sel.handle_alert()
    flash.assert_message_match(flash_msg.format(group.description))
def group():
    data = cfme_data.get("openldap_test", {})
    if not data:
        pytest.skip("No openldap_test section in yaml")
    credentials = Credential(
        principal=data["username"],
        secret=data["password"],
    )
    return Group(description=data["group_name"], role="EvmRole-user",
                 user_to_lookup=data['username'], ldap_credentials=credentials)
Exemple #10
0
def test_delete_default_group():
    """Test for deleting default group EvmGroup-administrator.

    Steps:
        * Login as Administrator user
        * Try deleting the group EvmGroup-adminstrator
    """
    group = Group(description='EvmGroup-administrator')

    with pytest.raises(RBACOperationBlocked):
        group.delete()
Exemple #11
0
def test_edit_default_group():
    """Test that CFME prevents a user from editing a default group

    Steps:
        * Login as Administrator user
        * Try editing the group EvmGroup-adminstrator
    """
    group = Group(description='EvmGroup-approver')

    group_updates = {}
    with pytest.raises(RBACOperationBlocked):
        group.update(group_updates)
Exemple #12
0
def test_external_auth_ipa(request, setup_first_provider, configure_external_auth_ipa_module):
    try:
        data = cfme_data.get("ipa_test", {})
    except KeyError:
        pytest.skip("No ipa_test section in yaml")
    group = Group(description='cfme', role="EvmRole-user")
    request.addfinalizer(group.delete)
    group.create()
    user = User(name=data["fullname"])
    request.addfinalizer(user.delete)
    request.addfinalizer(login.login_admin)
    login.login(data["username"], data["password"])
    assert login.current_full_name() == data["fullname"]
Exemple #13
0
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 = Group("EvmGroup-super_administrator")
    user = new_user(group=group_user)
    user.create()
    request.addfinalizer(user.delete)
    request.addfinalizer(user.appliance.server.login_admin)
    with user:
        with pytest.raises(RBACOperationBlocked):
            user.delete()
def group(request, data, auth_mode, add_group):
    if not data:
        pytest.skip("No data spcified for user group")
    credentials = Credential(
        principal=data["username"],
        secret=data["password"],
    )
    user_group = Group(description=data['group_name'], role="EvmRole-user",
                       user_to_lookup=data["username"], ldap_credentials=credentials)
    if add_group == RETRIEVE_GROUP:
        if 'ext' in auth_mode:
            user_group.add_group_from_ext_auth_lookup()
        elif 'miq' in auth_mode:
            user_group.add_group_from_ldap_lookup()
        request.addfinalizer(user_group.delete)
    elif add_group == CREATE_GROUP:
        user_group.create()
        request.addfinalizer(user_group.delete)
def test_openldap_auth(request, setup_first_provider,
                       configure_openldap_auth_mode):
    data = cfme_data.get("openldap_test", {})
    if not data:
        pytest.skip("No openldap_test section in yaml")
    group = Group(description=data["group_name"], role="EvmRole-user")
    request.addfinalizer(group.delete)
    group.create()
    credentials = Credential(
        principal=data["username"],
        secret=data["password"],
        verify_secret=data["password"],
    )
    user = User(name=data["fullname"], credential=credentials)
    request.addfinalizer(user.delete)
    request.addfinalizer(login.login_admin)
    login.login(data["username"], data["password"])
    assert login.current_full_name() == data["fullname"]
Exemple #16
0
from cfme.common.provider import base_types
from cfme.infrastructure import virtual_machines as vms
from cfme.infrastructure.provider.virtualcenter import VMwareProvider
from cfme.services.myservice import MyService
from cfme.web_ui import InfoBlock
from cfme.configure import tasks
from fixtures.provider import setup_one_or_skip
from cfme.utils.appliance.implementations.ui import navigate_to
from cfme.utils.blockers import BZ
from cfme.utils.log import logger
from cfme.utils.providers import ProviderFilter
from cfme.utils.update import update
from cfme.utils import version


usergrp = Group(description='EvmGroup-user')


pytestmark = test_requirements.rbac


@pytest.fixture(scope='module')
def a_provider(request):
    prov_filter = ProviderFilter(classes=[VMwareProvider])
    return setup_one_or_skip(request, filters=[prov_filter])


def new_credential():
    return Credential(principal='uid' + fauxfactory.gen_alphanumeric(), secret='redhat')

Exemple #17
0
def new_group(role='EvmRole-approver'):
    return Group(
        description='grp' + fauxfactory.gen_alphanumeric(),
        role=role)
Exemple #18
0
def test_group_description_required_error_validation():
    error_text = "Description can't be blank"
    group = Group(description=None, role='EvmRole-approver')
    with error.expected(error_text):
        group.create()
    flash.dismiss()