Exemplo n.º 1
0
def create_po_user_and_group(request, appliance):
    """This fixture creates custom user with tenant attached"""
    group = _groups(
        request,
        appliance,
        appliance.rest_api.collections.roles.get(name="EvmRole-super_administrator"),
        description="Preserve Owner Report Group",
    )
    _users(request, appliance, group=group.description, userid="pouser")
Exemplo n.º 2
0
    def test_create_uppercase_user(self, request, appliance):
        """Tests creating user with userid containing uppercase letters.

        Bugzilla:
            1486041

        Metadata:
            test_flag: rest

        Polarion:
            assignee: pvala
            casecomponent: Configuration
            caseimportance: low
            initialEstimate: 1/4h
        """
        uniq = fauxfactory.gen_alphanumeric(4).upper()
        data = {
            "userid": f"rest_{uniq}",
            "name": f"REST User {uniq}",
            "password": fauxfactory.gen_alphanumeric(),
            "email": "*****@*****.**",
            "group": "EvmGroup-user_self_service",
        }
        user, _ = _users(request, appliance, **data)
        assert_response(appliance)
        user_auth = (user[0].userid, data["password"])
        assert appliance.new_rest_api_instance(auth=user_auth)
    def test_create_uppercase_user(self, request, appliance):
        """Tests creating user with userid containing uppercase letters.

        Bugzilla:
            1486041

        Metadata:
            test_flag: rest

        Polarion:
            assignee: pvala
            casecomponent: Rest
            caseimportance: low
            initialEstimate: 1/4h
        """
        uniq = fauxfactory.gen_alphanumeric(4).upper()
        data = {
            "userid": "rest_{}".format(uniq),
            "name": "REST User {}".format(uniq),
            "password": fauxfactory.gen_alphanumeric(),
            "email": "*****@*****.**",
            "group": "EvmGroup-user_self_service"
        }
        user, _ = _users(request, appliance, **data)
        assert_response(appliance)
        user_auth = (user[0].userid, data['password'])
        assert appliance.new_rest_api_instance(auth=user_auth)
Exemplo n.º 4
0
def role_api(appliance, request, create_role):
    group = _groups(request, appliance, create_role)
    user, user_data = _users(request, appliance, group=group.description)

    yield appliance.new_rest_api_instance(
        entry_point=appliance.rest_api._entry_point,
        auth=(user[0].userid, user_data[0]["password"]),
    )
Exemplo n.º 5
0
def rbac_user(appliance, request, group):
    user, user_data = _users(request, appliance, group=group)
    return appliance.collections.users.instantiate(
        name=user[0].name,
        credential=Credential(principal=user_data[0]["userid"],
                              secret=user_data[0]["password"]),
        groups=[group],
    )
 def users_data(self, request, appliance, num=3):
     num_users = num
     response, prov_data = _users(request,
                                  appliance.rest_api,
                                  num=num_users)
     assert_response(appliance)
     assert len(response) == num
     return response, prov_data
def rbac_api(appliance, request):
    user, user_data = _users(request,
                             appliance,
                             password="******",
                             group="EvmGroup-user")
    return appliance.new_rest_api_instance(
        entry_point=appliance.rest_api._entry_point,
        auth=(user[0].userid, user_data[0]["password"]))
def new_user(request, appliance):
    user, user_data = _users(request, appliance, group="EvmGroup-vm_user")
    yield appliance.collections.users.instantiate(
        name=user[0].name,
        credential=Credential(principal=user_data[0]["userid"], secret=user_data[0]["password"]),
    )

    if user[0].exists:
        user[0].action.delete()
Exemplo n.º 9
0
def new_user(request, appliance):
    """This fixture creates custom user with tenant attached"""
    tenant = _tenants(request, appliance)
    role = appliance.rest_api.collections.roles.get(name="EvmRole-super_administrator")
    group = _groups(request, appliance, role, tenant=tenant)
    user, user_data = _users(request, appliance, group=group.description)
    yield appliance.collections.users.instantiate(
        name=user[0].name,
        credential=Credential(principal=user_data[0]["userid"], secret=user_data[0]["password"]),
    ), tenant
Exemplo n.º 10
0
def rbac_api(appliance, request):
    user, user_data = _users(
        request, appliance, password="******", group="EvmGroup-user"
    )
    api = appliance.new_rest_api_instance(
        entry_point=appliance.rest_api._entry_point,
        auth=(user[0].userid, user_data[0]["password"]),
    )
    assert_response(api)
    yield api
    appliance.rest_api.collections.users.action.delete(id=user[0].id)
Exemplo n.º 11
0
def user(appliance, request):
    users, user_data = _users(
        request,
        appliance,
        name="Sherlock Holmes",
        email="*****@*****.**",
        userid="shholmes",
        password="******",
        group="EvmGroup-super_administrator",
    )

    return users[0]
Exemplo n.º 12
0
def rbac_api(appliance, request):
    user, user_data = _users(request,
                             appliance,
                             password="******",
                             group="EvmGroup-user")
    api = appliance.new_rest_api_instance(
        entry_point=appliance.rest_api._entry_point,
        auth=(user[0].userid, user_data[0]["password"]),
    )
    assert_response(api)
    yield api
    appliance.rest_api.collections.users.action.delete(id=user[0].id)
Exemplo n.º 13
0
def test_automate_user_has_groups(request, appliance, custom_instance):
    """
    This method should work:  groups = $evm.vmdb(:user).first.miq_groups
    $evm.log(:info, "Displaying the user"s groups: #{groups.inspect}")

    Bugzilla:
        1411424

    Polarion:
        assignee: dgaikwad
        casecomponent: Automate
        caseimportance: medium
        initialEstimate: 1/12h
        tags: automate
        startsin: 5.8
    """
    user, user_data = _users(request, appliance)

    script = dedent(
        f"""
        group = $evm.vmdb(:user).find_by_name("{user[0].name}").miq_groups
        $evm.log(:info, "Displaying the user's groups: #{{group.inspect}}")
        """
    )
    instance = custom_instance(ruby_code=script)

    with LogValidator(
        "/var/www/miq/vmdb/log/automation.log",
        matched_patterns=[f'.*{user_data[0]["group"]["description"]}.*'],
    ).waiting(timeout=120):

        # Executing automate method using simulation
        simulate(
            appliance=instance.klass.appliance,
            message="create",
            request="Call_Instance",
            execute_methods=True,
            attributes_values={
                "namespace": instance.klass.namespace.name,
                "class": instance.klass.name,
                "instance": instance.name,
            },
        )
Exemplo n.º 14
0
 def users(self, request, appliance, num=3):
     return _users(request, appliance, num=num)
 def users(self, request, appliance):
     num_users = 3
     response = _users(request, appliance.rest_api, num=num_users)
     assert appliance.rest_api.response.status_code == 200
     assert len(response) == 3
     return response
Exemplo n.º 16
0
 def users(self, request, appliance):
     num_users = 3
     response = _users(request, appliance.rest_api, num=num_users)
     assert appliance.rest_api.response.status_code == 200
     assert len(response) == 3
     return response
Exemplo n.º 17
0
 def users_data(self, request, appliance, num=3):
     num_users = num
     response, prov_data = _users(request, appliance.rest_api, num=num_users)
     assert_response(appliance)
     assert len(response) == num
     return response, prov_data
 def users(self, request, rest_api):
     return _users(request, rest_api, num=3)