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    "//third_party/googletest:gmock_main",
70    "//third_party/googletest:gtest_main",
71  ]
72
73  external_deps = [
74    "ability_base:base",
75    "ability_base:want",
76    "access_token:libaccesstoken_sdk",
77    "access_token:libtokensetproc_shared",
78    "c_utils:utils",
79    "hilog:libhilog",
80    "ipc:ipc_single",
81    "os_account:os_account_innerkits",
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    "os_account:os_account_innerkits",
169    "safwk:system_ability_fwk",
170    "samgr:samgr_proxy",
171  ]
172
173  if (has_huks_part) {
174    external_deps += [ "huks:libhukssdk" ]
175  }
176
177  cflags_cc = []
178
179  if (has_user_auth_part) {
180    cflags_cc += [ "-DHAS_USER_AUTH_PART" ]
181    external_deps += [ "user_auth_framework:userauth_client" ]
182  }
183  if (has_ces_part) {
184    cflags_cc += [ "-DHAS_CES_PART" ]
185    external_deps += [ "common_event_service:cesfwk_innerkits" ]
186  }
187  if (has_kv_store_part) {
188    external_deps += [ "kv_store:distributeddata_inner" ]
189  }
190  cflags_cc += [ "-DACCOUNT_TEST" ]
191  cflags_cc += [ "-DBUNDLE_ADAPTER_MOCK" ]
192  if (os_account_enable_multiple_os_accounts || use_clang_coverage) {
193    cflags_cc += [ "-DENABLE_MULTIPLE_OS_ACCOUNTS" ]
194  }
195}
196
197ohos_moduletest("domain_account_client_mock_plugin_so_module_test") {
198  module_out_path = module_output_path
199  cflags = [ "-pipe" ]
200
201  include_dirs = [
202    "${app_account_innerkits_native_path}/include",
203    "${os_account_dfx_path}/hidumper_adapter",
204    "${services_path}/accountmgr/include/bundle_manager_adapter",
205    "${services_path}/accountmgr/include/ability_manager_adapter",
206    "${services_path}/accountmgr/include",
207    "${os_account_dfx_path}/hitrace_adapter",
208    "${services_path}/accountmgr/include/account_iam",
209    "${services_path}/accountmgr/include/appaccount",
210    "${services_path}/accountmgr/include/domain_account",
211    "${services_path}/accountmgr/include/osaccount",
212    "${bundle_framework_path}/interfaces/inner_api/appexecfwk_core/include",
213  ]
214  sources = [
215    "${app_account_services_path}/test/mock/common/ability_manager_adapter_mock.cpp",
216    "${app_account_services_path}/test/mock/common/bundle_manager_adapter.cpp",
217    "${os_account_dfx_path}/hidumper_adapter/account_dump_helper.cpp",
218    "${os_account_dfx_path}/hitrace_adapter/hitrace_adapter.cpp",
219    "${services_path}/accountmgr/src/account_iam/account_iam_callback.cpp",
220    "${services_path}/accountmgr/src/account_iam/account_iam_mgr_stub.cpp",
221    "${services_path}/accountmgr/src/account_iam/account_iam_service.cpp",
222    "${services_path}/accountmgr/src/account_iam/inner_account_iam_manager.cpp",
223    "${services_path}/accountmgr/src/appaccount/app_account_control_manager.cpp",
224    "src/domain_account_client_mock_plugin_so_module_test.cpp",
225    "src/mock_domain_get_access_token_callback.cpp",
226    "src/mock_domain_has_domain_info_callback.cpp",
227    "src/mock_domain_so_plugin.cpp",
228  ]
229  sources += account_service_sources
230  configs = [ ":domain_account_frameworks_config_moduletest" ]
231
232  deps = [
233    "${account_iam_framework_path}:account_iam_innerkits",
234    "${common_path}:libaccount_common",
235    "${domain_account_framework_path}:domain_account_innerkits",
236    "${innerkits_native_path}:libaccountkits",
237    "${os_account_innerkits_native_path}:os_account_innerkits",
238    "//third_party/googletest:gmock_main",
239    "//third_party/googletest:gtest_main",
240  ]
241
242  use_exceptions = true
243
244  external_deps = [
245    "ability_base:base",
246    "ability_base:want",
247    "ability_runtime:ability_manager",
248    "ability_runtime:app_manager",
249    "ability_runtime:wantagent_innerkits",
250    "access_token:libaccesstoken_sdk",
251    "access_token:libtokenid_sdk",
252    "access_token:libtokensetproc_shared",
253    "bundle_framework:appexecfwk_base",
254    "bundle_framework:appexecfwk_core",
255    "c_utils:utils",
256    "config_policy:configpolicy_util",
257    "hilog:libhilog",
258    "init:libbegetutil",
259    "ipc:ipc_single",
260    "mbedtls:mbedtls_shared",
261    "os_account:os_account_innerkits",
262    "safwk:system_ability_fwk",
263    "samgr:samgr_proxy",
264  ]
265
266  if (has_huks_part) {
267    external_deps += [ "huks:libhukssdk" ]
268  }
269
270  cflags_cc = []
271
272  if (has_user_auth_part) {
273    cflags_cc += [ "-DHAS_USER_AUTH_PART" ]
274    external_deps += [ "user_auth_framework:userauth_client" ]
275  }
276  if (has_ces_part) {
277    cflags_cc += [ "-DHAS_CES_PART" ]
278    external_deps += [ "common_event_service:cesfwk_innerkits" ]
279  }
280  if (has_kv_store_part) {
281    external_deps += [ "kv_store:distributeddata_inner" ]
282  }
283  cflags_cc += [ "-DACCOUNT_TEST" ]
284  cflags_cc += [ "-DBUNDLE_ADAPTER_MOCK" ]
285  if (os_account_enable_multiple_os_accounts || use_clang_coverage) {
286    cflags_cc += [ "-DENABLE_MULTIPLE_OS_ACCOUNTS" ]
287  }
288}
289
290ohos_moduletest("domain_account_common_module_test") {
291  branch_protector_ret = "pac_ret"
292
293  sanitize = {
294    cfi = true
295    cfi_cross_dso = true
296    debug = false
297  }
298
299  module_out_path = module_output_path
300
301  include_dirs = [ "${domain_account_interfaces_native_path}/include" ]
302  sources = [ "src/domain_account_common_test.cpp" ]
303  configs = [ ":domain_account_frameworks_config_moduletest" ]
304
305  deps = [
306    "${common_path}:libaccount_common",
307    "${domain_account_framework_path}:domain_account_innerkits",
308    "//third_party/googletest:gmock_main",
309    "//third_party/googletest:gtest_main",
310  ]
311
312  external_deps = [
313    "ability_base:want",
314    "c_utils:utils",
315    "hilog:libhilog",
316    "ipc:ipc_single",
317    "os_account:os_account_innerkits",
318  ]
319}
320
321ohos_moduletest("domain_account_plugin_service_test") {
322  branch_protector_ret = "pac_ret"
323
324  sanitize = {
325    cfi = true
326    cfi_cross_dso = true
327    debug = false
328  }
329
330  module_out_path = module_output_path
331
332  include_dirs = [ "${domain_account_interfaces_native_path}/include" ]
333  sources = [
334    "src/domain_account_plugin_service_test.cpp",
335    "src/mock_domain_plugin.cpp",
336  ]
337  configs = [ ":domain_account_frameworks_config_moduletest" ]
338
339  deps = [
340    "${common_path}:libaccount_common",
341    "${domain_account_framework_path}:domain_account_innerkits",
342    "//third_party/googletest:gmock_main",
343    "//third_party/googletest:gtest_main",
344  ]
345
346  external_deps = [
347    "ability_base:base",
348    "ability_base:want",
349    "c_utils:utils",
350    "hilog:libhilog",
351    "ipc:ipc_single",
352    "os_account:os_account_innerkits",
353  ]
354}
355
356ohos_moduletest("domain_account_plugin_stub_test") {
357  branch_protector_ret = "pac_ret"
358
359  sanitize = {
360    cfi = true
361    cfi_cross_dso = true
362    debug = false
363  }
364
365  module_out_path = module_output_path
366
367  include_dirs = [ "${domain_account_interfaces_native_path}/include" ]
368  sources = [ "src/domain_account_plugin_stub_test.cpp" ]
369  configs = [ ":domain_account_frameworks_config_moduletest" ]
370
371  deps = [
372    "${common_path}:libaccount_common",
373    "${domain_account_framework_path}:domain_account_innerkits",
374    "//third_party/googletest:gmock_main",
375    "//third_party/googletest:gtest_main",
376  ]
377
378  external_deps = [
379    "ability_base:want",
380    "c_utils:utils",
381    "hilog:libhilog",
382    "ipc:ipc_single",
383    "os_account:os_account_innerkits",
384  ]
385}
386
387group("moduletest") {
388  testonly = true
389
390  deps = [
391    ":domain_account_client_mock_plugin_so_module_test",
392    ":domain_account_common_module_test",
393    ":domain_account_frameworks_module_mock_test",
394    ":domain_account_plugin_service_test",
395    ":domain_account_plugin_stub_test",
396  ]
397}
398