1# Copyright (c) 2022-2023 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("../../../../services/accountmgr/os_account_service.gni")
16
17module_output_path = "os_account/frameworks/domain_account"
18
19config("domain_account_frameworks_config_moduletest") {
20  visibility = [ ":*" ]
21
22  include_dirs = [ "include" ]
23
24  cflags = []
25  if (target_cpu == "arm") {
26    cflags += [ "-DBINDER_IPC_32BIT" ]
27  }
28
29  defines = [
30    "ACCOUNT_LOG_TAG = \"DomainAccountMTestFwk\"",
31    "LOG_DOMAIN = 0xD001B00",
32  ]
33}
34
35ohos_moduletest("domain_account_frameworks_module_test") {
36  branch_protector_ret = "pac_ret"
37
38  sanitize = {
39    cfi = true
40    cfi_cross_dso = true
41    debug = false
42  }
43
44  module_out_path = module_output_path
45
46  include_dirs = [
47    "${services_path}/accountmgr/include",
48    "${services_path}/accountmgr/include/account_iam",
49    "${services_path}/accountmgr/include/domain_account",
50    "${services_path}/accountmgr/include/osaccount",
51  ]
52  sources = [
53    "${services_path}/accountmgr/src/domain_account/domain_account_plugin_proxy.cpp",
54    "${services_path}/accountmgr/src/domain_account/inner_domain_account_manager.cpp",
55    "src/domain_account_client_module_test.cpp",
56    "src/mock_domain_auth_callback.cpp",
57    "src/mock_domain_auth_callback_for_listener.cpp",
58    "src/mock_domain_create_domain_account_callback.cpp",
59    "src/mock_domain_get_access_token_callback.cpp",
60    "src/mock_domain_has_domain_info_callback.cpp",
61    "src/mock_domain_plugin.cpp",
62  ]
63  configs = [ ":domain_account_frameworks_config_moduletest" ]
64
65  deps = [
66    "${account_iam_framework_path}:account_iam_innerkits",
67    "${common_path}:libaccount_common",
68    "${domain_account_framework_path}:domain_account_innerkits",
69    "${os_account_innerkits_native_path}:os_account_innerkits",
70    "//third_party/googletest:gmock_main",
71    "//third_party/googletest:gtest_main",
72  ]
73
74  external_deps = [
75    "ability_base:base",
76    "ability_base:want",
77    "access_token:libaccesstoken_sdk",
78    "access_token:libtokensetproc_shared",
79    "c_utils:utils",
80    "hilog:libhilog",
81    "ipc:ipc_single",
82  ]
83
84  cflags_cc = []
85
86  if (has_user_auth_part) {
87    cflags_cc += [ "-DHAS_USER_AUTH_PART" ]
88    external_deps += [ "user_auth_framework:userauth_client" ]
89  }
90}
91
92ohos_moduletest("domain_account_frameworks_module_mock_test") {
93  branch_protector_ret = "pac_ret"
94
95  sanitize = {
96    cfi = true
97    cfi_cross_dso = true
98    debug = false
99    blocklist = "${os_account_path}/cfi_blocklist.txt"
100  }
101
102  module_out_path = module_output_path
103  cflags = [ "-pipe" ]
104
105  include_dirs = [
106    "${app_account_innerkits_native_path}/include",
107    "${os_account_dfx_path}/hidumper_adapter",
108    "${services_path}/accountmgr/include/bundle_manager_adapter",
109    "${services_path}/accountmgr/include/ability_manager_adapter",
110    "${services_path}/accountmgr/include",
111    "${os_account_dfx_path}/hitrace_adapter",
112    "${services_path}/accountmgr/include/account_iam",
113    "${services_path}/accountmgr/include/appaccount",
114    "${services_path}/accountmgr/include/domain_account",
115    "${services_path}/accountmgr/include/osaccount",
116    "${bundle_framework_path}/interfaces/inner_api/appexecfwk_core/include",
117  ]
118  sources = [
119    "${app_account_services_path}/test/mock/common/ability_manager_adapter_mock.cpp",
120    "${app_account_services_path}/test/mock/common/bundle_manager_adapter.cpp",
121    "${os_account_dfx_path}/hidumper_adapter/account_dump_helper.cpp",
122    "${os_account_dfx_path}/hitrace_adapter/hitrace_adapter.cpp",
123    "${services_path}/accountmgr/src/account_iam/account_iam_callback.cpp",
124    "${services_path}/accountmgr/src/account_iam/account_iam_mgr_stub.cpp",
125    "${services_path}/accountmgr/src/account_iam/account_iam_service.cpp",
126    "${services_path}/accountmgr/src/account_iam/inner_account_iam_manager.cpp",
127    "${services_path}/accountmgr/src/appaccount/app_account_control_manager.cpp",
128    "src/domain_account_client_module_test.cpp",
129    "src/mock_domain_auth_callback.cpp",
130    "src/mock_domain_auth_callback_for_listener.cpp",
131    "src/mock_domain_create_domain_account_callback.cpp",
132    "src/mock_domain_get_access_token_callback.cpp",
133    "src/mock_domain_has_domain_info_callback.cpp",
134    "src/mock_domain_plugin.cpp",
135  ]
136  sources += account_service_sources
137  configs = [ ":domain_account_frameworks_config_moduletest" ]
138
139  deps = [
140    "${account_iam_framework_path}:account_iam_innerkits",
141    "${common_path}:libaccount_common",
142    "${domain_account_framework_path}:domain_account_innerkits",
143    "${innerkits_native_path}:libaccountkits",
144    "${os_account_innerkits_native_path}:os_account_innerkits",
145    "//third_party/googletest:gmock_main",
146    "//third_party/googletest:gtest_main",
147  ]
148
149  use_exceptions = true
150
151  external_deps = [
152    "ability_base:base",
153    "ability_base:want",
154    "ability_runtime:ability_manager",
155    "ability_runtime:app_manager",
156    "ability_runtime:wantagent_innerkits",
157    "access_token:libaccesstoken_sdk",
158    "access_token:libtokenid_sdk",
159    "access_token:libtokensetproc_shared",
160    "bundle_framework:appexecfwk_base",
161    "bundle_framework:appexecfwk_core",
162    "c_utils:utils",
163    "config_policy:configpolicy_util",
164    "hilog:libhilog",
165    "init:libbegetutil",
166    "ipc:ipc_single",
167    "mbedtls:mbedtls_shared",
168    "safwk:system_ability_fwk",
169    "samgr:samgr_proxy",
170  ]
171
172  if (has_huks_part) {
173    external_deps += [ "huks:libhukssdk" ]
174  }
175
176  cflags_cc = []
177
178  if (has_user_auth_part) {
179    cflags_cc += [ "-DHAS_USER_AUTH_PART" ]
180    external_deps += [ "user_auth_framework:userauth_client" ]
181  }
182  if (has_ces_part) {
183    cflags_cc += [ "-DHAS_CES_PART" ]
184    external_deps += [ "common_event_service:cesfwk_innerkits" ]
185  }
186  if (has_kv_store_part) {
187    external_deps += [ "kv_store:distributeddata_inner" ]
188  }
189  cflags_cc += [ "-DACCOUNT_TEST" ]
190  cflags_cc += [ "-DBUNDLE_ADAPTER_MOCK" ]
191  if (os_account_enable_multiple_os_accounts || use_clang_coverage) {
192    cflags_cc += [ "-DENABLE_MULTIPLE_OS_ACCOUNTS" ]
193  }
194}
195
196ohos_moduletest("domain_account_client_mock_plugin_so_module_test") {
197  module_out_path = module_output_path
198  cflags = [ "-pipe" ]
199
200  include_dirs = [
201    "${app_account_innerkits_native_path}/include",
202    "${os_account_dfx_path}/hidumper_adapter",
203    "${services_path}/accountmgr/include/bundle_manager_adapter",
204    "${services_path}/accountmgr/include/ability_manager_adapter",
205    "${services_path}/accountmgr/include",
206    "${os_account_dfx_path}/hitrace_adapter",
207    "${services_path}/accountmgr/include/account_iam",
208    "${services_path}/accountmgr/include/appaccount",
209    "${services_path}/accountmgr/include/domain_account",
210    "${services_path}/accountmgr/include/osaccount",
211    "${bundle_framework_path}/interfaces/inner_api/appexecfwk_core/include",
212  ]
213  sources = [
214    "${app_account_services_path}/test/mock/common/ability_manager_adapter_mock.cpp",
215    "${app_account_services_path}/test/mock/common/bundle_manager_adapter.cpp",
216    "${os_account_dfx_path}/hidumper_adapter/account_dump_helper.cpp",
217    "${os_account_dfx_path}/hitrace_adapter/hitrace_adapter.cpp",
218    "${services_path}/accountmgr/src/account_iam/account_iam_callback.cpp",
219    "${services_path}/accountmgr/src/account_iam/account_iam_mgr_stub.cpp",
220    "${services_path}/accountmgr/src/account_iam/account_iam_service.cpp",
221    "${services_path}/accountmgr/src/account_iam/inner_account_iam_manager.cpp",
222    "${services_path}/accountmgr/src/appaccount/app_account_control_manager.cpp",
223    "src/domain_account_client_mock_plugin_so_module_test.cpp",
224    "src/mock_domain_get_access_token_callback.cpp",
225    "src/mock_domain_has_domain_info_callback.cpp",
226    "src/mock_domain_so_plugin.cpp",
227  ]
228  sources += account_service_sources
229  configs = [ ":domain_account_frameworks_config_moduletest" ]
230
231  deps = [
232    "${account_iam_framework_path}:account_iam_innerkits",
233    "${common_path}:libaccount_common",
234    "${domain_account_framework_path}:domain_account_innerkits",
235    "${innerkits_native_path}:libaccountkits",
236    "${os_account_innerkits_native_path}:os_account_innerkits",
237    "//third_party/googletest:gmock_main",
238    "//third_party/googletest:gtest_main",
239  ]
240
241  use_exceptions = true
242
243  external_deps = [
244    "ability_base:base",
245    "ability_base:want",
246    "ability_runtime:ability_manager",
247    "ability_runtime:app_manager",
248    "ability_runtime:wantagent_innerkits",
249    "access_token:libaccesstoken_sdk",
250    "access_token:libtokenid_sdk",
251    "access_token:libtokensetproc_shared",
252    "bundle_framework:appexecfwk_base",
253    "bundle_framework:appexecfwk_core",
254    "c_utils:utils",
255    "config_policy:configpolicy_util",
256    "hilog:libhilog",
257    "init:libbegetutil",
258    "ipc:ipc_single",
259    "mbedtls:mbedtls_shared",
260    "safwk:system_ability_fwk",
261    "samgr:samgr_proxy",
262  ]
263
264  if (has_huks_part) {
265    external_deps += [ "huks:libhukssdk" ]
266  }
267
268  cflags_cc = []
269
270  if (has_user_auth_part) {
271    cflags_cc += [ "-DHAS_USER_AUTH_PART" ]
272    external_deps += [ "user_auth_framework:userauth_client" ]
273  }
274  if (has_ces_part) {
275    cflags_cc += [ "-DHAS_CES_PART" ]
276    external_deps += [ "common_event_service:cesfwk_innerkits" ]
277  }
278  if (has_kv_store_part) {
279    external_deps += [ "kv_store:distributeddata_inner" ]
280  }
281  cflags_cc += [ "-DACCOUNT_TEST" ]
282  cflags_cc += [ "-DBUNDLE_ADAPTER_MOCK" ]
283  if (os_account_enable_multiple_os_accounts || use_clang_coverage) {
284    cflags_cc += [ "-DENABLE_MULTIPLE_OS_ACCOUNTS" ]
285  }
286}
287
288ohos_moduletest("domain_account_common_module_test") {
289  branch_protector_ret = "pac_ret"
290
291  sanitize = {
292    cfi = true
293    cfi_cross_dso = true
294    debug = false
295  }
296
297  module_out_path = module_output_path
298
299  include_dirs = [ "${domain_account_interfaces_native_path}/include" ]
300  sources = [ "src/domain_account_common_test.cpp" ]
301  configs = [ ":domain_account_frameworks_config_moduletest" ]
302
303  deps = [
304    "${common_path}:libaccount_common",
305    "${domain_account_framework_path}:domain_account_innerkits",
306    "${os_account_innerkits_native_path}:os_account_innerkits",
307    "//third_party/googletest:gmock_main",
308    "//third_party/googletest:gtest_main",
309  ]
310
311  external_deps = [
312    "ability_base:want",
313    "c_utils:utils",
314    "hilog:libhilog",
315    "ipc:ipc_single",
316  ]
317}
318
319ohos_moduletest("domain_account_plugin_service_test") {
320  branch_protector_ret = "pac_ret"
321
322  sanitize = {
323    cfi = true
324    cfi_cross_dso = true
325    debug = false
326  }
327
328  module_out_path = module_output_path
329
330  include_dirs = [ "${domain_account_interfaces_native_path}/include" ]
331  sources = [
332    "src/domain_account_plugin_service_test.cpp",
333    "src/mock_domain_plugin.cpp",
334  ]
335  configs = [ ":domain_account_frameworks_config_moduletest" ]
336
337  deps = [
338    "${common_path}:libaccount_common",
339    "${domain_account_framework_path}:domain_account_innerkits",
340    "${os_account_innerkits_native_path}:os_account_innerkits",
341    "//third_party/googletest:gmock_main",
342    "//third_party/googletest:gtest_main",
343  ]
344
345  external_deps = [
346    "ability_base:base",
347    "ability_base:want",
348    "c_utils:utils",
349    "hilog:libhilog",
350    "ipc:ipc_single",
351  ]
352}
353
354ohos_moduletest("domain_account_plugin_stub_test") {
355  branch_protector_ret = "pac_ret"
356
357  sanitize = {
358    cfi = true
359    cfi_cross_dso = true
360    debug = false
361  }
362
363  module_out_path = module_output_path
364
365  include_dirs = [ "${domain_account_interfaces_native_path}/include" ]
366  sources = [ "src/domain_account_plugin_stub_test.cpp" ]
367  configs = [ ":domain_account_frameworks_config_moduletest" ]
368
369  deps = [
370    "${common_path}:libaccount_common",
371    "${domain_account_framework_path}:domain_account_innerkits",
372    "${os_account_innerkits_native_path}:os_account_innerkits",
373    "//third_party/googletest:gmock_main",
374    "//third_party/googletest:gtest_main",
375  ]
376
377  external_deps = [
378    "ability_base:want",
379    "c_utils:utils",
380    "hilog:libhilog",
381    "ipc:ipc_single",
382  ]
383}
384
385group("moduletest") {
386  testonly = true
387
388  deps = [
389    ":domain_account_client_mock_plugin_so_module_test",
390    ":domain_account_common_module_test",
391    ":domain_account_frameworks_module_mock_test",
392    ":domain_account_plugin_service_test",
393    ":domain_account_plugin_stub_test",
394  ]
395}
396