1 #include "http/mutual_tls_meta.hpp" 2 3 #include <gtest/gtest.h> // IWYU pragma: keep 4 5 namespace redfish 6 { 7 namespace 8 { 9 10 TEST(MetaParseSslUser, userTest) 11 { 12 std::string sslUser = "user:kawajiri/hostname.facebook.com"; 13 EXPECT_EQ(mtlsMetaParseSslUser(sslUser), "kawajiri"); 14 } 15 16 TEST(MetaParseSslUser, userNohostnameTest) 17 { 18 // hostname is optional 19 std::string sslUser = "user:kawajiri"; 20 EXPECT_EQ(mtlsMetaParseSslUser(sslUser), "kawajiri"); 21 } 22 23 TEST(MetaParseSslUser, invalidUsers) 24 { 25 std::vector<std::string> invalidSslUsers = { 26 "", 27 ":", 28 ":/", 29 "ijslakd", 30 "user:", 31 "user:/", 32 "user:/hostname.facebook.com", 33 "user:/hostname.facebook.c om", 34 "user: space/hostname.facebook.com", 35 "svc:", 36 "svc:/", 37 "svc:/hostname.facebook.com", 38 "host:/", 39 "host:unexpected_user/", 40 }; 41 42 for (const std::string& sslUser : invalidSslUsers) 43 { 44 EXPECT_EQ(mtlsMetaParseSslUser(sslUser), std::nullopt); 45 } 46 } 47 48 } // namespace 49 } // namespace redfish 50