Add thread_network_set_extended_panid API with unittest 35/273135/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Wed, 30 Mar 2022 02:12:43 +0000 (11:12 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Thu, 31 Mar 2022 00:59:57 +0000 (09:59 +0900)
Change-Id: I6333b9d921959887241d9ea75d2460ea6ba97086
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
src/thread-network.c
tests/unittest/thread-unittest-network.cpp

index 4358f09..acd3cf2 100644 (file)
@@ -183,6 +183,22 @@ int thread_network_set_channel(thread_network_h network, uint32_t channel)
        return THREAD_ERROR_NONE;
 }
 
+int thread_network_set_extended_panid(thread_network_h network, uint64_t extended_panid)
+{
+       FUNC_ENTRY;
+       THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
+       THREAD_CHECK_INIT_STATUS();
+       THREAD_VALIDATE_INPUT_PARAMETER(network);
+
+       THREAD_DBG("Network extended_panid: %zu", (size_t)extended_panid);
+
+       thread_network_s *current_network = network;
+       current_network->extended_panid = extended_panid;
+
+       FUNC_EXIT;
+       return THREAD_ERROR_NONE;
+}
+
 /* Network leader/Creator */
 int thread_network_create_operational_network(thread_instance_h instance,
        const char *name, const char *key, const char *pskc, uint32_t channel,
index 602a49a..ffe4086 100644 (file)
@@ -35,6 +35,7 @@ public:
        const char *NETWORK_DUMMY_KEY = "c03aa2d3c869847b0e7f2ca288efd251";
        const char *NETWORK_DUMMY_PSKC = "19d3bd4ee76baad7ff2da29c87c67452";
        const uint32_t NETWORK_DUMMY_CHANNEL = 15;
+       const uint64_t NETWORK_DUMMY_EXTENDED_PANID = 0xeea0d4484e93db7a;
 
        thread_instance_h instance;
        thread_network_h network;
@@ -441,4 +442,24 @@ TEST_F(ThreadNetworkTest, SetChannelErrorNone)
        EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network));
        EXPECT_EQ(THREAD_ERROR_NONE,
                thread_network_set_channel(network, NETWORK_DUMMY_CHANNEL));
+}
+
+TEST_F(ThreadNetworkTest, SetExtendedPanidNotInitialized)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
+               thread_network_set_extended_panid(network, NETWORK_DUMMY_EXTENDED_PANID));
+}
+
+TEST_F(ThreadNetworkTest, SetExtendedPanidInvalidParameter)
+{
+       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
+               thread_network_set_extended_panid(nullptr, NETWORK_DUMMY_EXTENDED_PANID));
+}
+
+TEST_F(ThreadNetworkTest, SetExtendedPanidErrorNone)
+{
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network));
+       EXPECT_EQ(THREAD_ERROR_NONE,
+               thread_network_set_extended_panid(network, NETWORK_DUMMY_EXTENDED_PANID));
 }
\ No newline at end of file