xref: /openbmc/bmcweb/test/include/sessions_test.cpp (revision 82b286fb77833c70bd670f3b428e49f6d9416d06)
14d7b5ddbSMalik Akbar Hashemi Rafsanjani #include "sessions.hpp"
24d7b5ddbSMalik Akbar Hashemi Rafsanjani 
34d7b5ddbSMalik Akbar Hashemi Rafsanjani #include <nlohmann/json.hpp>
44d7b5ddbSMalik Akbar Hashemi Rafsanjani 
54d7b5ddbSMalik Akbar Hashemi Rafsanjani #include <gtest/gtest.h>
64d7b5ddbSMalik Akbar Hashemi Rafsanjani 
74d7b5ddbSMalik Akbar Hashemi Rafsanjani namespace
84d7b5ddbSMalik Akbar Hashemi Rafsanjani {
TEST(AuthConfigMethods,FromJsonHappyPath)94d7b5ddbSMalik Akbar Hashemi Rafsanjani TEST(AuthConfigMethods, FromJsonHappyPath)
104d7b5ddbSMalik Akbar Hashemi Rafsanjani {
114d7b5ddbSMalik Akbar Hashemi Rafsanjani     persistent_data::AuthConfigMethods methods;
12*82b286fbSEd Tanous     nlohmann::json::object_t jsonValue;
13*82b286fbSEd Tanous     jsonValue["BasicAuth"] = true;
14*82b286fbSEd Tanous     jsonValue["CookieAuth"] = true;
15*82b286fbSEd Tanous     jsonValue["MTLSCommonNameParseMode"] = 2;
16*82b286fbSEd Tanous     jsonValue["SessionToken"] = true;
17*82b286fbSEd Tanous     jsonValue["TLS"] = true;
18*82b286fbSEd Tanous     jsonValue["TLSStrict"] = false;
19*82b286fbSEd Tanous     jsonValue["XToken"] = true;
204d7b5ddbSMalik Akbar Hashemi Rafsanjani 
214d7b5ddbSMalik Akbar Hashemi Rafsanjani     methods.fromJson(jsonValue);
224d7b5ddbSMalik Akbar Hashemi Rafsanjani 
234d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.basic, true);
244d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.cookie, true);
254d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.sessionToken, true);
264d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.tls, true);
274d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.tlsStrict, false);
284d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.xtoken, true);
294d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.mTLSCommonNameParsingMode,
304d7b5ddbSMalik Akbar Hashemi Rafsanjani               static_cast<persistent_data::MTLSCommonNameParseMode>(2));
314d7b5ddbSMalik Akbar Hashemi Rafsanjani }
324d7b5ddbSMalik Akbar Hashemi Rafsanjani 
TEST(AuthConfigMethods,FromJsonMTLSCommonNameParseModeOutOfRange)334d7b5ddbSMalik Akbar Hashemi Rafsanjani TEST(AuthConfigMethods, FromJsonMTLSCommonNameParseModeOutOfRange)
344d7b5ddbSMalik Akbar Hashemi Rafsanjani {
354d7b5ddbSMalik Akbar Hashemi Rafsanjani     persistent_data::AuthConfigMethods methods;
364d7b5ddbSMalik Akbar Hashemi Rafsanjani     persistent_data::MTLSCommonNameParseMode prevValue =
374d7b5ddbSMalik Akbar Hashemi Rafsanjani         methods.mTLSCommonNameParsingMode;
38*82b286fbSEd Tanous     nlohmann::json::object_t jsonValue;
39*82b286fbSEd Tanous     jsonValue["BasicAuth"] = true;
40*82b286fbSEd Tanous     jsonValue["CookieAuth"] = true;
41*82b286fbSEd Tanous     jsonValue["MTLSCommonNameParseMode"] = 4;
42*82b286fbSEd Tanous     jsonValue["SessionToken"] = true;
43*82b286fbSEd Tanous     jsonValue["TLS"] = true;
44*82b286fbSEd Tanous     jsonValue["TLSStrict"] = false;
45*82b286fbSEd Tanous     jsonValue["XToken"] = true;
464d7b5ddbSMalik Akbar Hashemi Rafsanjani 
474d7b5ddbSMalik Akbar Hashemi Rafsanjani     methods.fromJson(jsonValue);
484d7b5ddbSMalik Akbar Hashemi Rafsanjani 
494d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.basic, true);
504d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.cookie, true);
514d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.sessionToken, true);
524d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.tls, true);
534d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.tlsStrict, false);
544d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.xtoken, true);
554d7b5ddbSMalik Akbar Hashemi Rafsanjani     EXPECT_EQ(methods.mTLSCommonNameParsingMode, prevValue);
564d7b5ddbSMalik Akbar Hashemi Rafsanjani }
574d7b5ddbSMalik Akbar Hashemi Rafsanjani } // namespace
58