1 #include "event_service_manager.hpp"
2 #include "subscription.hpp"
3
4 #include <boost/url/url.hpp>
5
6 #include <string>
7 #include <vector>
8
9 #include <gmock/gmock.h>
10 #include <gtest/gtest.h>
11
12 using ::testing::Optional;
13 using ::testing::StrEq;
14
15 namespace redfish
16 {
createTestEvent()17 static TestEvent createTestEvent()
18 {
19 TestEvent testEvent;
20 testEvent.eventGroupId = 1;
21 testEvent.eventTimestamp = "2021-01";
22 testEvent.message = "Test Message";
23 testEvent.messageArgs = std::vector<std::string>{"arg1", "arg2"};
24 testEvent.messageId = "Dummy message ID";
25 testEvent.originOfCondition = "/redfish/v1/Chassis/GPU_SXM_1";
26 testEvent.resolution = "custom resolution";
27 testEvent.severity = "whatever";
28 return testEvent;
29 }
30
TEST(EventServiceManager,submitTestEVent)31 TEST(EventServiceManager, submitTestEVent)
32 {
33 boost::urls::url url;
34 EventServiceManager& evt = EventServiceManager::getInstance();
35 {
36 TestEvent testEvent;
37 EXPECT_TRUE(evt.sendTestEventLog(testEvent));
38 }
39 {
40 TestEvent testEvent;
41 testEvent.eventGroupId = 1;
42 testEvent.eventTimestamp = "2021-01-01T00:00:00Z";
43 testEvent.message = "Custom Message";
44 testEvent.messageArgs =
45 std::vector<std::string>{"GPU_SXM_1", "Restart Recommended"};
46 testEvent.messageId = "Base.1.13.ResetRecommended";
47 testEvent.originOfCondition = "/redfish/v1/Chassis/GPU_SXM_1";
48 testEvent.resolution =
49 "Reset the GPU at the next service window since the ECC errors are contained";
50 testEvent.severity = "Informational";
51 EXPECT_TRUE(evt.sendTestEventLog(testEvent));
52 }
53 {
54 TestEvent testEvent = createTestEvent();
55
56 bool result = evt.sendTestEventLog(testEvent);
57
58 EXPECT_TRUE(result);
59
60 EXPECT_THAT(testEvent.eventGroupId, Optional(1));
61 EXPECT_THAT(testEvent.eventTimestamp, Optional(StrEq("2021-01")));
62 EXPECT_THAT(testEvent.message, Optional(StrEq("Test Message")));
63 EXPECT_THAT(testEvent.messageId, Optional(StrEq("Dummy message ID")));
64 EXPECT_THAT(testEvent.originOfCondition,
65 Optional(StrEq("/redfish/v1/Chassis/GPU_SXM_1")));
66 EXPECT_THAT(testEvent.resolution, Optional(StrEq("custom resolution")));
67 EXPECT_THAT(testEvent.severity, Optional(StrEq("whatever")));
68 }
69 }
70 } // namespace redfish
71