1# Copyright (C) 2024 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.
13
14import("//build/test.gni")
15import("//foundation/filemanagement/dfs_service/distributedfile.gni")
16
17ohos_unittest("account_status_listener_test") {
18  module_out_path = "filemanagement/dfs_service"
19
20  include_dirs = [
21    "${distributedfile_path}/utils/log/include",
22    "${services_path}/cloudfiledaemon/include/cloud_disk/",
23    "${services_path}/cloudfiledaemon/include/fuse_manager/",
24  ]
25
26  sources = [
27    "${services_path}/cloudfiledaemon/src/cloud_disk/account_status.cpp",
28    "${services_path}/cloudfiledaemon/src/cloud_disk/account_status_listener.cpp",
29    "${services_path}/cloudfiledaemon/src/fuse_manager/cloud_daemon_statistic.cpp",
30    "account_status_listener_test.cpp",
31  ]
32
33  deps = [
34    "${clouddisk_database_path}:clouddisk_database",
35    "${utils_path}:libdistributedfiledentry",
36    "${utils_path}:libdistributedfileutils",
37    "${utils_path}:libdistributedfileutils_lite",
38    "//third_party/googletest:gmock_main",
39    "//third_party/googletest:gtest_main",
40  ]
41
42  external_deps = [
43    "ability_base:want",
44    "c_utils:utils",
45    "common_event_service:cesfwk_innerkits",
46    "hilog:libhilog",
47  ]
48
49  defines = [
50    "private=public",
51    "LOG_DOMAIN=0xD004308",
52    "LOG_TAG=\"CLOUD_DAEMON_API\"",
53  ]
54
55  use_exceptions = true
56}
57
58ohos_unittest("file_operations_cloud_test") {
59  module_out_path = "filemanagement/dfs_service"
60
61  include_dirs = [
62    "${distributedfile_path}/adapter/cloud_adapter_example/include",
63    "${distributedfile_path}/interfaces/inner_api/native/cloudsync_kit_inner",
64    "${distributedfile_path}/utils/log/include",
65    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/include",
66    "${media_library_path}/frameworks/utils/include",
67    "${media_library_path}/interfaces/inner_api/media_library_helper/include",
68    "${services_path}/clouddisk_database/include",
69    "${services_path}/cloudfiledaemon/include/cloud_disk/",
70    "mock",
71  ]
72
73  sources = [
74    "${distributedfile_path}/test/mock/clouddisk_notify_mock.cpp",
75    "${distributedfile_path}/test/unittests/cloud_disk/mock/file_operations_helper_mock.cpp",
76    "${distributedfile_path}/test/unittests/clouddisk_database/mock/meta_file_clouddisk_mock.cpp",
77    "${distributedfile_path}/test/unittests/cloudsync_sa/mock/cloud_file_utils_mock.cpp",
78    "${services_path}/cloudfiledaemon/src/cloud_disk/account_status.cpp",
79    "${services_path}/cloudfiledaemon/src/cloud_disk/database_manager.cpp",
80    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_base.cpp",
81    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_cloud.cpp",
82    "file_operations_cloud_test.cpp",
83    "mock/clouddisk_rdbstore_mock.cpp",
84    "mock/libfuse_mock.cpp",
85    "mock/system_function_mock.cpp",
86  ]
87
88  deps = [
89    "${clouddisk_database_path}:clouddisk_database",
90    "${innerkits_native_path}/cloud_file_kit_inner:cloudfile_kit",
91    "${utils_path}:libdistributedfiledentry",
92    "${utils_path}:libdistributedfileutils",
93    "${utils_path}:libdistributedfileutils_lite",
94    "//third_party/googletest:gmock_main",
95    "//third_party/googletest:gtest_main",
96  ]
97
98  external_deps = [
99    "ability_base:want",
100    "ability_runtime:dataobs_manager",
101    "c_utils:utils",
102    "common_event_service:cesfwk_innerkits",
103    "ffrt:libffrt",
104    "hilog:libhilog",
105    "hitrace:hitrace_meter",
106    "init:libbegetutil",
107    "libfuse:libfuse",
108    "relational_store:native_rdb",
109  ]
110
111  defines = [
112    "private=public",
113    "LOG_DOMAIN=0xD004308",
114    "LOG_TAG=\"CLOUD_DAEMON_API\"",
115  ]
116
117  use_exceptions = true
118}
119
120ohos_unittest("database_manager_test") {
121  module_out_path = "filemanagement/dfs_service"
122
123  include_dirs = [
124    "${distributedfile_path}/utils/log/include",
125    "${distributedfile_path}/interfaces/inner_api/native/cloudsync_kit_inner/",
126    "${distributedfile_path}/interfaces/inner_api/native/cloud_file_kit_inner/",
127    "${distributedfile_path}/frameworks/native/cloudsync_kit_inner/include/",
128    "${distributedfile_path}/frameworks/native/cloudsync_kit_inner_lite/include/",
129    "${distributedfile_path}/test/unittests/cloudsync_sa/mock/",
130    "${services_path}/cloudfiledaemon/include/cloud_disk/",
131    "${services_path}/clouddisk_database/include/",
132    "${media_library_path}/frameworks/innerkitsimpl/media_library_helper/include/",
133    "${media_library_path}/interfaces/inner_api/media_library_helper/include/",
134    "${media_library_path}/frameworks/utils/include/",
135  ]
136
137  sources = [
138    "${distributedfile_path}/frameworks/native/cloudsync_kit_inner/src/cloud_sync_manager.cpp",
139    "${services_path}/clouddisk_database/src/clouddisk_rdb_transaction.cpp",
140    "${services_path}/clouddisk_database/src/clouddisk_rdb_utils.cpp",
141    "${services_path}/clouddisk_database/src/clouddisk_rdbstore.cpp",
142    "${services_path}/clouddisk_database/src/clouddisk_sync_helper.cpp",
143    "${services_path}/clouddisk_database/src/file_column.cpp",
144    "${services_path}/cloudfiledaemon/src/cloud_disk/database_manager.cpp",
145    "database_manager_test.cpp",
146  ]
147
148  deps = [
149    "${distributedfile_path}/adapter/cloud_adapter_example:cloud_adapter",
150    "${innerkits_native_path}/cloudsync_kit_inner:cloudsync_kit_inner_lite",
151    "${utils_path}:libdistributedfiledentry",
152    "${utils_path}:libdistributedfileutils",
153    "${utils_path}:libdistributedfileutils_lite",
154    "//third_party/googletest:gmock_main",
155    "//third_party/googletest:gtest_main",
156  ]
157
158  external_deps = [
159    "ability_base:want",
160    "ability_base:zuri",
161    "ability_runtime:dataobs_manager",
162    "c_utils:utils",
163    "common_event_service:cesfwk_innerkits",
164    "dfs_service:cloudsync_kit_inner",
165    "ffrt:libffrt",
166    "hilog:libhilog",
167    "ipc:ipc_single",
168    "libfuse:libfuse",
169    "relational_store:native_rdb",
170  ]
171
172  defines = [
173    "private=public",
174    "LOG_DOMAIN=0xD004308",
175    "LOG_TAG=\"CLOUD_DAEMON_API\"",
176  ]
177
178  use_exceptions = true
179}
180
181ohos_unittest("file_operations_base_test") {
182  module_out_path = "filemanagement/dfs_service"
183
184  include_dirs = [
185    "${distributedfile_path}/utils/log/include",
186    "${services_path}/cloudfiledaemon/include/cloud_disk/",
187    "${distributedfile_path}/test/unittests/cloud_disk/mock/",
188    "//third_party/libfuse/include",
189    "//third_party/libfuse/lib",
190    "${distributedfile_path}/services/clouddisk_database/include/",
191  ]
192
193  sources = [
194    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_base.cpp",
195    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_helper.cpp",
196    "file_operations_base_test.cpp",
197    "mock/clouddisk_rdbstore_mock.cpp",
198    "mock/libfuse_mock.cpp",
199    "mock/system_function_mock.cpp",
200  ]
201
202  deps = [
203    "${innerkits_native_path}/cloud_file_kit_inner:cloudfile_kit",
204    "${utils_path}:libdistributedfiledentry",
205    "${utils_path}:libdistributedfileutils",
206    "${utils_path}:libdistributedfileutils_lite",
207    "//third_party/googletest:gmock_main",
208    "//third_party/googletest:gtest_main",
209  ]
210
211  external_deps = [
212    "ability_base:want",
213    "common_event_service:cesfwk_innerkits",
214    "hilog:libhilog",
215    "libfuse:libfuse",
216    "relational_store:native_rdb",
217  ]
218
219  defines = [
220    "private=public",
221    "LOG_DOMAIN=0xD004308",
222    "LOG_TAG=\"CLOUD_DAEMON_API\"",
223  ]
224
225  use_exceptions = true
226}
227
228ohos_unittest("fuse_operations_test") {
229  module_out_path = "filemanagement/dfs_service"
230
231  include_dirs = [
232    "${distributedfile_path}/utils/log/include",
233    "${services_path}/cloudfiledaemon/include/cloud_disk/",
234    "${distributedfile_path}/test/unittests/cloudsync_sa/mock/",
235    "${distributedfile_path}/test/unittests/cloud_disk/mock/",
236  ]
237
238  sources = [
239    "${distributedfile_path}/test/unittests/cloudsync_sa/mock/parameters.cpp",
240    "${services_path}/cloudfiledaemon/src/cloud_disk/account_status.cpp",
241    "${services_path}/cloudfiledaemon/src/cloud_disk/database_manager.cpp",
242    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_base.cpp",
243    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_cloud.cpp",
244    "${services_path}/cloudfiledaemon/src/cloud_disk/file_operations_helper.cpp",
245    "${services_path}/cloudfiledaemon/src/cloud_disk/fuse_operations.cpp",
246    "fuse_operations_test.cpp",
247    "mock/clouddisk_rdbstore_mock.cpp",
248    "mock/file_operations_local_mock.cpp",
249    "mock/libfuse_mock.cpp",
250    "mock/system_function_mock.cpp",
251  ]
252
253  deps = [
254    "${clouddisk_database_path}:clouddisk_database",
255    "${innerkits_native_path}/cloud_file_kit_inner:cloudfile_kit",
256    "${utils_path}:libdistributedfileutils",
257    "${utils_path}:libdistributedfileutils_lite",
258    "//third_party/googletest:gmock_main",
259    "//third_party/googletest:gtest_main",
260  ]
261
262  cflags = [ "--coverage" ]
263
264  ldflags = [ "--coverage" ]
265
266  cflags_cc = [ "--coverage" ]
267
268  external_deps = [
269    "ability_runtime:dataobs_manager",
270    "c_utils:utils",
271    "common_event_service:cesfwk_innerkits",
272    "ffrt:libffrt",
273    "hilog:libhilog",
274    "hitrace:hitrace_meter",
275    "libfuse:libfuse",
276    "relational_store:native_rdb",
277  ]
278
279  defines = [
280    "private=public",
281    "LOG_DOMAIN=0xD004308",
282    "LOG_TAG=\"CLOUD_DAEMON_API\"",
283  ]
284
285  use_exceptions = true
286}
287
288group("cloud_disk_test") {
289  testonly = true
290
291  deps = [
292    ":account_status_listener_test",
293    ":file_operations_base_test",
294    ":file_operations_cloud_test",
295    ":fuse_operations_test",
296  ]
297}
298