Add getting global ipaddr function
[platform/core/api/thread.git] / tests / unittest / thread-unittest-network.cpp
index 8509c3f..205bcd6 100644 (file)
@@ -50,6 +50,7 @@ public:
        uint8_t tlvsBuffer[NETWORK_TLVS_SIZE];
        int tlvsBufferLength;
        uint8_t ipv6Address[THREAD_IPV6_ADDRESS_SIZE];
+       const char *globalIpaddr;
 
 public:
        static void getIpAddrCallback(int index, char* ipaddr,
@@ -264,6 +265,27 @@ TEST_F(ThreadNetworkTest, RemoveIpAddrErrorNone)
                thread_remove_ipaddr(instance, ipv6Address));
 }
 
+TEST_F(ThreadNetworkTest, GetGlobalIpAddrNotInitialized)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
+               thread_get_global_ipaddr(instance, &globalIpaddr));
+}
+
+TEST_F(ThreadNetworkTest, GetGlobalIpAddrInvalidParameter)
+{
+       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
+               thread_get_global_ipaddr(instance, nullptr));
+}
+
+TEST_F(ThreadNetworkTest, GetGlobalIpAddrErrorNone)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_get_global_ipaddr(instance, &globalIpaddr));
+       g_free((char *)globalIpaddr);
+}
+
 TEST_F(ThreadNetworkTest, GetPanIdNotInitialized)
 {
        uint16_t panid;