Add thread_network_set_name API with unittest 31/273131/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Wed, 30 Mar 2022 01:23:14 +0000 (10:23 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Thu, 31 Mar 2022 00:59:31 +0000 (09:59 +0900)
Change-Id: Ib3093b14b8049ba5b371259a81468ce9ed5052b6
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
src/thread-network.c
tests/unittest/thread-unittest-network.cpp

index f222179..8d8a2d8 100644 (file)
@@ -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,
index e6d17fc..f23a17a 100644 (file)
@@ -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