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