Add network test case for getting ip address 98/272898/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Thu, 24 Mar 2022 07:32:36 +0000 (16:32 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Mon, 28 Mar 2022 01:55:45 +0000 (10:55 +0900)
Change-Id: Ia6abac5b085ad8565649b8978110ee9c76b5f0be
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
tests/unittest/thread-unittest-network.cpp

index 4d39ad3..f2552fc 100644 (file)
@@ -40,6 +40,10 @@ public:
        uint8_t tlvsBuffer[NETWORK_TLVS_SIZE];
        int tlvsBufferLength;
 
+public:
+       static void getIpAddrCallback(int index, char* ipaddr,
+               thread_ipaddr_type_e ipaddr_type, void *user_data) {};
+
 protected:
        void SetUp() override
        {
@@ -198,4 +202,36 @@ TEST_F(ThreadNetworkTest, DetachErrorNone)
                thread_network_create_operational_network(instance, name,
                        key, pskc, channel, extendedPanId, panId, &network));
        EXPECT_EQ(THREAD_ERROR_NONE, thread_network_detach(instance));
+}
+
+TEST_F(ThreadNetworkTest, GetIpAddrNotInitialized)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
+               thread_get_ipaddr(instance, getIpAddrCallback,
+                       THREAD_IPADDR_TYPE_ALL, nullptr));
+}
+
+TEST_F(ThreadNetworkTest, GetIpAddrInvalidParameter)
+{
+       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
+               thread_get_ipaddr(instance, getIpAddrCallback,
+                       THREAD_IPADDR_TYPE_ALL, nullptr));
+}
+
+TEST_F(ThreadNetworkTest, GetIpAddrErrorNone)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_get_ipaddr(instance, getIpAddrCallback,
+                       THREAD_IPADDR_TYPE_ALL, nullptr));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_get_ipaddr(instance, getIpAddrCallback,
+                       THREAD_IPADDR_TYPE_LINK_LOCAL, nullptr));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_get_ipaddr(instance, getIpAddrCallback,
+                       THREAD_IPADDR_TYPE_RLOC, nullptr));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_get_ipaddr(instance, getIpAddrCallback,
+                       THREAD_IPADDR_TYPE_MLEID, nullptr));
 }
\ No newline at end of file