diff --git a/test/user_mgr_test.cpp b/test/user_mgr_test.cpp
index 22a8837..ee45482 100644
--- a/test/user_mgr_test.cpp
+++ b/test/user_mgr_test.cpp
@@ -160,5 +160,28 @@
               "123,456");
 }
 
+TEST(RemoveStringFromCSV, WithoutDeleteStringReturnsFalse)
+{
+    std::string expected = "whatever,https";
+    std::string str = expected;
+    EXPECT_FALSE(removeStringFromCSV(str, "ssh"));
+    EXPECT_EQ(str, expected);
+
+    std::string empty;
+    EXPECT_FALSE(removeStringFromCSV(empty, "ssh"));
+}
+
+TEST(RemoveStringFromCSV, WithDeleteStringReturnsTrue)
+{
+    std::string expected = "whatever";
+    std::string str = "whatever,https";
+    EXPECT_TRUE(removeStringFromCSV(str, "https"));
+    EXPECT_EQ(str, expected);
+
+    str = "https";
+    EXPECT_TRUE(removeStringFromCSV(str, "https"));
+    EXPECT_EQ(str, "");
+}
+
 } // namespace user
 } // namespace phosphor
diff --git a/user_mgr.cpp b/user_mgr.cpp
index 7ee424d..b2047b2 100644
--- a/user_mgr.cpp
+++ b/user_mgr.cpp
@@ -148,7 +148,7 @@
                            });
 }
 
-static bool removeStringFromCSV(std::string& csvStr, const std::string& delStr)
+bool removeStringFromCSV(std::string& csvStr, const std::string& delStr)
 {
     std::string::size_type delStrPos = csvStr.find(delStr);
     if (delStrPos != std::string::npos)
diff --git a/user_mgr.hpp b/user_mgr.hpp
index 5c1553b..4a82950 100644
--- a/user_mgr.hpp
+++ b/user_mgr.hpp
@@ -64,6 +64,8 @@
 
 std::string getCSVFromVector(std::span<const std::string> vec);
 
+bool removeStringFromCSV(std::string& csvStr, const std::string& delStr);
+
 /** @class UserMgr
  *  @brief Responsible for managing user accounts over the D-Bus interface.
  */
