diff options
Diffstat (limited to 'test/http/mutual_tls_meta.cpp')
-rw-r--r-- | test/http/mutual_tls_meta.cpp | 49 |
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 |