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("../../../access_token.gni")
16
17if (is_standard_system && ability_base_enable == true) {
18  ohos_unittest("el5_filekey_manager_service_mock_unittest") {
19    subsystem_name = "security"
20    part_name = "access_token"
21    module_out_path = part_name + "/" + part_name
22    sanitize = {
23      cfi = true
24      cfi_cross_dso = true
25      debug = false
26    }
27    branch_protector_ret = "pac_ret"
28
29    include_dirs = [
30      "../include",
31      "mock/include",
32      "include",
33      "${access_token_path}/frameworks/el5filekeymanager/include/",
34    ]
35
36    sources = [
37      "../src/el5_filekey_manager_service.cpp",
38      "../src/el5_filekey_manager_stub.cpp",
39      "mock/src/mock_ipc.cpp",
40      "src/el5_filekey_manager_service_mock_unittest.cpp",
41    ]
42
43    configs = [ "${access_token_path}/config:coverage_flags" ]
44
45    deps = [
46      "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk",
47      "${access_token_path}/interfaces/innerkits/accesstoken:libtokenid_sdk",
48      "${access_token_path}/interfaces/innerkits/el5filekeymanager:el5_filekey_manager_sdk",
49      "${access_token_path}/interfaces/innerkits/token_setproc:libtoken_setproc",
50      "//third_party/googletest:gtest_main",
51    ]
52
53    external_deps = [
54      "ability_base:want",
55      "c_utils:utils",
56      "hilog:libhilog",
57      "ipc:ipc_single",
58      "safwk:system_ability_fwk",
59      "samgr:samgr_proxy",
60    ]
61
62    cflags_cc = [
63      "-DHILOG_ENABLE",
64      "-DDEBUG_API_PERFORMANCE",
65    ]
66
67    if (common_event_service_enable) {
68      cflags_cc += [ "-DCOMMON_EVENT_SERVICE_ENABLE" ]
69      external_deps += [ "common_event_service:cesfwk_innerkits" ]
70      sources += [ "../src/el5_filekey_manager_subscriber.cpp" ]
71    }
72
73    if (eventhandler_enable == true) {
74      cflags_cc += [ "-DEVENTHANDLER_ENABLE" ]
75      external_deps += [ "eventhandler:libeventhandler" ]
76    }
77
78    if (theme_screenlock_mgr_enable) {
79      cflags_cc += [ "-DTHEME_SCREENLOCK_MGR_ENABLE" ]
80      external_deps += [ "screenlock_mgr:screenlock_client" ]
81    }
82  }
83
84  ohos_unittest("el5_filekey_manager_service_unittest") {
85    subsystem_name = "security"
86    part_name = "access_token"
87    module_out_path = part_name + "/" + part_name
88    sanitize = {
89      cfi = true
90      cfi_cross_dso = true
91      debug = false
92    }
93    branch_protector_ret = "pac_ret"
94
95    include_dirs = [
96      "../include",
97      "include",
98      "${access_token_path}/frameworks/el5filekeymanager/include/",
99    ]
100
101    sources = [
102      "../src/el5_filekey_manager_service.cpp",
103      "../src/el5_filekey_manager_stub.cpp",
104      "src/el5_filekey_manager_service_unittest.cpp",
105    ]
106
107    configs = [ "${access_token_path}/config:coverage_flags" ]
108
109    deps = [
110      "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk",
111      "${access_token_path}/interfaces/innerkits/accesstoken:libtokenid_sdk",
112      "${access_token_path}/interfaces/innerkits/el5filekeymanager:el5_filekey_manager_sdk",
113      "${access_token_path}/interfaces/innerkits/token_setproc:libtoken_setproc",
114      "//third_party/googletest:gtest_main",
115    ]
116
117    external_deps = [
118      "ability_base:want",
119      "c_utils:utils",
120      "hilog:libhilog",
121      "ipc:ipc_single",
122      "safwk:system_ability_fwk",
123      "samgr:samgr_proxy",
124    ]
125
126    cflags_cc = [
127      "-DHILOG_ENABLE",
128      "-DDEBUG_API_PERFORMANCE",
129    ]
130
131    if (common_event_service_enable) {
132      cflags_cc += [ "-DCOMMON_EVENT_SERVICE_ENABLE" ]
133      external_deps += [ "common_event_service:cesfwk_innerkits" ]
134      sources += [ "../src/el5_filekey_manager_subscriber.cpp" ]
135    }
136
137    if (eventhandler_enable == true) {
138      cflags_cc += [ "-DEVENTHANDLER_ENABLE" ]
139      external_deps += [ "eventhandler:libeventhandler" ]
140    }
141
142    if (theme_screenlock_mgr_enable) {
143      cflags_cc += [ "-DTHEME_SCREENLOCK_MGR_ENABLE" ]
144      external_deps += [ "screenlock_mgr:screenlock_client" ]
145    }
146  }
147
148  ohos_unittest("el5_filekey_manager_stub_unittest") {
149    subsystem_name = "security"
150    part_name = "access_token"
151    module_out_path = part_name + "/" + part_name
152    sanitize = {
153      cfi = true
154      cfi_cross_dso = true
155      debug = false
156    }
157    branch_protector_ret = "pac_ret"
158
159    include_dirs = [
160      "../include",
161      "include",
162      "${access_token_path}/frameworks/el5filekeymanager/include/",
163    ]
164
165    sources = [
166      "../src/el5_filekey_manager_service.cpp",
167      "../src/el5_filekey_manager_stub.cpp",
168      "src/el5_filekey_manager_stub_unittest.cpp",
169    ]
170
171    configs = [ "${access_token_path}/config:coverage_flags" ]
172
173    deps = [
174      "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk",
175      "${access_token_path}/interfaces/innerkits/accesstoken:libtokenid_sdk",
176      "${access_token_path}/interfaces/innerkits/el5filekeymanager:el5_filekey_manager_sdk",
177      "${access_token_path}/interfaces/innerkits/token_setproc:libtoken_setproc",
178      "//third_party/googletest:gtest_main",
179    ]
180
181    external_deps = [
182      "ability_base:want",
183      "c_utils:utils",
184      "hilog:libhilog",
185      "ipc:ipc_single",
186      "safwk:system_ability_fwk",
187      "samgr:samgr_proxy",
188    ]
189
190    cflags_cc = [
191      "-DHILOG_ENABLE",
192      "-DDEBUG_API_PERFORMANCE",
193    ]
194
195    if (common_event_service_enable) {
196      cflags_cc += [ "-DCOMMON_EVENT_SERVICE_ENABLE" ]
197      external_deps += [ "common_event_service:cesfwk_innerkits" ]
198      sources += [ "../src/el5_filekey_manager_subscriber.cpp" ]
199    }
200
201    if (eventhandler_enable == true) {
202      cflags_cc += [ "-DEVENTHANDLER_ENABLE" ]
203      external_deps += [ "eventhandler:libeventhandler" ]
204    }
205
206    if (theme_screenlock_mgr_enable) {
207      cflags_cc += [ "-DTHEME_SCREENLOCK_MGR_ENABLE" ]
208      external_deps += [ "screenlock_mgr:screenlock_client" ]
209    }
210  }
211
212  group("unittest") {
213    testonly = true
214    deps = [
215      ":el5_filekey_manager_service_mock_unittest",
216      ":el5_filekey_manager_service_unittest",
217      ":el5_filekey_manager_stub_unittest",
218    ]
219  }
220}
221