Fix warnings with RequestsLibrary related to Post Request and Get Request
[osm/tests.git] / robot-systest / lib / sol003_common_lib.robot
1 #   Licensed under the Apache License, Version 2.0 (the "License");
2 #   you may not use this file except in compliance with the License.
3 #   You may obtain a copy of the License at
4 #
5 #       http://www.apache.org/licenses/LICENSE-2.0
6 #
7 #   Unless required by applicable law or agreed to in writing, software
8 #   distributed under the License is distributed on an "AS IS" BASIS,
9 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 #   See the License for the specific language governing permissions and
11 #   limitations under the License
12
13 *** Settings ***
14 Documentation     Library with sol003 keywords and variables .
15
16 Library           RequestsLibrary
17 Library           JsonValidator
18 Library           yaml
19 Library           JSONLibrary
20 Library           String
21 Library           OperatingSystem
22 Resource          %{ROBOT_DEVOPS_FOLDER}/lib/vim_lib.robot
23
24 *** Variables ***
25 &{data}           username=admin    password=admin    project-id=admin
26 @{success_status_code_list}    200    201    202    204
27 ${descriptor_content_type_gzip}    application/gzip
28 ${auth_token_uri}    /osm/admin/v1/tokens
29 ${HOST}           ${EMPTY}
30 ${vnf_instance_uri}    /osm/vnflcm/v1/vnf_instances
31 ${vnf_instantiate_uri}    /osm/vnflcm/v1/vnf_instances
32 ${vnf_instance_lcm_ops}    /osm/vnflcm/v1/vnf_lcm_op_occs
33
34 *** Keywords ***
35 Get Auth Token
36     [Tags]    auth_token
37     Get Hostname
38     Create Session    osmhit    ${HOST}
39     Log Many    ${auth_token_uri}    @{data}    ${data}
40     &{headers}   Create Dictionary   Content-Type=application/json   Accept=application/json
41     ${resp}=    Post On Session    osmhit    ${auth_token_uri}    data=${data}    headers=${HEADERS}
42     log    ${resp}
43     Pass Execution If    ${resp.status_code} in ${success_status_code_list}    Get Auth Token completed
44     Set Suite Variable    ${token_status_code}    ${resp.status_code}
45     ${access_token}=    Get Value From Json    ${resp.json()}    $..id
46     Set Test Variable    ${access_token}    ${access_token[0]}
47     Set Test Variable    ${token_response}    ${resp}
48     sleep    2s
49
50 Set Dockerized Host
51     [Arguments]    ${env_host}
52     Set Suite Variable   ${HOST}    https://${env_host}
53
54 Set Standalone Host
55     [Arguments]    ${env_host}
56     Set Suite Variable   ${HOST}   https://${env_host}:9999
57
58 Read Directory
59     [Documentation]   To Read Current Direct ory
60     ${Directory}=   Replace String   ${CURDIR}    lib    resources/
61     ${json_path}=   Set Variable   ${Directory}
62     [Return]    ${JsonPath}
63
64 Post Api Request
65     [Arguments]   ${PostApi}
66     [Documentation]    Keword to Post API Request
67     Create Session   APISession   ${HOST}
68     &{headers}   Create Dictionary   Content-Type=application/json   Accept=application/json   Authorization=Bearer ${access_token}
69     ${request_response}=   Post On Session   APISession   ${PostApi}   data=${updated_json_obj}   headers=${headers}
70     Set Suite Variable   ${request_response}
71     ${response_statuscode}   Convert To String    ${request_response.status_code}
72     Set Suite Variable    ${response_statuscode}
73
74 Get HostName
75     [Documentation]    Keyword to get the default osm Hostname
76     ${nbi_host}=    Get Environment Variable    OSM_HOSTNAME
77     ${passed}=    Run Keyword And Return Status    Should Contain    ${nbi_host}    :
78     Run Keyword If    ${passed}    Set Dockerized Host    ${nbi_host}
79     ...    ELSE    Set Standalone Host    ${nbi_host}
80
81 Get ID
82     [Arguments]    ${Key}
83     Pass Execution If    ${request_response.status_code} in ${success_status_code_list}    Get Auth Token completed
84     ${id}=    Get Value From Json    ${request_response.json()}    $..${Key}
85     Set Suite Variable    ${value}    ${id[0]}
86     [Return]    ${value}
87
88 Update Json Value
89     [Arguments]    ${JsonInput}    ${key}
90     ${json_path}=    Read Directory
91     ${json_obj}=    Load JSON From File    ${json_path}/${JsonInput}
92     ${updated_json_obj}    JSONLibrary.Update Value To Json    ${json_obj}    $..${key}    ${created_vim_account_id}
93     Set Suite Variable    ${updated_json_obj}
94
95 Get Api Request
96     [Arguments]    ${uri}
97     [Documentation]    Keyword to Get API Request
98     Create Session    Session    ${HOST}
99     &{headers}    Create Dictionary    Content-Type=application/json    Accept=application/json    Authorization=Bearer ${access_token}
100     ${request_response}=    Get On Session    Session    ${uri}    headers=${Headers}
101     Set Suite Variable    ${request_response}
102     ${response_statuscode}    Convert To String    ${request_response.status_code}
103     Set Suite Variable    ${response_statuscode}