xref: /openbmc/bmcweb/test/redfish-core/include/submit_test_event_test.cpp (revision 4a19a7b5e62ad2569913d944c84c19f1005c922f)
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