1# Copyright (c) 2021 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13import("//build/test.gni")
14import("//foundation/distributeddatamgr/kv_store/kv_store.gni")
15
16module_output_path = "kv_store/distributeddatafwk"
17
18###############################################################################
19config("module_private_config") {
20  visibility = [ ":*" ]
21
22  include_dirs = [
23    "../include/",
24    "../src/",
25    "../../distributeddatasvc/include/",
26    "../../kvdb/include/",
27    "../../kvdb/src/",
28    "../../../common/",
29    "../../../../interfaces/innerkits/distributeddata/include/",
30    "../../../../interfaces/innerkits/distributeddatamgr/include/",
31
32    # for ipc_core interfaces.
33    "//commonlibrary/c_utils/base/include",
34    "//foundation/distributeddatamgr/kv_store/interfaces/innerkits/distributeddata/include",
35    "//foundation/distributedhardware/device_manager/interfaces/inner_kits/native_cpp/include",
36    "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include",
37  ]
38}
39
40###############################################################################
41ohos_source_set("distributeddatafwk_src_file") {
42  testonly = true
43
44  old_sources = [
45    "../../distributeddatasvc/src/datamgr_service_proxy.cpp",
46    "../../distributeddatasvc/src/distributed_data_mgr.cpp",
47    "../../distributeddatasvc/src/kvstore_data_service_mgr.cpp",
48    "../src/blob.cpp",
49    "../src/change_notification.cpp",
50    "../src/data_query.cpp",
51    "../src/distributed_kv_data_manager.cpp",
52    "../src/ikvstore_client_death_observer.cpp",
53    "../src/ikvstore_observer.cpp",
54    "../src/kv_utils.cpp",
55    "../src/kvdb_notifier_client.cpp",
56    "../src/kvdb_notifier_stub.cpp",
57    "../src/kvstore_client_death_observer.cpp",
58    "../src/kvstore_datashare_bridge.cpp",
59    "../src/kvstore_observer_client.cpp",
60    "../src/kvstore_service_death_notifier.cpp",
61    "../src/sync_observer.cpp",
62  ]
63
64  kvdb_sources = [
65    "../../kvdb/src/backup_manager.cpp",
66    "../../kvdb/src/convertor.cpp",
67    "../../kvdb/src/dev_manager.cpp",
68    "../../kvdb/src/device_convertor.cpp",
69    "../../kvdb/src/kv_types_util.cpp",
70    "../../kvdb/src/kvdb_service_client.cpp",
71    "../../kvdb/src/observer_bridge.cpp",
72    "../../kvdb/src/process_communication_impl.cpp",
73    "../../kvdb/src/process_system_api_adapter_impl.cpp",
74    "../../kvdb/src/security_manager.cpp",
75    "../../kvdb/src/single_store_impl.cpp",
76    "../../kvdb/src/store_factory.cpp",
77    "../../kvdb/src/store_manager.cpp",
78    "../../kvdb/src/store_result_set.cpp",
79    "../../kvdb/src/store_util.cpp",
80    "../../kvdb/src/system_api.cpp",
81    "../../kvdb/src/task_executor.cpp",
82    "../../kvdb/src/task_executor_adapter.cpp",
83  ]
84
85  sources = old_sources + kvdb_sources
86  if (qemu_disable) {
87    sources += [ "../../kvdb/src/auto_sync_timer.cpp" ]
88  } else {
89    sources += [ "../../kvdb/src/auto_sync_timer_mock.cpp" ]
90  }
91  configs = [ ":module_private_config" ]
92
93  deps = [
94    "../../../../databaseutils:database_utils",
95    "../../../../interfaces/innerkits/distributeddatamgr:distributeddata_mgr",
96    "//foundation/distributeddatamgr/kv_store/frameworks/libs/distributeddb:distributeddb",
97    "//foundation/distributedhardware/device_manager/interfaces/inner_kits/native_cpp:devicemanagersdk",
98  ]
99  external_deps = [
100    "access_token:libaccesstoken_sdk",
101    "access_token:libtokenid_sdk",
102    "c_utils:utils",
103    "file_api:securitylabel",
104    "hilog:libhilog",
105    "hisysevent:libhisysevent",
106    "hitrace:hitrace_meter",
107    "hitrace:libhitracechain",
108    "huks:libhukssdk",
109    "ipc:ipc_single",
110    "samgr:samgr_proxy",
111  ]
112  if (dms_service_enable && qemu_disable) {
113    external_deps += [ "dmsfwk:distributed_sdk" ]
114  }
115
116  public_external_deps = [
117    "data_share:datashare_common",
118    "data_share:datashare_provider",
119  ]
120
121  part_name = "kv_store"
122}
123
124ohos_unittest("DistributedKvDataManagerTest") {
125  module_out_path = module_output_path
126
127  sources = [
128    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
129    "unittest/distributed_kv_data_manager_test.cpp",
130  ]
131
132  configs = [ ":module_private_config" ]
133
134  external_deps = [
135    "c_utils:utils",
136    "hilog:libhilog",
137    "ipc:ipc_single",
138    "samgr:samgr_proxy",
139  ]
140
141  deps = [
142    ":distributeddatafwk_src_file",
143    "//third_party/googletest:gtest_main",
144  ]
145}
146
147ohos_unittest("DistributedKvDataManagerEncryptTest") {
148  module_out_path = module_output_path
149
150  sources = [
151    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
152    "unittest/distributed_kv_data_manager_encrypt_test.cpp",
153  ]
154
155  configs = [ ":module_private_config" ]
156
157  external_deps = [
158    "c_utils:utils",
159    "hilog:libhilog",
160    "ipc:ipc_single",
161    "samgr:samgr_proxy",
162  ]
163
164  deps = [
165    ":distributeddatafwk_src_file",
166    "//third_party/googletest:gtest_main",
167  ]
168}
169
170ohos_unittest("LocalSubscribeStoreTest") {
171  module_out_path = module_output_path
172
173  sources = [
174    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
175    "unittest/local_subscribe_store_test.cpp",
176  ]
177
178  configs = [ ":module_private_config" ]
179
180  external_deps = [
181    "c_utils:utils",
182    "hilog:libhilog",
183    "ipc:ipc_single",
184    "samgr:samgr_proxy",
185  ]
186
187  deps = [
188    ":distributeddatafwk_src_file",
189    "//third_party/googletest:gtest_main",
190  ]
191}
192
193ohos_unittest("LocalSubscribeDeviceStoreTest") {
194  module_out_path = module_output_path
195
196  sources = [
197    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
198    "unittest/local_subscribe_device_store_test.cpp",
199  ]
200
201  configs = [ ":module_private_config" ]
202
203  external_deps = [
204    "c_utils:utils",
205    "hilog:libhilog",
206    "ipc:ipc_single",
207    "samgr:samgr_proxy",
208  ]
209
210  deps = [
211    ":distributeddatafwk_src_file",
212    "//third_party/googletest:gtest_main",
213  ]
214}
215
216ohos_unittest("SingleKvStoreClientQueryTest") {
217  module_out_path = module_output_path
218
219  sources = [
220    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
221    "unittest/single_kvstore_client_query_test.cpp",
222  ]
223
224  configs = [ ":module_private_config" ]
225
226  external_deps = [
227    "c_utils:utils",
228    "hilog:libhilog",
229    "ipc:ipc_single",
230    "samgr:samgr_proxy",
231  ]
232
233  deps = [
234    ":distributeddatafwk_src_file",
235    "//third_party/googletest:gtest_main",
236  ]
237}
238
239ohos_unittest("SingleKvStoreClientTest") {
240  module_out_path = module_output_path
241
242  sources = [
243    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
244    "unittest/single_kvstore_client_test.cpp",
245  ]
246
247  configs = [ ":module_private_config" ]
248
249  external_deps = [
250    "c_utils:utils",
251    "hilog:libhilog",
252    "ipc:ipc_single",
253    "samgr:samgr_proxy",
254  ]
255
256  deps = [
257    ":distributeddatafwk_src_file",
258    "//third_party/googletest:gtest_main",
259  ]
260}
261
262ohos_unittest("SingleKvStoreAsyncGetTest") {
263  module_out_path = module_output_path
264
265  sources = [
266    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
267    "unittest/single_kvstore_async_get_test.cpp",
268  ]
269
270  configs = [ ":module_private_config" ]
271
272  external_deps = [
273    "c_utils:utils",
274    "hilog:libhilog",
275    "ipc:ipc_single",
276    "samgr:samgr_proxy",
277  ]
278
279  deps = [
280    ":distributeddatafwk_src_file",
281    "//third_party/googletest:gtest_main",
282  ]
283}
284
285ohos_unittest("DeviceKvStoreTest") {
286  module_out_path = module_output_path
287
288  sources = [
289    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
290    "unittest/device_kvstore_test.cpp",
291  ]
292
293  configs = [ ":module_private_config" ]
294
295  external_deps = [
296    "c_utils:utils",
297    "hilog:libhilog",
298    "ipc:ipc_single",
299    "samgr:samgr_proxy",
300  ]
301
302  deps = [
303    ":distributeddatafwk_src_file",
304    "//third_party/googletest:gtest_main",
305  ]
306}
307
308ohos_unittest("BlobTest") {
309  module_out_path = module_output_path
310
311  sources = [
312    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
313    "unittest/blob_test.cpp",
314  ]
315
316  configs = [ ":module_private_config" ]
317
318  deps = [
319    ":distributeddatafwk_src_file",
320    "//third_party/googletest:gtest_main",
321  ]
322
323  external_deps = [
324    "c_utils:utils",
325    "hilog:libhilog",
326    "ipc:ipc_single",
327  ]
328}
329
330ohos_unittest("TypesUtilTest") {
331  module_out_path = module_output_path
332
333  sources = [
334    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
335    "unittest/types_util_test.cpp",
336  ]
337
338  configs = [ ":module_private_config" ]
339
340  deps = [
341    ":distributeddatafwk_src_file",
342    "//third_party/googletest:gtest_main",
343  ]
344
345  external_deps = [
346    "c_utils:utils",
347    "hilog:libhilog",
348    "ipc:ipc_single",
349  ]
350}
351
352ohos_unittest("KvUtilTest") {
353  module_out_path = module_output_path
354
355  sources = [
356    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
357    "unittest/kv_utils_test.cpp",
358  ]
359
360  configs = [ ":module_private_config" ]
361
362  deps = [
363    ":distributeddatafwk_src_file",
364    "//third_party/googletest:gtest_main",
365  ]
366
367  external_deps = [
368    "c_utils:utils",
369    "hilog:libhilog",
370    "ipc:ipc_single",
371  ]
372}
373
374ohos_unittest("KvstoreDatashareBridgeTest") {
375  module_out_path = module_output_path
376
377  sources = [
378    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
379    "unittest/kvstore_datashare_bridge_test.cpp",
380  ]
381
382  configs = [ ":module_private_config" ]
383
384  deps = [
385    ":distributeddatafwk_src_file",
386    "//third_party/googletest:gtest_main",
387  ]
388
389  external_deps = [
390    "c_utils:utils",
391    "hilog:libhilog",
392    "ipc:ipc_single",
393  ]
394}
395
396ohos_unittest("DistributedDataMgrTest") {
397  module_out_path = module_output_path
398
399  sources = [
400    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
401    "unittest/distributed_data_mgr_test.cpp",
402  ]
403
404  configs = [ ":module_private_config" ]
405
406  external_deps = [
407    "access_token:libaccesstoken_sdk",
408    "access_token:libnativetoken",
409    "access_token:libtoken_setproc",
410    "c_utils:utils",
411    "hilog:libhilog",
412    "ipc:ipc_single",
413    "samgr:samgr_proxy",
414  ]
415
416  deps = [
417    ":distributeddatafwk_src_file",
418    "//third_party/googletest:gtest_main",
419  ]
420}
421
422ohos_unittest("EndPointTest") {
423  module_out_path = module_output_path
424
425  sources = [
426    "../../kvdb/src/kv_hiview_reporter_mock.cpp",
427    "unittest/end_point_test.cpp",
428  ]
429
430  configs = [ ":module_private_config" ]
431
432  external_deps = [
433    "c_utils:utils",
434    "hilog:libhilog",
435    "ipc:ipc_single",
436    "samgr:samgr_proxy",
437  ]
438
439  deps = [
440    ":distributeddatafwk_src_file",
441    "//third_party/googletest:gtest_main",
442  ]
443}
444
445###############################################################################
446group("unittest") {
447  testonly = true
448
449  deps = []
450
451  deps += [
452    ":BlobTest",
453    ":DeviceKvStoreTest",
454    ":DistributedDataMgrTest",
455    ":DistributedKvDataManagerEncryptTest",
456    ":DistributedKvDataManagerTest",
457    ":EndPointTest",
458    ":KvUtilTest",
459    ":KvstoreDatashareBridgeTest",
460    ":LocalSubscribeDeviceStoreTest",
461    ":LocalSubscribeStoreTest",
462    ":SingleKvStoreAsyncGetTest",
463    ":SingleKvStoreClientQueryTest",
464    ":SingleKvStoreClientTest",
465    ":TypesUtilTest",
466  ]
467}
468