update odltools cli to use netvirt subcommand
[integration/test.git] / csit / libraries / Utils.robot
index 1e7baff52d6e6eb30b00dfd33d46fca98286b2f7..186f6ac3c76771e269a392cf99aae27d04581c1e 100644 (file)
@@ -320,21 +320,21 @@ Remove All Elements If Exist
 
 Add Elements To URI From File
     [Arguments]    ${dest_uri}    ${data_file}    ${headers}=${headers}    ${session}=session
+    [Documentation]    Put data from a file to a URI
     ${body}    OperatingSystem.Get File    ${data_file}
     ${resp}    RequestsLibrary.Put Request    ${session}    ${dest_uri}    data=${body}    headers=${headers}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
 
 Add Elements To URI From File And Verify
     [Arguments]    ${dest_uri}    ${data_file}    ${headers}=${headers}    ${session}=session
+    [Documentation]    Put data from a file to a URI and verify the HTTP response
     ${body}    OperatingSystem.Get File    ${data_file}
-    ${resp}    RequestsLibrary.Put Request    ${session}    ${dest_uri}    data=${body}    headers=${headers}
-    Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
-    ${resp}    RequestsLibrary.Get Request    ${session}    ${dest_uri}
-    Should Not Be Equal    ${resp.status_code}    404
+    Add Elements to URI And Verify    ${dest_uri}    ${body}    ${headers}    ${session}
 
 Add Elements To URI And Verify
-    [Arguments]    ${dest_uri}    ${data_file}    ${headers}=${headers}    ${session}=session
-    ${resp}    RequestsLibrary.Put Request    ${session}    ${dest_uri}    ${data_file}    headers=${headers}
+    [Arguments]    ${dest_uri}    ${data}    ${headers}=${headers}    ${session}=session
+    [Documentation]    Put data to a URI and verify the HTTP response
+    ${resp}    RequestsLibrary.Put Request    ${session}    ${dest_uri}    ${data}    headers=${headers}
     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
     ${resp}    RequestsLibrary.Get Request    ${session}    ${dest_uri}
     Should Not Be Equal    ${resp.status_code}    404
@@ -382,6 +382,14 @@ Get Data From URI
     Builtin.Log    ${response.text}
     Builtin.Fail    The request failed with code ${response.status_code}
 
+Get URI And Verify
+    [Arguments]    ${uri}    ${session}=session    ${headers}=${NONE}
+    [Documentation]    Issue a GET request and verify a successfull HTTP return.
+    ...    Issues a GET request for ${uri} in ${session} using headers from ${headers}.
+    ${response} =    RequestsLibrary.Get Request    ${session}    ${uri}    ${headers}
+    Builtin.Log    ${response.status_code}
+    Should Contain    ${ALLOWED_STATUS_CODES}    ${response.status_code}
+
 No Content From URI
     [Arguments]    ${session}    ${uri}    ${headers}=${NONE}
     [Documentation]    Issue a GET request and return on error 404 (No content) or will fail and log the content.
@@ -425,7 +433,9 @@ Get Log File Name
     ...    log files if they happen to run in one job.
     ${name}=    BuiltIn.Evaluate    """${SUITE_NAME}""".replace(" ","-").replace("/","-").replace(".","-")
     ${suffix}=    BuiltIn.Set_Variable_If    '${testcase}' != ''    --${testcase}    ${EMPTY}
-    [Return]    ${testtool}--${name}${suffix}.log
+    ${date} =    DateTime.Get Current Date
+    ${timestamp} =    DateTime.Convert Date    ${date}    epoch
+    [Return]    ${testtool}--${name}${suffix}.${timestamp}.log
 
 Set_User_Configurable_Variable_Default
     [Arguments]    ${name}    ${value}
@@ -487,7 +497,7 @@ Convert_To_Minutes
     [Return]    ${minutes}
 
 Write Commands Until Expected Prompt
-    [Arguments]    ${cmd}    ${prompt}    ${timeout}=30s
+    [Arguments]    ${cmd}    ${prompt}    ${timeout}=${DEFAULT_TIMEOUT}
     [Documentation]    quick wrapper for Write and Read Until Prompt Keywords to make test cases more readable
     SSHLibrary.Set Client Configuration    timeout=${timeout}
     SSHLibrary.Read
@@ -551,3 +561,9 @@ Check Diagstatus
     ${resp}    RequestsLibrary.Get Request    diagstatus_session    /diagstatus
     Run Keyword If    "${check_status}" == "True"    BuiltIn.Should Be Equal As Strings    ${resp.status_code}    ${expected_status}
     [Return]    ${resp}
+
+Download File On Openstack Node
+    [Arguments]    ${conn_id}    ${save_file_name}    ${url}
+    [Documentation]    Download a file from web to the node. the input will be a session ID with established SSH connection.
+    SSHLibrary.Switch Connection    ${conn_id}
+    Utils.Write Commands Until Expected Prompt    wget -O /tmp/${save_file_name} ${url}    ${DEFAULT_LINUX_PROMPT_STRICT}