1# Copyright (c) 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("../../../../dlp_permission_service.gni")
16
17ohos_unittest("dlp_permission_service_test") {
18  branch_protector_ret = "pac_ret"
19
20  sanitize = {
21    cfi = true
22    cfi_cross_dso = true
23    debug = false
24  }
25
26  subsystem_name = "security"
27  part_name = "dlp_permission_service"
28  module_out_path = part_name + "/" + part_name
29
30  include_dirs = [
31    "${dlp_root_dir}/services/dlp_permission/sa/adapt",
32    "${dlp_root_dir}/services/dlp_permission/sa/mock",
33    "${dlp_root_dir}/services/dlp_permission/sa/sa_main",
34    "${dlp_root_dir}/services/dlp_permission/sa/sa_common",
35    "${dlp_root_dir}/services/dlp_permission/sa/storage/include",
36    "${dlp_root_dir}/services/dlp_permission/sa/callback/dlp_sandbox_change_callback/",
37    "${dlp_root_dir}/services/dlp_permission/sa/callback/open_dlp_file_callback/",
38    "${dlp_root_dir}/frameworks/common/include",
39    "${dlp_root_dir}/frameworks/dlp_permission/include",
40    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/include",
41    "${dlp_root_dir}/services/dlp_permission/sa/test/unittest/src",
42  ]
43
44  sources = [
45    "${dlp_root_dir}/frameworks/common/src/cert_parcel.cpp",
46    "${dlp_root_dir}/frameworks/common/src/permission_policy.cpp",
47    "${dlp_root_dir}/frameworks/common/src/retention_sandbox_info.cpp",
48    "${dlp_root_dir}/frameworks/common/src/visited_dlp_file_info.cpp",
49    "${dlp_root_dir}/frameworks/dlp_permission/src/auth_user_info_parcel.cpp",
50    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_permission_info_parcel.cpp",
51    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_policy_parcel.cpp",
52    "${dlp_root_dir}/frameworks/dlp_permission/src/dlp_sandbox_callback_info_parcel.cpp",
53    "${dlp_root_dir}/frameworks/dlp_permission/src/open_dlp_file_callback_info_parcel.cpp",
54    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/src/dlp_sandbox_change_callback_stub.cpp",
55    "${dlp_root_dir}/interfaces/inner_api/dlp_permission/src/open_dlp_file_callback_stub.cpp",
56    "${dlp_root_dir}/services/dlp_permission/sa/adapt/account_adapt.cpp",
57    "${dlp_root_dir}/services/dlp_permission/sa/adapt/app_state_observer.cpp",
58    "${dlp_root_dir}/services/dlp_permission/sa/adapt/app_uninstall_observer.cpp",
59    "${dlp_root_dir}/services/dlp_permission/sa/adapt/file_operator.cpp",
60    "${dlp_root_dir}/services/dlp_permission/sa/adapt/retention_file_manager.cpp",
61    "${dlp_root_dir}/services/dlp_permission/sa/adapt/sandbox_json_manager.cpp",
62    "${dlp_root_dir}/services/dlp_permission/sa/adapt/visit_record_file_manager.cpp",
63    "${dlp_root_dir}/services/dlp_permission/sa/adapt/visit_record_json_manager.cpp",
64    "${dlp_root_dir}/services/dlp_permission/sa/callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_death_recipient.cpp",
65    "${dlp_root_dir}/services/dlp_permission/sa/callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_manager.cpp",
66    "${dlp_root_dir}/services/dlp_permission/sa/callback/dlp_sandbox_change_callback/dlp_sandbox_change_callback_proxy.cpp",
67    "${dlp_root_dir}/services/dlp_permission/sa/callback/open_dlp_file_callback/open_dlp_file_callback_death_recipient.cpp",
68    "${dlp_root_dir}/services/dlp_permission/sa/callback/open_dlp_file_callback/open_dlp_file_callback_manager.cpp",
69    "${dlp_root_dir}/services/dlp_permission/sa/callback/open_dlp_file_callback/open_dlp_file_callback_proxy.cpp",
70    "${dlp_root_dir}/services/dlp_permission/sa/mock/dlp_credential_service.c",
71    "${dlp_root_dir}/services/dlp_permission/sa/mock/mock_utils.cpp",
72    "${dlp_root_dir}/services/dlp_permission/sa/sa_common/bundle_manager_adapter.cpp",
73    "${dlp_root_dir}/services/dlp_permission/sa/sa_main/dlp_credential.cpp",
74    "${dlp_root_dir}/services/dlp_permission/sa/sa_main/dlp_permission_async_proxy.cpp",
75    "${dlp_root_dir}/services/dlp_permission/sa/sa_main/dlp_permission_service.cpp",
76    "${dlp_root_dir}/services/dlp_permission/sa/sa_main/dlp_permission_stub.cpp",
77    "${dlp_root_dir}/services/dlp_permission/sa/storage/src/dlp_kv_data_storage.cpp",
78    "${dlp_root_dir}/services/dlp_permission/sa/storage/src/sandbox_config_kv_data_storage.cpp",
79    "unittest/src/account_adapt_test.cpp",
80    "unittest/src/app_state_observer_test.cpp",
81    "unittest/src/dlp_bundle_adapter_test.cpp",
82    "unittest/src/dlp_callback_test.cpp",
83    "unittest/src/dlp_cert_parcel_test.cpp",
84    "unittest/src/dlp_credential_test.cpp",
85    "unittest/src/dlp_kv_storage_test.cpp",
86    "unittest/src/dlp_parcel_test.cpp",
87    "unittest/src/dlp_permission_serializer_test.cpp",
88    "unittest/src/dlp_permission_service_test.cpp",
89    "unittest/src/hex_string_test.cpp",
90    "unittest/src/permission_policy_test.cpp",
91    "unittest/src/retention_file_manager_test.cpp",
92    "unittest/src/sandbox_json_manager_test.cpp",
93  ]
94
95  configs = [ "${dlp_root_dir}/config:coverage_flags" ]
96
97  cflags_cc = [
98    "-DHILOG_ENABLE",
99    "-DDLP_UNIT_TEST",
100  ]
101  cflags = [ "-DHILOG_ENABLE" ]
102
103  deps = [
104    "${dlp_root_dir}/interfaces/inner_api/dlp_permission:libdlp_permission_sdk",
105    "${dlp_root_dir}/services/dlp_permission/sa:dlp_hex_string_static",
106    "${dlp_root_dir}/services/dlp_permission/sa:dlp_permission_serializer_static",
107    "${dlp_root_dir}/services/dlp_permission/sa:dlp_permission_service.rc",
108  ]
109
110  external_deps = [
111    "ability_base:want",
112    "ability_runtime:app_manager",
113    "access_token:libaccesstoken_sdk",
114    "bundle_framework:appexecfwk_base",
115    "bundle_framework:appexecfwk_core",
116    "c_utils:utils",
117    "common_event_service:cesfwk_core",
118    "common_event_service:cesfwk_innerkits",
119    "config_policy:configpolicy_util",
120    "hilog:libhilog",
121    "hisysevent:libhisysevent",
122    "init:libbegetutil",
123    "ipc:ipc_core",
124    "json:nlohmann_json_static",
125    "kv_store:distributeddata_inner",
126    "openssl:libcrypto_shared",
127    "os_account:libaccountkits",
128    "os_account:os_account_innerkits",
129    "safwk:system_ability_fwk",
130    "samgr:samgr_proxy",
131  ]
132}
133
134group("unittest") {
135  testonly = true
136  deps = [ ":dlp_permission_service_test" ]
137}
138