From: hyunuk.tak Date: Thu, 24 Mar 2022 07:46:48 +0000 (+0900) Subject: Add network test case for adding ip address X-Git-Tag: accepted/tizen/unified/20220914.164046~83 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F99%2F272899%2F1;p=platform%2Fcore%2Fapi%2Fthread.git Add network test case for adding ip address Change-Id: Id48b6097ed634bb3df7767e57f47f60fcb5ba6f6 Signed-off-by: hyunuk.tak --- diff --git a/tests/unittest/thread-unittest-network.cpp b/tests/unittest/thread-unittest-network.cpp index f2552fc..27fb9ce 100644 --- a/tests/unittest/thread-unittest-network.cpp +++ b/tests/unittest/thread-unittest-network.cpp @@ -15,6 +15,7 @@ */ #include +#include #include "thread.h" @@ -25,6 +26,7 @@ "fffe00208763d64768c8f3ecf0708fdd10ceaadb65a7b05105e1ec3e" \ "16d3e0aee52fb7e618a759973030f4f70656e5468726561642d34633" \ "33801024c3804103044b2dc6512dce13b11d3386eb2ce7e0c0402a0fff8" +#define DUMMY_IPV6_ADDRESS "fe80::1ee5:a5a9:8bd2:68de" class ThreadNetworkTest : public ::testing::Test { @@ -39,6 +41,7 @@ public: uint16_t panId; uint8_t tlvsBuffer[NETWORK_TLVS_SIZE]; int tlvsBufferLength; + uint8_t ipv6Address[THREAD_IPV6_ADDRESS_SIZE]; public: static void getIpAddrCallback(int index, char* ipaddr, @@ -58,6 +61,7 @@ protected: panId = 65535; makeTlvsBuffer(); tlvsBufferLength = DUMMY_TLVS_SIZE; + makeIpv6Address(); } void TearDown() override @@ -76,6 +80,14 @@ private: tlvsBuffer[i] = (uint8_t)strtol(subBuffer, NULL, 16); } } + + void makeIpv6Address() + { + struct in6_addr result; + inet_pton(AF_INET6, DUMMY_IPV6_ADDRESS, &result); + memcpy(ipv6Address, result.s6_addr, + THREAD_IPV6_PREFIX_SIZE * sizeof(uint8_t)); + } }; TEST_F(ThreadNetworkTest, CreateOperationalNetworkNotInitialized) @@ -234,4 +246,24 @@ TEST_F(ThreadNetworkTest, GetIpAddrErrorNone) EXPECT_EQ(THREAD_ERROR_NONE, thread_get_ipaddr(instance, getIpAddrCallback, THREAD_IPADDR_TYPE_MLEID, nullptr)); +} + +TEST_F(ThreadNetworkTest, AddIpAddrNotInitialized) +{ + EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize()); + EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, + thread_add_ipaddr(instance, ipv6Address)); +} + +TEST_F(ThreadNetworkTest, AddIpAddrInvalidParameter) +{ + EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, + thread_add_ipaddr(instance, ipv6Address)); +} + +TEST_F(ThreadNetworkTest, AddIpAddrErrorNone) +{ + EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance)); + EXPECT_EQ(THREAD_ERROR_NONE, + thread_add_ipaddr(instance, ipv6Address)); } \ No newline at end of file