manashsarma | 663c2da | 2023-05-26 06:06:14 -0500 | [diff] [blame] | 1 | *** Settings *** |
| 2 | |
| 3 | Documentation Test telemetry functionality of OpenBMC. |
| 4 | |
| 5 | Resource ../../lib/bmc_redfish_resource.robot |
| 6 | Resource ../../lib/openbmc_ffdc.robot |
| 7 | |
| 8 | Suite Setup Suite Setup Execution |
| 9 | Suite Teardown Redfish.Logout |
| 10 | Test Teardown Test Teardown Execution |
| 11 | |
| 12 | *** Variables *** |
| 13 | |
| 14 | ${metric_definition_base_uri} /redfish/v1/TelemetryService/MetricReportDefinitions |
| 15 | ${metric_report_base_uri} /redfish/v1/TelemetryService/MetricReports |
| 16 | |
| 17 | *** Test Cases *** |
| 18 | |
| 19 | Verify Basic Telemetry Report Creation |
| 20 | [Documentation] Verify if a telemetry basic report is created. |
| 21 | [Tags] Verify_Basic_Telemetry_Report_Creation |
manashsarma | 1a0c6bf | 2023-07-27 02:27:56 -0500 | [diff] [blame^] | 22 | [Teardown] Redfish.Delete ${metric_definition_base_uri}/${report_name} |
| 23 | ... valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}] |
manashsarma | 663c2da | 2023-05-26 06:06:14 -0500 | [diff] [blame] | 24 | |
| 25 | ${report_name}= Set Variable Test_basic_report_ambient_temp |
| 26 | ${resp}= Redfish.Get Properties |
| 27 | ... /redfish/v1/TelemetryService/MetricDefinitions/Ambient_0_Temp |
| 28 | ${body}= Catenate {"Id": "${report_name}", |
| 29 | ... "MetricReportDefinitionType": "OnRequest", |
| 30 | ... "ReportActions":["LogToMetricReportsCollection"], |
| 31 | ... "Metrics":[{"MetricProperties":${resp["MetricProperties"]}}]} |
| 32 | ${body}= Replace String ${body} ' " |
| 33 | ${dict} Evaluate json.loads('''${body}''') json |
| 34 | |
| 35 | Redfish.Post ${metric_definition_base_uri} body=&{dict} |
| 36 | ... valid_status_codes=[${HTTP_CREATED}] |
| 37 | |
| 38 | Redfish.Get ${metric_report_base_uri}/Test_basic_report_ambient_temp |
| 39 | ... valid_status_codes=[${HTTP_OK}] |
| 40 | |
| 41 | |
manashsarma | 1a0c6bf | 2023-07-27 02:27:56 -0500 | [diff] [blame^] | 42 | Verify Basic Periodic Telemetry Report Creation |
| 43 | [Documentation] Verify if a telemetry basic periodic report is created. |
| 44 | [Tags] Verify_Basic_Periodic_Telemetry_Report_Creation |
| 45 | [Teardown] Redfish.Delete ${metric_definition_base_uri}/${report_name} |
| 46 | ... valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}] |
| 47 | |
| 48 | ${report_name}= Set Variable Test_basic_periodic_report_ambient_temp |
| 49 | ${resp}= Redfish.Get Properties |
| 50 | ... /redfish/v1/TelemetryService/MetricDefinitions/Ambient_0_Temp |
| 51 | ${body}= Catenate {"Id": "${report_name}", |
| 52 | ... "MetricReportDefinitionType": "Periodic", |
| 53 | ... "Name": "Report", |
| 54 | ... "ReportActions":["LogToMetricReportsCollection"], |
| 55 | ... "Metrics":[{"CollectionDuration": "PT30.000S", |
| 56 | ... "CollectionFunction": "Average","MetricProperties":${resp["MetricProperties"]}}], |
| 57 | ... "ReportUpdates": "AppendWrapsWhenFull", |
| 58 | ... "AppendLimit":10, |
| 59 | ... "Schedule": {"RecurrenceInterval": "PT5.000S"}} |
| 60 | ${body}= Replace String ${body} ' " |
| 61 | ${dict} Evaluate json.loads('''${body}''') json |
| 62 | |
| 63 | Redfish.Post ${metric_definition_base_uri} body=&{dict} |
| 64 | ... valid_status_codes=[${HTTP_CREATED}] |
| 65 | |
| 66 | ${resp}= Redfish.Get ${metric_definition_base_uri}/${report_name} |
| 67 | Should Be True '${resp.dict["MetricReportDefinitionType"]}' == 'Periodic' |
| 68 | |
manashsarma | 663c2da | 2023-05-26 06:06:14 -0500 | [diff] [blame] | 69 | *** Keywords *** |
| 70 | |
| 71 | Suite Setup Execution |
| 72 | [Documentation] Do test case setup tasks. |
| 73 | |
| 74 | Redfish.Login |
| 75 | |
| 76 | |
| 77 | Test Teardown Execution |
| 78 | [Documentation] Do test teardown operation. |
| 79 | |
| 80 | FFDC On Test Case Fail |