summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/http/mutual_tls_meta.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/http/mutual_tls_meta.cpp b/test/http/mutual_tls_meta.cpp
new file mode 100644
index 0000000000..5f32cb54a1
--- /dev/null
+++ b/test/http/mutual_tls_meta.cpp
@@ -0,0 +1,49 @@
+#include "http/mutual_tls_meta.hpp"
+
+#include <gtest/gtest.h> // IWYU pragma: keep
+
+namespace redfish
+{
+namespace
+{
+
+TEST(MetaParseSslUser, userTest)
+{
+ std::string sslUser = "user:kawajiri/hostname.facebook.com";
+ EXPECT_EQ(mtlsMetaParseSslUser(sslUser), "kawajiri");
+}
+
+TEST(MetaParseSslUser, userNohostnameTest)
+{
+ // hostname is optional
+ std::string sslUser = "user:kawajiri";
+ EXPECT_EQ(mtlsMetaParseSslUser(sslUser), "kawajiri");
+}
+
+TEST(MetaParseSslUser, invalidUsers)
+{
+ std::vector<std::string> invalidSslUsers = {
+ "",
+ ":",
+ ":/",
+ "ijslakd",
+ "user:",
+ "user:/",
+ "user:/hostname.facebook.com",
+ "user:/hostname.facebook.c om",
+ "user: space/hostname.facebook.com",
+ "svc:",
+ "svc:/",
+ "svc:/hostname.facebook.com",
+ "host:/",
+ "host:unexpected_user/",
+ };
+
+ for (const std::string& sslUser : invalidSslUsers)
+ {
+ EXPECT_EQ(mtlsMetaParseSslUser(sslUser), std::nullopt);
+ }
+}
+
+} // namespace
+} // namespace redfish