2 * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <gtest/gtest.h>
20 #include "mocks/thread-mock-dummy.h"
22 class ThreadSrpTest : public ::testing::Test
25 const char *hostName = "host_name";
27 const char *serviceName;
32 thread_instance_h instance;
39 serviceName = nullptr;
45 void TearDown() override
48 thread_disable(instance);
49 thread_deinitialize();
53 TEST_F(ThreadSrpTest, ClientStartNotInitialized)
55 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
56 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_srp_client_start(instance));
59 TEST_F(ThreadSrpTest, ClientStartInvalidParameter)
61 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_srp_client_start(instance));
64 TEST_F(ThreadSrpTest, ClientStartErrorNone)
66 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
67 EXPECT_EQ(THREAD_ERROR_NONE, thread_srp_client_start(instance));
70 TEST_F(ThreadSrpTest, ClientStopNotInitialized)
72 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
73 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_srp_client_stop(instance));
76 TEST_F(ThreadSrpTest, ClientStopInvalidParameter)
78 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_srp_client_stop(instance));
81 TEST_F(ThreadSrpTest, ClientStopErrorNone)
83 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
84 EXPECT_EQ(THREAD_ERROR_NONE, thread_srp_client_stop(instance));
87 TEST_F(ThreadSrpTest, ClientRemoveHostNotInitialized)
89 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
90 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_srp_client_remove_host(instance));
93 TEST_F(ThreadSrpTest, ClientRemoveHostInvalidParameter)
95 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_srp_client_remove_host(instance));
98 TEST_F(ThreadSrpTest, ClientRemoveHostErrorNone)
100 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
101 EXPECT_EQ(THREAD_ERROR_NONE, thread_srp_client_remove_host(instance));
104 TEST_F(ThreadSrpTest, ClientSetHostNameNotInitialized)
106 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
107 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
108 thread_srp_client_set_host_name(instance, hostName));
111 TEST_F(ThreadSrpTest, ClientSetHostNameInvalidParameter)
113 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
114 thread_srp_client_set_host_name(instance, hostName));
117 TEST_F(ThreadSrpTest, ClientSetHostNameErrorNone)
119 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
120 EXPECT_EQ(THREAD_ERROR_NONE,
121 thread_srp_client_set_host_name(instance, hostName));
124 TEST_F(ThreadSrpTest, ClientSetHostAddressNotInitialized)
126 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
127 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
128 thread_srp_client_set_host_address(instance, DUMMY_IPV6_ADDRESS));
131 TEST_F(ThreadSrpTest, ClientSetHostAddressInvalidParameter)
133 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
134 thread_srp_client_set_host_address(instance, DUMMY_IPV6_ADDRESS));
137 TEST_F(ThreadSrpTest, ClientSetHostAddressErrorNone)
139 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
140 EXPECT_EQ(THREAD_ERROR_NONE,
141 thread_srp_client_set_host_address(instance, DUMMY_IPV6_ADDRESS));
144 TEST_F(ThreadSrpTest, ServerStartNotInitialized)
146 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
147 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_srp_server_start(instance));
150 TEST_F(ThreadSrpTest, ServerStartInvalidParameter)
152 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_srp_server_start(instance));
155 TEST_F(ThreadSrpTest, ServerStartErrorNone)
157 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
158 EXPECT_EQ(THREAD_ERROR_NONE, thread_srp_server_start(instance));
161 TEST_F(ThreadSrpTest, ServerStopNotInitialized)
163 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
164 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_srp_server_stop(instance));
167 TEST_F(ThreadSrpTest, ServerStopInvalidParameter)
169 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_srp_server_stop(instance));
172 TEST_F(ThreadSrpTest, ServerStopErrorNone)
174 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
175 EXPECT_EQ(THREAD_ERROR_NONE, thread_srp_server_stop(instance));
178 TEST_F(ThreadSrpTest, ServerGetRegisteredServiceNotInitialized)
180 EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
181 EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
182 thread_srp_server_get_registered_service(instance,
183 &serviceName, &address, &port, &isDeleted));
186 TEST_F(ThreadSrpTest, ServerGetRegisteredServiceInvalidParameter)
188 EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
189 thread_srp_server_get_registered_service(instance,
190 &serviceName, &address, &port, &isDeleted));
193 TEST_F(ThreadSrpTest, ServerGetRegisteredServiceErrorNone)
195 EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
196 EXPECT_EQ(THREAD_ERROR_NONE,
197 thread_srp_server_get_registered_service(instance,
198 &serviceName, &address, &port, &isDeleted));