Commit afb12523 authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Add new task for user creation

parent b6933fee
Loading
Loading
Loading
Loading
+26 −4
Original line number Original line Diff line number Diff line
@@ -139,6 +139,12 @@ Get Request Admin Register
    ...    cert=${cert}
    ...    cert=${cert}
    RETURN    ${resp}
    RETURN    ${resp}


Delete User Admin Register Request
    [Arguments]    ${user_uuid}
    ${headers}=    Create Register Admin Session    ${CAPIF_HTTPS_REGISTER_URL}    verify=False
    ${resp}=    DELETE On Session    register_session    /deleteUser/${user_uuid}    headers=${headers}
    RETURN    ${resp}

# NEW REQUESTS END
# NEW REQUESTS END


Post Request Capif
Post Request Capif
@@ -435,9 +441,7 @@ Delete User At Register
        ${user_uuid}=    Call Method    ${CAPIF_USERS}    get_user_uuid    ${username}
        ${user_uuid}=    Call Method    ${CAPIF_USERS}    get_user_uuid    ${username}
    END
    END


    ${headers}=    Create Register Admin Session    ${CAPIF_HTTPS_REGISTER_URL}    verify=False
    ${resp}=    Delete User Admin Register Request   ${user_uuid}

    ${resp}=    DELETE On Session    register_session    /deleteUser/${user_uuid}    headers=${headers}


    Should Be Equal As Strings    ${resp.status_code}    204
    Should Be Equal As Strings    ${resp.status_code}    204


@@ -445,7 +449,7 @@ Delete User At Register


    RETURN    ${resp}
    RETURN    ${resp}


Get List of User At Register
Get List of Users At Register
    [Documentation]    (Administrator) This Keyword retrieve a list of users from register.
    [Documentation]    (Administrator) This Keyword retrieve a list of users from register.
    ${headers}=    Create Register Admin Session    ${CAPIF_HTTPS_REGISTER_URL}    verify=False
    ${headers}=    Create Register Admin Session    ${CAPIF_HTTPS_REGISTER_URL}    verify=False


@@ -455,6 +459,24 @@ Get List of User At Register


    RETURN    ${resp.json()['users']}
    RETURN    ${resp.json()['users']}


Get User Uuid At Register
    [Documentation]    (Administrator) This Keyword retrieve a list of users and search uuid of user passed by parameters
    [Arguments]    ${username}
    ${users}=   Get List of Users At Register

    # Find the first user with username indicated
    ${user}=    Evaluate    [item for item in ${users} if item['username'] == ${username}][0]    modules=collections
    
    ${user_uuid}=    Set Variable
    IF   ${user} == &{EMPTY}
        Log    ${username} not found in Register
    ELSE
        ${user_uuid}=    Set Variable   ${user['uuid']}
    END
    
    RETURN  ${user_uuid}    


Get Auth For User
Get Auth For User
    [Documentation]    (User) This Keyword retrieve token to be used by user towards first interaction with CCF.
    [Documentation]    (User) This Keyword retrieve token to be used by user towards first interaction with CCF.
    [Arguments]    ${username}    ${password}
    [Arguments]    ${username}    ${password}
+2 −0
Original line number Original line Diff line number Diff line
*** Settings ***
Force Tags    users_management
 No newline at end of file
+97 −0
Original line number Original line Diff line number Diff line
*** Settings ***
Resource            /opt/robot-tests/tests/resources/common.resource
Resource            /opt/robot-tests/tests/resources/api_invoker_management_requests/apiInvokerManagementRequests.robot
Resource            ../../resources/common.resource
Resource            ../../resources/common/basicRequests.robot
Library             /opt/robot-tests/tests/libraries/bodyRequests.py
Library             Process
Library             Collections
Library             ArchiveLibrary
Library             OperatingSystem
Library             DateTime
Library             String

Suite Teardown      Reset Testing Environment


*** Variables ***
${TOTAL_USERS}                      5

${BACKUP_DIRECTORY}                 backup
${RESULT_FOLDER}                    /opt/robot-tests/results
${OUTPUT_ZIP_FILE}                  entities_loaded.zip

${USER_PASSWORD}                    umapassword
${USERNAME_PREFIX}                  uma
${DESCRIPTION}                      Testing purpouse


*** Test Cases ***
Create Client Users
    [Tags]    create-users
    ${entities_dictionary}=    Create Dictionary
    Create Directory    ${BACKUP_DIRECTORY}

    FOR    ${counter}    IN RANGE    ${TOTAL_USERS}
        ${USERNAME}=    Set Variable    ${USERNAME_PREFIX}_${counter}

        ${resp}=    Run Keyword And Continue On Failure    Create User At Register
        ...    ${USERNAME}
        ...    ${USER_PASSWORD}
        ...    ${DESCRIPTION}
        ...    email="${USERNAME}@nobody.com"

        ${register_user_info}=    Create Dictionary

        IF    ${resp.status_code} == 201
            ${register_user_info}=    Create Dictionary
            ...    user_uuid=${resp.json()['uuid']}
            ...    &{resp.json()}
        ELSE
            ${register_user_info}=    Create Dictionary
            ...    ${resp.json()}
        END

        Set To Dictionary    ${entities_dictionary}    ${USERNAME}=${register_user_info}
        Copy Files    *${USERNAME}*    ${BACKUP_DIRECTORY}/
    END

    Write Dictionary    ${BACKUP_DIRECTORY}/registers.json    ${entities_dictionary}
    ${date}=    Get Current Date    result_format=%Y_%m_%d_%H_%M_%S
    Create Zip From Files In Directory    ${BACKUP_DIRECTORY}    ${RESULT_FOLDER}/${date}_${OUTPUT_ZIP_FILE}

    ${result}=    Run Process    ls    -l

    Log Many    ${result.stdout}

Remove Client Users
    [Tags]    remove-users
    ${files}=    List Files In Directory    ${RESULT_FOLDER}    *${OUTPUT_ZIP_FILE}
    ${sorted_list}=    Copy List    ${files}

    Sort List    ${sorted_list}
    Log To Console    message
    ${last_backup}=    Get From List    ${sorted_list}    -1

    Copy File    ${RESULT_FOLDER}/${last_backup}    ./
    Extract Zip File    ${last_backup}

    ${entities_dictionary}=    Read Dictionary    registers.json

    Log Dictionary    ${entities_dictionary}

    FOR    ${username}    IN    @{entities_dictionary}
        Log    ${username}=${entities_dictionary}[${username}]
        Run Keyword And Continue On Failure    ${username}
    END

    ${result}=    Run Process    ls    -l

    Log Many    ${result.stdout}


*** Keywords ***
Delete User
    [Arguments]    ${username}
    ${user_uuid}=    Get User Uuid At Register    ${username}
    Delete User Admin Register Request    ${user_uuid}