1d514e5dcSNagaraju Goruganti #include "phosphor-ldap-config/utils.hpp" 2*9638afb9SPatrick Williams 3d514e5dcSNagaraju Goruganti #include <ldap.h> 4*9638afb9SPatrick Williams #include <netinet/in.h> 5*9638afb9SPatrick Williams 6*9638afb9SPatrick Williams #include <gtest/gtest.h> 7d514e5dcSNagaraju Goruganti 8d514e5dcSNagaraju Goruganti namespace phosphor 9d514e5dcSNagaraju Goruganti { 10d514e5dcSNagaraju Goruganti namespace ldap 11d514e5dcSNagaraju Goruganti { 12d514e5dcSNagaraju Goruganti constexpr auto LDAPscheme = "ldap"; 13d514e5dcSNagaraju Goruganti constexpr auto LDAPSscheme = "ldaps"; 14d514e5dcSNagaraju Goruganti 15d514e5dcSNagaraju Goruganti class TestUtil : public testing::Test 16d514e5dcSNagaraju Goruganti { 17d514e5dcSNagaraju Goruganti public: 18d514e5dcSNagaraju Goruganti TestUtil() 19d514e5dcSNagaraju Goruganti { 20d514e5dcSNagaraju Goruganti // Empty 21d514e5dcSNagaraju Goruganti } 22d514e5dcSNagaraju Goruganti }; 23d514e5dcSNagaraju Goruganti 24d514e5dcSNagaraju Goruganti TEST_F(TestUtil, URIValidation) 25d514e5dcSNagaraju Goruganti { 26d514e5dcSNagaraju Goruganti std::string ipaddress = "ldap://0.0.0.0"; 27d514e5dcSNagaraju Goruganti EXPECT_EQ(true, isValidLDAPURI(ipaddress.c_str(), LDAPscheme)); 28d514e5dcSNagaraju Goruganti 29d514e5dcSNagaraju Goruganti ipaddress = "ldap://9.3.185.83"; 30d514e5dcSNagaraju Goruganti EXPECT_EQ(true, isValidLDAPURI(ipaddress.c_str(), LDAPscheme)); 31d514e5dcSNagaraju Goruganti 32d514e5dcSNagaraju Goruganti ipaddress = "ldaps://9.3.185.83"; 33d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPscheme)); 34d514e5dcSNagaraju Goruganti 35d514e5dcSNagaraju Goruganti ipaddress = "ldap://9.3.a.83"; 36d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPscheme)); 37d514e5dcSNagaraju Goruganti 38d514e5dcSNagaraju Goruganti ipaddress = "ldap://9.3.185.a"; 39d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPscheme)); 40d514e5dcSNagaraju Goruganti 41d514e5dcSNagaraju Goruganti ipaddress = "ldap://x.x.x.x"; 42d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPscheme)); 43d514e5dcSNagaraju Goruganti 44d514e5dcSNagaraju Goruganti ipaddress = "ldaps://0.0.0.0"; 45d514e5dcSNagaraju Goruganti EXPECT_EQ(true, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 46d514e5dcSNagaraju Goruganti 47d514e5dcSNagaraju Goruganti ipaddress = "ldap://0.0.0.0"; 48d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 49d514e5dcSNagaraju Goruganti 50d514e5dcSNagaraju Goruganti ipaddress = "ldaps://9.3.185.83"; 51d514e5dcSNagaraju Goruganti EXPECT_EQ(true, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 52d514e5dcSNagaraju Goruganti 53d514e5dcSNagaraju Goruganti ipaddress = "ldap://9.3.185.83"; 54d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 55d514e5dcSNagaraju Goruganti 56d514e5dcSNagaraju Goruganti ipaddress = "ldaps://9.3.185.83"; 57d514e5dcSNagaraju Goruganti EXPECT_EQ(true, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 58d514e5dcSNagaraju Goruganti 59d514e5dcSNagaraju Goruganti ipaddress = "ldaps://9.3.185.a"; 60d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 61d514e5dcSNagaraju Goruganti 62d514e5dcSNagaraju Goruganti ipaddress = "ldaps://9.3.a.83"; 63d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 64d514e5dcSNagaraju Goruganti 65d514e5dcSNagaraju Goruganti ipaddress = "ldaps://x.x.x.x"; 66d514e5dcSNagaraju Goruganti EXPECT_EQ(false, isValidLDAPURI(ipaddress.c_str(), LDAPSscheme)); 67d514e5dcSNagaraju Goruganti } 68d514e5dcSNagaraju Goruganti } // namespace ldap 69d514e5dcSNagaraju Goruganti } // namespace phosphor 70