[Unit Test] Adding Unit Test for CAManager.cpp in IoTivity C++ Wrapper
[platform/upstream/iotivity.git] / resource / unittests / CAManagerTest.cpp
1 /* ****************************************************************\r
2  *\r
3  * Copyright 2020 Samsung Electronics All Rights Reserved.\r
4  *\r
5  *\r
6  *\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  *\r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  *\r
19  ******************************************************************/\r
20 \r
21 #include "CAManager.h"\r
22 #include <OCPlatform.h>\r
23 \r
24 #include <gtest/gtest.h>\r
25 \r
26 using namespace OC;\r
27 \r
28 int g_int1, g_int2;\r
29 \r
30 void adapterHandlerCb(OCTransportAdapter adapter, bool var)\r
31 {\r
32     g_int1 = 1;\r
33 }\r
34 \r
35 void connectionHandlerCb(const std::string& str, OCConnectivityType conn, bool var)\r
36 {\r
37     g_int2 = 1;\r
38 }\r
39 \r
40 TEST(setNetworkMonitorHandler, setNetworkMonitorHandler_success)\r
41 {\r
42     OCStackResult res = CAManager::setNetworkMonitorHandler(adapterHandlerCb, connectionHandlerCb);\r
43     EXPECT_EQ(OC_STACK_OK, res);\r
44 }\r
45 \r
46 TEST(setNetworkMonitorHandler, setNetworkMonitorHandler_NULLCB)\r
47 {\r
48     CAManager::setLogLevel(OC_LOG_LEVEL_ALL, 0);\r
49     OCStackResult res = CAManager::setNetworkMonitorHandler(NULL, NULL);\r
50     EXPECT_EQ(OC_STACK_INVALID_PARAM, res);\r
51 }\r
52 \r
53 TEST(setPortNumberToAssign, setPortNumberToAssign_OC_STACK_OK)\r
54 {\r
55     OCTransportAdapter adapter = OC_ADAPTER_IP;\r
56     OCTransportFlags flag = (OCTransportFlags) (OC_IP_USE_V4);\r
57     uint16_t port = 0xFFFF;\r
58     OCStackResult res = CAManager::setPortNumberToAssign(adapter, flag, port);\r
59     EXPECT_EQ(OC_STACK_OK, res);\r
60 }\r
61 \r
62 TEST(getAssignedPortNumber, getAssignedPortNumber_success)\r
63 {\r
64     OCTransportAdapter adapter = OC_ADAPTER_IP;\r
65     OCTransportFlags flag = (OCTransportFlags) (OC_IP_USE_V4);\r
66     uint16_t port = 0;\r
67     OCStackResult res = CAManager::setPortNumberToAssign(adapter, flag, port);\r
68     uint16_t portNum = CAManager::getAssignedPortNumber(adapter, flag);\r
69     EXPECT_EQ(port, portNum);\r
70 }\r
71 \r
72 TEST(setMulticastTTL, setMulticastTTL_success)\r
73 {\r
74     OCStackResult res = CAManager::setMulticastTTL(0);\r
75     EXPECT_EQ(OC_STACK_OK, res);\r
76 }\r
77 \r
78 TEST(setMulticastTTL, setMulticastTTL_invalidparam)\r
79 {\r
80     OCStackResult res = CAManager::setMulticastTTL(256);\r
81     EXPECT_EQ(OC_STACK_INVALID_PARAM, res);\r
82 }\r
83 \r
84 TEST(setMulticastTTL, setMulticastTTL_notsupported)\r
85 {\r
86     OCStackResult res = CAManager::setMulticastTTL(143);\r
87     EXPECT_EQ(OC_STACK_NOTIMPL, res);\r
88 }\r
89 \r
90 TEST(getMulticastTTL, getMulticastTTL_invalidparam)\r
91 {\r
92     OCStackResult res = CAManager::getMulticastTTL(0);\r
93     EXPECT_EQ(OC_STACK_INVALID_PARAM, res);\r
94 }\r
95 \r
96 TEST(getMulticastTTL, getMulticastTTL_success)\r
97 {\r
98     size_t var;\r
99     CAManager::setMulticastTTL(16);\r
100     OCStackResult res = CAManager::getMulticastTTL(&var);\r
101     EXPECT_EQ(16, var);\r
102 }\r
103 \r
104 TEST(setBTConfigure, setBTConfigure_NOTIMPL)\r
105 {\r
106     CAManager::CAUtilConfig cfg;\r
107     CAManager::CAUtilConfig *ptr = &cfg;\r
108     OCStackResult res = CAManager::setBTConfigure(*ptr);\r
109     EXPECT_EQ(OC_STACK_NOTIMPL, res);\r
110 }\r
111 \r
112 TEST(startLEAdvertising, startLEAdvertising_NOT_SUPPORTED)\r
113 {\r
114     OCStackResult res = CAManager::startLEAdvertising();\r
115     EXPECT_EQ(OC_STACK_NOTIMPL, res);\r
116 }\r
117 \r
118 TEST(stopLEAdvertising, stopLEAdvertising_NOT_SUPPORTED)\r
119 {\r
120     OCStackResult res = CAManager::stopLEAdvertising();\r
121     EXPECT_EQ(OC_STACK_NOTIMPL, res);\r
122 }\r
123 \r
124 TEST(disconnectTCPSession, disconnectTCPSession_invalidparam)\r
125 {\r
126     uint16_t port = 0xFFFF;\r
127     OCTransportFlags flags = OC_DEFAULT_FLAGS;\r
128     OCStackResult res = CAManager::disconnectTCPSession(NULL, port, flags);\r
129     EXPECT_EQ(OC_STACK_INVALID_PARAM, res);\r
130 }\r
131 \r
132 TEST(disconnectTCPSession, disconnectTCPSession_error)\r
133 {\r
134     char *addr = (char *)calloc(10, sizeof(char));\r
135     uint16_t port = 0xFFFF;\r
136     OCTransportFlags flags = OC_DEFAULT_FLAGS;\r
137     OCStackResult res = CAManager::disconnectTCPSession(addr, port, flags);\r
138     EXPECT_EQ(OC_STACK_ERROR, res);\r
139 }\r
140 \r
141 TEST(startCAGattServer, startpCAGattServer_NOT_SUPPORTED)\r
142 {\r
143     OCStackResult res = CAManager::startCAGattServer();\r
144     EXPECT_EQ(OC_STACK_NOTIMPL, res);\r
145 }\r
146 \r
147 TEST(stopCAGattServer, stopCAGattServer_NOT_SUPPORTED)\r
148 {\r
149     OCStackResult res = CAManager::stopCAGattServer();\r
150     EXPECT_EQ(OC_STACK_NOTIMPL, res);\r
151 }\r