xref: /openbmc/openbmc-test-automation/redfish/dmtf_tools/Redfish_Protocol_Validator.robot (revision 94041a34a992d9b5f6418a43e1cd5273a6d9f9b2)
1*** Settings ***
2Documentation             Test BMC using
3...                       https://github.com/DMTF/Redfish-Protocol-Validator
4...                       DMTF tool.
5
6Library                   OperatingSystem
7Resource                  ../../lib/dmtf_tools_utils.robot
8
9Test Setup                Test Setup Execution
10
11Test Tags                 Redfish_Protocol_Validator
12
13*** Variables ***
14
15${DEFAULT_PYTHON}         python3
16
17${rsv_github_url}         https://github.com/DMTF/Redfish-Protocol-Validator
18${rsv_dir_path}           Redfish-Protocol-Validator
19
20${command_string}  ${DEFAULT_PYTHON} ${rsv_dir_path}${/}rf_protocol_validator.py
21...                -r ${OPENBMC_HOST}:${HTTPS_PORT}
22...                -u ${OPENBMC_USERNAME}
23...                -p ${OPENBMC_PASSWORD}
24...                --no-cert-check
25...
26
27${branch_name}    main
28
29*** Test Cases ***
30
31Test BMC Redfish Protocol Validator
32    [Documentation]  The Redfish Protocol Validator tests the HTTP protocol
33    ...              behavior of a Redfish service to validate that it
34    ...              conforms to the Redfish Specification.
35    [Tags]  Test_BMC_Redfish_Protocol_Validator
36
37    ${rc}  ${output}=  Run DMTF Tool  ${rsv_dir_path}  ${command_string}  check_error=1
38
39    # Example output and fail count regex:
40    # Summary - PASS: 61, WARN: 1, FAIL: 42, NOT_TESTED: 60
41    # Fail count group returned from regex ['FAIL: 42', '42']
42
43    ${fail_count}=  Should Match Regexp  ${output}  FAIL: (\\d+)
44
45    IF  ${fail_count[1]} != 0  Fail  Redfish Protocol Validator Failed
46
47
48*** Keywords ***
49
50Test Setup Execution
51    [Documentation]  Do test case setup tasks.
52
53    Download DMTF Tool  ${rsv_dir_path}  ${rsv_github_url}  ${branch_name}
54