blob: daff3beb4b5e13a03f6cf78e02bc6cee4036ec6e [file] [log] [blame]
Ed Tanous40e9b922024-09-10 13:50:16 -07001// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright OpenBMC Authors
Marco Kawajiri0e373b52023-10-31 13:36:58 -07003#include "http/mutual_tls_meta.hpp"
4
Ed Tanousf0b59af2024-03-20 13:38:04 -07005#include <optional>
6#include <string>
7#include <vector>
8
Ed Tanous478b7ad2024-07-15 19:11:54 -07009#include <gtest/gtest.h>
Marco Kawajiri0e373b52023-10-31 13:36:58 -070010
11namespace redfish
12{
13namespace
14{
15
16TEST(MetaParseSslUser, userTest)
17{
18 std::string sslUser = "user:kawajiri/hostname.facebook.com";
19 EXPECT_EQ(mtlsMetaParseSslUser(sslUser), "kawajiri");
20}
21
22TEST(MetaParseSslUser, userNohostnameTest)
23{
24 // hostname is optional
25 std::string sslUser = "user:kawajiri";
26 EXPECT_EQ(mtlsMetaParseSslUser(sslUser), "kawajiri");
27}
28
29TEST(MetaParseSslUser, invalidUsers)
30{
31 std::vector<std::string> invalidSslUsers = {
32 "",
33 ":",
34 ":/",
35 "ijslakd",
36 "user:",
37 "user:/",
38 "user:/hostname.facebook.com",
39 "user:/hostname.facebook.c om",
40 "user: space/hostname.facebook.com",
41 "svc:",
42 "svc:/",
43 "svc:/hostname.facebook.com",
44 "host:/",
45 "host:unexpected_user/",
46 };
47
48 for (const std::string& sslUser : invalidSslUsers)
49 {
50 EXPECT_EQ(mtlsMetaParseSslUser(sslUser), std::nullopt);
51 }
52}
53
54} // namespace
55} // namespace redfish