blob: e34887b4b07121676b9f8324083a2b7fba087950 [file] [log] [blame]
manashsarma663c2da2023-05-26 06:06:14 -05001*** Settings ***
2
3Documentation Test telemetry functionality of OpenBMC.
4
5Resource ../../lib/bmc_redfish_resource.robot
6Resource ../../lib/openbmc_ffdc.robot
7
8Suite Setup Suite Setup Execution
9Suite Teardown Redfish.Logout
10Test 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
19Verify Basic Telemetry Report Creation
20 [Documentation] Verify if a telemetry basic report is created.
21 [Tags] Verify_Basic_Telemetry_Report_Creation
manashsarma1a0c6bf2023-07-27 02:27:56 -050022 [Teardown] Redfish.Delete ${metric_definition_base_uri}/${report_name}
23 ... valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
manashsarma663c2da2023-05-26 06:06:14 -050024
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
manashsarma1a0c6bf2023-07-27 02:27:56 -050042Verify 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
manashsarma663c2da2023-05-26 06:06:14 -050069*** Keywords ***
70
71Suite Setup Execution
72 [Documentation] Do test case setup tasks.
73
74 Redfish.Login
75
76
77Test Teardown Execution
78 [Documentation] Do test teardown operation.
79
80 FFDC On Test Case Fail