From 40785e40d6a8c103c2792bc34d72f47eeba861a5 Mon Sep 17 00:00:00 2001 From: "hyunuk.tak" Date: Thu, 24 Mar 2022 16:32:36 +0900 Subject: [PATCH] Add network test case for getting ip address Change-Id: Ia6abac5b085ad8565649b8978110ee9c76b5f0be Signed-off-by: hyunuk.tak --- tests/unittest/thread-unittest-network.cpp | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/unittest/thread-unittest-network.cpp b/tests/unittest/thread-unittest-network.cpp index 4d39ad3..f2552fc 100644 --- a/tests/unittest/thread-unittest-network.cpp +++ b/tests/unittest/thread-unittest-network.cpp @@ -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 -- 2.34.1