Making OVS Switch Prompts configurable.
[integration/test.git] / test / csit / libraries / AAAKeywords.txt
index b8f1ff04bd82148ae59cb08d9828fbf3409d8b23..7419d33247802ee17d7066b82f1bb927f85e7c4a 100644 (file)
@@ -3,9 +3,10 @@ Library           ./RequestsLibrary.py
 Variables         ../variables/Variables.py
 
 *** Variables ***
-${WORKSPACE}      /opt/jenkins-integration/workspace/shared-controller
+${WORKSPACE}      /tmp
 ${BUNDLEFOLDER}    distribution-karaf-0.3.0-SNAPSHOT
 ${AUTHN_CFG_FILE}    ${WORKSPACE}/${BUNDLEFOLDER}/etc/org.opendaylight.aaa.authn.cfg
+${CONTROLLER_USER}  ${MININET_USER}
 
 *** Keywords ***
 AAA Login
@@ -32,17 +33,19 @@ Disable Authentication On Controller
     [Arguments]    ${controller_ip}
     [Documentation]    Will disable token based authentication. Currently, that is done with a config file change
     SSHLibrary.Open Connection    ${controller_ip}
-    Login With Public Key    ${MININET_USER}    ${USER_HOME}/.ssh/id_rsa    any
+    Login With Public Key    ${CONTROLLER_USER}    ${USER_HOME}/.ssh/id_rsa    any
     ${cmd}=    Set Variable    sed -i 's/^authEnabled=.*$/authEnabled=false/g' ${AUTHN_CFG_FILE}
     SSHLibrary.Execute Command    ${cmd}
+    SSHLibrary.Close Connection
 
 Enable Authentication On Controller
     [Arguments]    ${controller_ip}
     [Documentation]    Will enable token based authentication. Currently, that is done with a config file change
     SSHLibrary.Open Connection    ${controller_ip}
-    Login With Public Key    ${MININET_USER}    ${USER_HOME}/.ssh/id_rsa    any
+    Login With Public Key    ${CONTROLLER_USER}    ${USER_HOME}/.ssh/id_rsa    any
     ${cmd}=    Set Variable    sed -i 's/^authEnabled=.*$/authEnabled=true/g' ${AUTHN_CFG_FILE}
     SSHLibrary.Execute Command    ${cmd}
+    SSHLibrary.Close Connection
 
 Get Auth Token
     [Arguments]    ${user}=${USER}    ${password}=${PWD}    ${scope}=${SCOPE}    ${client_id}=${EMPTY}    ${client_secret}=${EMPTY}
@@ -64,3 +67,23 @@ Validate Token Format
     [Arguments]    ${token}
     [Documentation]    Validates the given string is in the proper "token" format
     Should Match Regexp    ${token}    [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
+
+Get User From IDM DB
+    [Documentation]    Will return user information. If no user id is passed, it will retrieve all users in DB
+    [Arguments]    ${user_id}=${EMPTY}
+    Create Session    httpbin    http://${CONTROLLER}:${RESTPORT}
+    ${headers}=    Create Dictionary    Content-Type    application/x-www-form-urlencoded
+    ${resp}=    RequestsLibrary.GET    httpbin    ${idmurl}/users/${user_id}    headers=${headers}
+    Should Be Equal As Strings    ${resp.status_code}    200
+    Log    ${resp.content}
+    [Return]    ${resp}
+
+Create User
+    [Documentation]    Will return user information. If no user id is passed, it will retrieve all users in DB
+    [Arguments]    ${user_data}
+    Create Session    httpbin    http://${CONTROLLER}:${RESTPORT}
+    ${headers}=    Create Dictionary    Content-Type    application/json
+    ${resp}=    RequestsLibrary.POST    httpbin    ${idmurl}/users    headers=${headers}    data=${user_data}
+    Should Be Equal As Strings    ${resp.status_code}    201
+    Log    ${resp.content}
+    [Return]    ${resp}