Add test for csar validation get result using execution id.
[integration/csit.git] / tests / vnfsdk-refrepo / csar_validation_tests.robot
1 *** Settings ***
2 Resource          ./resources/vnfsdk_keywords.robot
3
4 *** Test Cases ***
5
6 Perform vnf refrepo healthcheck
7     [Documentation]    Check if vnf refrepo is up and running
8
9     Create Session   refrepo  ${base_url}
10     ${response}=    Get Request    refrepo   /PackageResource/healthcheck
11     Should Be Equal As Strings  ${response.status_code}     200
12
13 Validate correct, no security CSAR
14     [Documentation]    Valid CSAR with no security should PASS validation and should return no error
15
16     ${response}=   Validate CSAR usign Post request   ${csar_valid_no_security}   ${execute_no_security_csar_validation}
17     # Removing strings that are causing errors during evaluation,
18     # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
19     ${response}=   Remove String    ${response}    \\\\    \\u003c    \\u003e   \\"
20     ${json_response}=    evaluate    json.loads('''${response}''')    json
21     Should Be Equal As Strings    ${json_response[0]["results"]["criteria"]}   PASS
22     FOR   ${resault}  IN  @{json_response[0]["results"]["results"]}
23         Should Be Equal As Strings   ${resault["errors"]}   []
24         Should Be Equal As Strings   ${resault["passed"]}   True
25     END
26
27
28 Validate CSAR and use get method to receive outcome
29     [Documentation]    Validate CSAR with invalid PM_Dictionary (r130206), then use get method with validation id to receive valdiation outcome
30
31     ${response}=   Validate CSAR usign Post request   ${csar_invalid_pm_dictionary}   ${execute_invalid_pm_dictionary_validation}
32     # Removing strings that are causing errors during evaluation,
33     # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
34     ${response}=   Remove String    ${response}    \\\\    \\u003c    \\u003e   \\"
35     ${json_response}=    evaluate    json.loads('''${response}''')    json
36
37     ${get_response}=   Get validation result using GET request    ${json_response[0]["executionId"]}
38     # Removing strings that are causing errors during evaluation,
39     # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
40     ${get_response}=   Remove String    ${get_response}    \\\\    \\u0027
41     ${json_get_response}=    evaluate    json.loads('''${get_response}''')    json
42     Should Be Equal As Strings   ${json_get_response[0]["status"]}   failed
43     ${errors_number}=    Get Length    ${json_get_response[0]["results"]}
44     Should Be Equal As Strings  ${errors_number}  4
45     FOR   ${error}  IN  @{json_get_response[0]["results"]}
46         Should Contain   ${error["code"]}  R130206
47     END