From 305fcaa9232d1ede31b2074221ef1d172fef2077 Mon Sep 17 00:00:00 2001 From: "hyunuk.tak" Date: Wed, 30 Mar 2022 11:08:54 +0900 Subject: [PATCH] Add thread_network_set_channel API with unittest Change-Id: I69ba6fcd0bbd0c64d799106a7f33a0e4b80ad76b Signed-off-by: hyunuk.tak --- src/thread-network.c | 16 +++++++++++ tests/unittest/thread-unittest-network.cpp | 45 ++++++++++++++++++++++-------- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/src/thread-network.c b/src/thread-network.c index 150b8f1..4358f09 100644 --- a/src/thread-network.c +++ b/src/thread-network.c @@ -167,6 +167,22 @@ int thread_network_set_pskc(thread_network_h network, const char *pskc) return THREAD_ERROR_NONE; } +int thread_network_set_channel(thread_network_h network, uint32_t channel) +{ + FUNC_ENTRY; + THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON); + THREAD_CHECK_INIT_STATUS(); + THREAD_VALIDATE_INPUT_PARAMETER(network); + + THREAD_DBG("Network channel: 0x%8.8x", channel); + + thread_network_s *current_network = network; + current_network->channel = channel; + + 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 c4ecbc4..602a49a 100644 --- a/tests/unittest/thread-unittest-network.cpp +++ b/tests/unittest/thread-unittest-network.cpp @@ -31,9 +31,10 @@ class ThreadNetworkTest : public ::testing::Test { public: - const char *THREAD_NETWORK_DEFAULT_NAME = "TizenOpenThread"; - const char *THREAD_NETWORK_DEFAULT_KEY = "c03aa2d3c869847b0e7f2ca288efd251"; - const char *THREAD_NETWORK_DEFAULT_PSKC = "19d3bd4ee76baad7ff2da29c87c67452"; + const char *NETWORK_DUMMY_NAME = "TizenOpenThread"; + const char *NETWORK_DUMMY_KEY = "c03aa2d3c869847b0e7f2ca288efd251"; + const char *NETWORK_DUMMY_PSKC = "19d3bd4ee76baad7ff2da29c87c67452"; + const uint32_t NETWORK_DUMMY_CHANNEL = 15; thread_instance_h instance; thread_network_h network; @@ -366,58 +367,78 @@ 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)); + thread_network_set_name(network, NETWORK_DUMMY_NAME)); } TEST_F(ThreadNetworkTest, SetNameInvalidParameter) { EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, - thread_network_set_name(nullptr, THREAD_NETWORK_DEFAULT_NAME)); + thread_network_set_name(nullptr, NETWORK_DUMMY_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)); + thread_network_set_name(network, NETWORK_DUMMY_NAME)); } TEST_F(ThreadNetworkTest, SetKeyNotInitialized) { EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize()); EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, - thread_network_set_key(network, THREAD_NETWORK_DEFAULT_KEY)); + thread_network_set_key(network, NETWORK_DUMMY_KEY)); } TEST_F(ThreadNetworkTest, SetKeyInvalidParameter) { EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, - thread_network_set_key(nullptr, THREAD_NETWORK_DEFAULT_KEY)); + thread_network_set_key(nullptr, NETWORK_DUMMY_KEY)); } TEST_F(ThreadNetworkTest, SetKeyErrorNone) { EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network)); EXPECT_EQ(THREAD_ERROR_NONE, - thread_network_set_key(network, THREAD_NETWORK_DEFAULT_KEY)); + thread_network_set_key(network, NETWORK_DUMMY_KEY)); } TEST_F(ThreadNetworkTest, SetPskcNotInitialized) { EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize()); EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, - thread_network_set_pskc(network, THREAD_NETWORK_DEFAULT_PSKC)); + thread_network_set_pskc(network, NETWORK_DUMMY_PSKC)); } TEST_F(ThreadNetworkTest, SetPskcInvalidParameter) { EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, - thread_network_set_pskc(nullptr, THREAD_NETWORK_DEFAULT_PSKC)); + thread_network_set_pskc(nullptr, NETWORK_DUMMY_PSKC)); } TEST_F(ThreadNetworkTest, SetPskcErrorNone) { EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network)); EXPECT_EQ(THREAD_ERROR_NONE, - thread_network_set_pskc(network, THREAD_NETWORK_DEFAULT_PSKC)); + thread_network_set_pskc(network, NETWORK_DUMMY_PSKC)); +} + +TEST_F(ThreadNetworkTest, SetChannelNotInitialized) +{ + EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize()); + EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, + thread_network_set_channel(network, NETWORK_DUMMY_CHANNEL)); +} + +TEST_F(ThreadNetworkTest, SetChannelInvalidParameter) +{ + EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, + thread_network_set_channel(nullptr, NETWORK_DUMMY_CHANNEL)); +} + +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)); } \ No newline at end of file -- 2.7.4