1*e7023926SRajashekar Gade Reddy #include <ipmid/sessionhelper.hpp>
2*e7023926SRajashekar Gade Reddy
3*e7023926SRajashekar Gade Reddy #include <gtest/gtest.h>
4*e7023926SRajashekar Gade Reddy
TEST(parseSessionInputPayloadTest,ValidObjectPath)5*e7023926SRajashekar Gade Reddy TEST(parseSessionInputPayloadTest, ValidObjectPath)
6*e7023926SRajashekar Gade Reddy {
7*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0;
8*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
9*e7023926SRajashekar Gade Reddy std::string objectPath =
10*e7023926SRajashekar Gade Reddy "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a";
11*e7023926SRajashekar Gade Reddy
12*e7023926SRajashekar Gade Reddy EXPECT_TRUE(
13*e7023926SRajashekar Gade Reddy parseCloseSessionInputPayload(objectPath, sessionId, sessionHandle));
14*e7023926SRajashekar Gade Reddy EXPECT_EQ(0x12a4567d, sessionId);
15*e7023926SRajashekar Gade Reddy EXPECT_EQ(0x8a, sessionHandle);
16*e7023926SRajashekar Gade Reddy }
17*e7023926SRajashekar Gade Reddy
TEST(parseSessionInputPayloadTest,InvalidObjectPath)18*e7023926SRajashekar Gade Reddy TEST(parseSessionInputPayloadTest, InvalidObjectPath)
19*e7023926SRajashekar Gade Reddy {
20*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0;
21*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
22*e7023926SRajashekar Gade Reddy // A valid object path will be like
23*e7023926SRajashekar Gade Reddy // "/xyz/openbmc_project/ipmi/session/channel/sessionId_sessionHandle"
24*e7023926SRajashekar Gade Reddy // Ex: "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a"
25*e7023926SRajashekar Gade Reddy // SessionId : 0X12a4567d
26*e7023926SRajashekar Gade Reddy // SessionHandle: 0X8a
27*e7023926SRajashekar Gade Reddy std::string objectPath = "/xyz/openbmc_project/ipmi/session/eth0/12a4567d";
28*e7023926SRajashekar Gade Reddy
29*e7023926SRajashekar Gade Reddy EXPECT_FALSE(
30*e7023926SRajashekar Gade Reddy parseCloseSessionInputPayload(objectPath, sessionId, sessionHandle));
31*e7023926SRajashekar Gade Reddy }
32*e7023926SRajashekar Gade Reddy
TEST(parseSessionInputPayloadTest,NoObjectPath)33*e7023926SRajashekar Gade Reddy TEST(parseSessionInputPayloadTest, NoObjectPath)
34*e7023926SRajashekar Gade Reddy {
35*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0;
36*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
37*e7023926SRajashekar Gade Reddy std::string objectPath;
38*e7023926SRajashekar Gade Reddy
39*e7023926SRajashekar Gade Reddy EXPECT_FALSE(
40*e7023926SRajashekar Gade Reddy parseCloseSessionInputPayload(objectPath, sessionId, sessionHandle));
41*e7023926SRajashekar Gade Reddy }
42*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,ValidSessionId)43*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, ValidSessionId)
44*e7023926SRajashekar Gade Reddy {
45*e7023926SRajashekar Gade Reddy std::string objectPath =
46*e7023926SRajashekar Gade Reddy "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a";
47*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0x12a4567d;
48*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
49*e7023926SRajashekar Gade Reddy
50*e7023926SRajashekar Gade Reddy EXPECT_TRUE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
51*e7023926SRajashekar Gade Reddy }
52*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,ValidSessionHandle)53*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, ValidSessionHandle)
54*e7023926SRajashekar Gade Reddy {
55*e7023926SRajashekar Gade Reddy std::string objectPath =
56*e7023926SRajashekar Gade Reddy "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a";
57*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0;
58*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0x8a;
59*e7023926SRajashekar Gade Reddy
60*e7023926SRajashekar Gade Reddy EXPECT_TRUE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
61*e7023926SRajashekar Gade Reddy }
62*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,InvalidSessionId)63*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, InvalidSessionId)
64*e7023926SRajashekar Gade Reddy {
65*e7023926SRajashekar Gade Reddy std::string objectPath =
66*e7023926SRajashekar Gade Reddy "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a";
67*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0x1234b67d;
68*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
69*e7023926SRajashekar Gade Reddy
70*e7023926SRajashekar Gade Reddy EXPECT_FALSE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
71*e7023926SRajashekar Gade Reddy }
72*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,InvalidSessionHandle)73*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, InvalidSessionHandle)
74*e7023926SRajashekar Gade Reddy {
75*e7023926SRajashekar Gade Reddy std::string objectPath =
76*e7023926SRajashekar Gade Reddy "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a";
77*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0;
78*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0x9b;
79*e7023926SRajashekar Gade Reddy
80*e7023926SRajashekar Gade Reddy EXPECT_FALSE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
81*e7023926SRajashekar Gade Reddy }
82*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,ZeroSessionId_ZeroSessionHandle)83*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, ZeroSessionId_ZeroSessionHandle)
84*e7023926SRajashekar Gade Reddy {
85*e7023926SRajashekar Gade Reddy std::string objectPath =
86*e7023926SRajashekar Gade Reddy "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a";
87*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0;
88*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
89*e7023926SRajashekar Gade Reddy
90*e7023926SRajashekar Gade Reddy EXPECT_FALSE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
91*e7023926SRajashekar Gade Reddy }
92*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,InvalidObjectPath)93*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, InvalidObjectPath)
94*e7023926SRajashekar Gade Reddy {
95*e7023926SRajashekar Gade Reddy // A valid object path will be like
96*e7023926SRajashekar Gade Reddy // "/xyz/openbmc_project/ipmi/session/channel/sessionId_sessionHandle"
97*e7023926SRajashekar Gade Reddy // Ex: "/xyz/openbmc_project/ipmi/session/eth0/12a4567d_8a"
98*e7023926SRajashekar Gade Reddy // SessionId : 0X12a4567d
99*e7023926SRajashekar Gade Reddy // SessionHandle: 0X8a
100*e7023926SRajashekar Gade Reddy std::string objectPath = "/xyz/openbmc_project/ipmi/session/eth0/12a4567d";
101*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0x12a4567d;
102*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0;
103*e7023926SRajashekar Gade Reddy
104*e7023926SRajashekar Gade Reddy EXPECT_FALSE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
105*e7023926SRajashekar Gade Reddy }
106*e7023926SRajashekar Gade Reddy
TEST(isSessionObjectMatchedTest,NoObjectPath)107*e7023926SRajashekar Gade Reddy TEST(isSessionObjectMatchedTest, NoObjectPath)
108*e7023926SRajashekar Gade Reddy {
109*e7023926SRajashekar Gade Reddy std::string objectPath;
110*e7023926SRajashekar Gade Reddy uint32_t sessionId = 0x12a4567d;
111*e7023926SRajashekar Gade Reddy uint8_t sessionHandle = 0x8a;
112*e7023926SRajashekar Gade Reddy
113*e7023926SRajashekar Gade Reddy EXPECT_FALSE(isSessionObjectMatched(objectPath, sessionId, sessionHandle));
114*e7023926SRajashekar Gade Reddy }
115