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