Update Submit Test event feature to send custom data
Changes Added : Updated the submit test event feature to send test
data as per spec
https://www.dmtf.org/sites/default/files/standards/documents/
DSP2046_2019.1.pdf
Testing :
Tested sending custom test data
and same data received at the event listener
Change-Id: I2c2363a676aafd39c121c9fe4e16402c0f5961e2
Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
diff --git a/redfish-core/src/subscription.cpp b/redfish-core/src/subscription.cpp
index 821077a..34dc76f 100644
--- a/redfish-core/src/subscription.cpp
+++ b/redfish-core/src/subscription.cpp
@@ -21,7 +21,6 @@
#include "event_matches_filter.hpp"
#include "event_service_store.hpp"
#include "filter_expr_executor.hpp"
-#include "generated/enums/log_entry.hpp"
#include "heartbeat_messages.hpp"
#include "http_client.hpp"
#include "http_response.hpp"
@@ -210,21 +209,57 @@
return true;
}
-bool Subscription::sendTestEventLog()
+bool Subscription::sendTestEventLog(TestEvent& testEvent)
{
nlohmann::json::array_t logEntryArray;
nlohmann::json& logEntryJson = logEntryArray.emplace_back();
- logEntryJson["EventId"] = "TestID";
- logEntryJson["Severity"] = log_entry::EventSeverity::OK;
- logEntryJson["Message"] = "Generated test event";
- logEntryJson["MessageId"] = "OpenBMC.0.2.TestEventLog";
+ if (testEvent.eventGroupId)
+ {
+ logEntryJson["EventGroupId"] = *testEvent.eventGroupId;
+ }
+
+ if (testEvent.eventId)
+ {
+ logEntryJson["EventId"] = *testEvent.eventId;
+ }
+
+ if (testEvent.eventTimestamp)
+ {
+ logEntryJson["EventTimestamp"] = *testEvent.eventTimestamp;
+ }
+
+ if (testEvent.originOfCondition)
+ {
+ logEntryJson["OriginOfCondition"]["@odata.id"] =
+ *testEvent.originOfCondition;
+ }
+ if (testEvent.severity)
+ {
+ logEntryJson["Severity"] = *testEvent.severity;
+ }
+
+ if (testEvent.message)
+ {
+ logEntryJson["Message"] = *testEvent.message;
+ }
+
+ if (testEvent.resolution)
+ {
+ logEntryJson["Resolution"] = *testEvent.resolution;
+ }
+
+ if (testEvent.messageId)
+ {
+ logEntryJson["MessageId"] = *testEvent.messageId;
+ }
+
+ if (testEvent.messageArgs)
+ {
+ logEntryJson["MessageArgs"] = *testEvent.messageArgs;
+ }
// MemberId is 0 : since we are sending one event record.
logEntryJson["MemberId"] = "0";
- logEntryJson["MessageArgs"] = nlohmann::json::array();
- logEntryJson["EventTimestamp"] =
- redfish::time_utils::getDateTimeOffsetNow().first;
- logEntryJson["Context"] = userSub->customText;
nlohmann::json msg;
msg["@odata.type"] = "#Event.v1_4_0.Event";