Mesh: Add cases in unit test
[platform/core/api/bluetooth.git] / tests / test / bt_mesh_unit_test.h
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * @author: Anupam Roy <anupam.r@samsung.com>
5  *
6  * Licensed under the Apache License, Version 2.0 (the License);
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #define BUFFER_LEN 49
20
21 #define PRT(format, args...) printf("%s:%d() "format, __FUNCTION__, __LINE__, ##args)
22 #define TC_PRT(format, args...) PRT(format"\n", ##args)
23
24 typedef struct {
25         const char *tc_name;
26         int tc_code;
27 } tc_table_t;
28
29 typedef struct {
30         int param_count;
31         char **params;
32 } tc_params_t;
33
34
35 typedef enum {
36         BT_MESH_UNIT_TEST_TABLE_MAIN = 1,
37         BT_MESH_UNIT_TEST_TABLE_NETWORK = 3,
38         BT_MESH_UNIT_TEST_TABLE_CONFIGURATION,
39         BT_MESH_UNIT_TEST_TABLE_FINISH = 0XFF,
40 } bt_mesh_unit_test_table_e;
41
42 typedef enum {
43         BT_MESH_UNIT_TEST_FUNCTION_BACK = 0,
44         BT_MESH_UNIT_TEST_FUNCTION_INITIALIZE = 1,
45         BT_MESH_UNIT_TEST_FUNCTION_DEINITIALIZE,
46         BT_MESH_UNIT_TEST_FUNCTION_NODE_CREATE = 1,
47         BT_MESH_UNIT_TEST_FUNCTION_NODE_DESTROY,
48         BT_MESH_UNIT_TEST_FUNCTION_NODE_CREATE_ELEMENT,
49         BT_MESH_UNIT_TEST_FUNCTION_NODE_GET_NETWORK,
50         BT_MESH_UNIT_TEST_FUNCTION_ELEMENT_CREATE_MODEL,
51         BT_MESH_UNIT_TEST_FUNCTION_MODEL_GET_ID,
52         BT_MESH_UNIT_TEST_FUNCTION_MODEL_DESTROY,
53         BT_MESH_UNIT_TEST_FUNCTION_MODEL_GET_ELEMENT,
54         BT_MESH_UNIT_TEST_FUNCTION_ELEMENT_DESTROY,
55         BT_MESH_UNIT_TEST_FUNCTION_ELEMENT_GET_NODE,
56         BT_MESH_UNIT_TEST_FUNCTION_NODE_FOREACH_ELEMENTS,
57         BT_MESH_UNIT_TEST_FUNCTION_ELEMENT_FOREACH_MODELS,
58         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_CREATE,
59         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_CREATE_IN_LOOP,
60         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_DESTROY,
61         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_LOAD,
62         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_SET_NAME,
63         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_GET_NAME,
64         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_ADD_NETKEY,
65         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_FOREACH_NETKEYS,
66         BT_MESH_UNIT_TEST_FUNCTION_NETKEY_GET_INDEX,
67         BT_MESH_UNIT_TEST_FUNCTION_NETKEY_UPDATE,
68         BT_MESH_UNIT_TEST_FUNCTION_NETKEY_DELETE,
69         BT_MESH_UNIT_TEST_FUNCTION_NETKEY_ADD_APPKEY,
70         BT_MESH_UNIT_TEST_FUNCTION_NETKEY_FOREACH_APPKEYS,
71         BT_MESH_UNIT_TEST_FUNCTION_APPKEY_GET_INDEX,
72         BT_MESH_UNIT_TEST_FUNCTION_APPKEY_UPDATE,
73         BT_MESH_UNIT_TEST_FUNCTION_APPKEY_DELETE,
74         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_FOREACH_DEVICES,
75         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_CREATE_GROUP,
76         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_CREATE_VIRTUAL_GROUP,
77         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_REMOVE_GROUP,
78         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_FOREACH_GROUPS,
79         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_UNPROVISIONED_DEVICE_SCAN,
80         BT_MESH_UNIT_TEST_FUNCTION_STOP_UNPROVISIONED_DEVICE_SCAN,
81         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_PROVISION_DEVICE,
82         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_AUTHENTICATION_SET_REQUEST_CB,
83         BT_MESH_UNIT_TEST_FUNCTION_MESH_AUTHENTICATION_REPLY,
84         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_SET_PROVISIONING_CAPABILITIES,
85         BT_MESH_UNIT_TEST_FUNCTION_NETWORK_GET_PROVISIONING_CAPABILITIES,
86         BT_MESH_UNIT_TEST_FUNCTION_MESH_NETWORK_DISCOVER_NODE=1,
87         BT_MESH_UNIT_TEST_FUNCTION_NODE_RESET,
88         BT_MESH_UNIT_TEST_FUNCTION_NODE_GET_FEATURES,
89         BT_MESH_UNIT_TEST_FUNCTION_NODE_GET_NETKEYS,
90         BT_MESH_UNIT_TEST_FUNCTION_NODE_GET_APPKEYS,
91         BT_MESH_UNIT_TEST_FUNCTION_NODE_GET_TTL,
92         BT_MESH_UNIT_TEST_FUNCTION_NODE_SET_TTL,
93         BT_MESH_UNIT_TEST_FUNCTION_NODE_CONFIGURE_NETKEY,
94         BT_MESH_UNIT_TEST_FUNCTION_NODE_CONFIGURE_APPKEY,
95         BT_MESH_UNIT_TEST_FUNCTION_MODEL_BIND_APPKEY,
96         BT_MESH_UNIT_TEST_FUNCTION_MODEL_UNBIND_APPKEY,
97         BT_MESH_UNIT_TEST_FUNCTION_MODEL_GET_APPKEY_LIST,
98         BT_MESH_UNIT_TEST_FUNCTION_MODEL_CONFIGURE_GROUP_SUBSCRIPTION,
99         BT_MESH_UNIT_TEST_FUNCTION_MODEL_CONFIGURE_VIRTUAL_GROUP_SUBSCRIPTION,
100         BT_MESH_UNIT_TEST_FUNCTION_MODEL_GET_SUBSCRIPTION_LIST,
101         BT_MESH_UNIT_TEST_FUNCTION_MODEL_SET_PUBLICATION,
102         BT_MESH_UNIT_TEST_FUNCTION_MODEL_GET_PUBLICATION,
103         BT_MESH_UNIT_TEST_FUNCTION_MODEL_SEND_MSG,
104         BT_MESH_UNIT_TEST_FUNCTION_APPKEY_GET_NETKEY,
105         BT_MESH_UNIT_TEST_FUNCTION_ACTIVATE_FLAG_TO_SET_PARAMETERS = 0XFF,
106 } bt_mesh_unit_test_function_e;
107
108 int test_input_callback(void *data);