From 5affe34c9172151f7e0dc38e8720f46e7b7320bd Mon Sep 17 00:00:00 2001 From: "hyunuk.tak" Date: Wed, 30 Mar 2022 10:23:14 +0900 Subject: [PATCH] Add thread_network_set_name API with unittest Change-Id: Ib3093b14b8049ba5b371259a81468ce9ed5052b6 Signed-off-by: hyunuk.tak --- src/thread-network.c | 20 ++++++++++++++++++++ tests/unittest/thread-unittest-network.cpp | 22 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/thread-network.c b/src/thread-network.c index f222179..8d8a2d8 100644 --- a/src/thread-network.c +++ b/src/thread-network.c @@ -107,6 +107,26 @@ int thread_network_destroy(thread_network_h network) return THREAD_ERROR_NONE; } +int thread_network_set_name(thread_network_h network, const char *name) +{ + FUNC_ENTRY; + THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON); + THREAD_CHECK_INIT_STATUS(); + THREAD_VALIDATE_INPUT_PARAMETER(network); + THREAD_VALIDATE_INPUT_PARAMETER(name); + + retv_if(strlen(name) > THREAD_NETWORK_NAME_MAX, + THREAD_ERROR_INVALID_PARAMETER); + + THREAD_DBG("Network Name: %s", name); + + thread_network_s *current_network = network; + (void)g_strlcpy(current_network->name, name, THREAD_NETWORK_NAME_MAX + 1); + + 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, diff --git a/tests/unittest/thread-unittest-network.cpp b/tests/unittest/thread-unittest-network.cpp index e6d17fc..f23a17a 100644 --- a/tests/unittest/thread-unittest-network.cpp +++ b/tests/unittest/thread-unittest-network.cpp @@ -31,6 +31,8 @@ class ThreadNetworkTest : public ::testing::Test { public: + const char *THREAD_NETWORK_DEFAULT_NAME = "TizenOpenThread"; + thread_instance_h instance; thread_network_h network; thread_network_h operationalNetwork; @@ -356,4 +358,24 @@ TEST_F(ThreadNetworkTest, DestroyErrorNone) { EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network)); EXPECT_EQ(THREAD_ERROR_NONE, thread_network_destroy(network)); +} + +TEST_F(ThreadNetworkTest, SetNameNotInitialized) +{ + EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize()); + EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, + thread_network_set_name(network, THREAD_NETWORK_DEFAULT_NAME)); +} + +TEST_F(ThreadNetworkTest, SetNameInvalidParameter) +{ + EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, + thread_network_set_name(nullptr, THREAD_NETWORK_DEFAULT_NAME)); +} + +TEST_F(ThreadNetworkTest, SetNameErrorNone) +{ + EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network)); + EXPECT_EQ(THREAD_ERROR_NONE, + thread_network_set_name(network, THREAD_NETWORK_DEFAULT_NAME)); } \ No newline at end of file -- 2.7.4