diff --git a/test/Makefile.am.include b/test/Makefile.am.include
index 7926d09..f99ab24 100644
--- a/test/Makefile.am.include
+++ b/test/Makefile.am.include
@@ -29,10 +29,12 @@
 
 test_notification_SOURCES = \
 	%reldir%/test_error_notification.cpp \
-	%reldir%/test_snmp_conf_manager.cpp
+	%reldir%/test_snmp_conf_manager.cpp \
+	%reldir%/test_snmp_util.cpp
 
 test_notification_LDADD = $(top_builddir)/phosphor_network_snmpconf-snmp_conf_manager.o \
 	$(top_builddir)/phosphor_network_snmpconf-snmp_client.o \
+    $(top_builddir)/phosphor_network_snmpconf-snmp_util.o \
 	$(top_builddir)/xyz/openbmc_project/Network/Client/Create/phosphor_network_snmpconf-server.o
 
 check_PROGRAMS += %reldir%/notification
diff --git a/test/test_snmp_util.cpp b/test/test_snmp_util.cpp
new file mode 100644
index 0000000..e486b7a
--- /dev/null
+++ b/test/test_snmp_util.cpp
@@ -0,0 +1,71 @@
+#include <gtest/gtest.h>
+#include <netinet/in.h>
+#include "snmp_util.hpp"
+#include <xyz/openbmc_project/Common/error.hpp>
+
+namespace phosphor
+{
+namespace network
+{
+namespace snmp
+{
+
+using InternalFailure =
+    sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
+
+TEST(TestUtil, IpValidation)
+{
+    // valid IPv4 address
+    std::string ipaddress = "0.0.0.0";
+    EXPECT_EQ(ipaddress, resolveAddress(ipaddress));
+
+    ipaddress = "9.3.185.83";
+    EXPECT_EQ(ipaddress, resolveAddress(ipaddress));
+
+    // Invalid IPv4 address
+    ipaddress = "9.3.185.a";
+    EXPECT_THROW(resolveAddress(ipaddress), InternalFailure);
+
+    ipaddress = "9.3.a.83";
+    EXPECT_THROW(resolveAddress(ipaddress), InternalFailure);
+
+    ipaddress = "x.x.x.x";
+    EXPECT_THROW(resolveAddress(ipaddress), InternalFailure);
+
+    // valid IPv6 address
+    ipaddress = "0:0:0:0:0:0:0:0";
+    EXPECT_EQ("::", resolveAddress(ipaddress));
+
+    ipaddress = "1:0:0:0:0:0:0:8";
+    EXPECT_EQ("1::8", resolveAddress(ipaddress));
+
+    ipaddress = "1::8";
+    EXPECT_EQ(ipaddress, resolveAddress(ipaddress));
+
+    ipaddress = "0:0:0:0:0:FFFF:204.152.189.116";
+    EXPECT_EQ("::ffff:204.152.189.116", resolveAddress(ipaddress));
+
+    ipaddress = "::ffff:204.152.189.116";
+    EXPECT_EQ(ipaddress, resolveAddress(ipaddress));
+
+    ipaddress = "a:0:0:0:0:FFFF:204.152.189.116";
+    EXPECT_EQ("a::ffff:cc98:bd74", resolveAddress(ipaddress));
+
+    // Invalid IPv6 address
+    ipaddress = "abcd::xyz::";
+    EXPECT_THROW(resolveAddress(ipaddress), InternalFailure);
+
+    // resolve the local host
+    ipaddress = "localhost";
+    auto isLocal = false;
+    auto addr = resolveAddress(ipaddress);
+    if (addr == "127.0.0.1" || addr == "::1")
+    {
+        isLocal = true;
+    }
+    EXPECT_TRUE(isLocal);
+}
+
+} // namespae snmp
+} // namespce network
+} // namespace phosphor
