• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-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("../../../../common/config/common.gni")
16
17module_output_path = "enterprise_device_management/enterprise_device_management"
18
19config("module_private_config") {
20  visibility = [ ":*" ]
21  include_dirs = [ "../" ]
22}
23
24config("edm_config") {
25  visibility = [ ":*" ]
26  include_dirs = [
27    "../../../../services/edm/include",
28    "../../../../services/edm/include/connection",
29    "../../../../services/edm/include/database",
30    "../../../../services/edm/include/persistent_plugin/watermark",
31    "../../../../services/edm/include/query_policy",
32    "../../../../services/edm/include/strategy",
33    "../../../../services/edm_plugin/include",
34    "../../../../services/edm_plugin/include/utils",
35    "../../../../framework/extension/include",
36  ]
37}
38
39ohos_static_library("edmservice_static") {
40  testonly = true
41  sources = [
42    "../../../../services/edm/src/admin.cpp",
43    "../../../../services/edm/src/admin_manager.cpp",
44    "../../../../services/edm/src/admin_policies_storage_rdb.cpp",
45    "../../../../services/edm/src/application_state_observer.cpp",
46    "../../../../services/edm/src/clipboard_utils.cpp",
47    "../../../../services/edm/src/connection/enterprise_account_connection.cpp",
48    "../../../../services/edm/src/connection/enterprise_admin_connection.cpp",
49    "../../../../services/edm/src/connection/enterprise_admin_proxy.cpp",
50    "../../../../services/edm/src/connection/enterprise_bundle_connection.cpp",
51    "../../../../services/edm/src/connection/enterprise_conn_manager.cpp",
52    "../../../../services/edm/src/connection/enterprise_update_connection.cpp",
53    "../../../../services/edm/src/database/edm_rdb_data_manager.cpp",
54    "../../../../services/edm/src/database/edm_rdb_open_callback.cpp",
55    "../../../../services/edm/src/device_policies_storage_rdb.cpp",
56    "../../../../services/edm/src/enterprise_device_mgr_ability.cpp",
57    "../../../../services/edm/src/enterprise_device_mgr_stub.cpp",
58    "../../../../services/edm/src/permission_checker.cpp",
59    "../../../../services/edm/src/permission_manager.cpp",
60    "../../../../services/edm/src/plugin_manager.cpp",
61    "../../../../services/edm/src/policy_manager.cpp",
62    "../../../../services/edm/src/query_policy/allowed_install_bundles_query.cpp",
63    "../../../../services/edm/src/query_policy/disallow_modify_datetime_query.cpp",
64    "../../../../services/edm/src/query_policy/disallowed_install_bundles_query.cpp",
65    "../../../../services/edm/src/query_policy/disallowed_tethering_query.cpp",
66    "../../../../services/edm/src/query_policy/disallowed_uninstall_bundles_query.cpp",
67    "../../../../services/edm/src/query_policy/get_device_encryption_status_query.cpp",
68    "../../../../services/edm/src/query_policy/get_display_version_query.cpp",
69    "../../../../services/edm/src/query_policy/get_security_patch_tag_query.cpp",
70    "../../../../services/edm/src/query_policy/inactive_user_freeze_query.cpp",
71    "../../../../services/edm/src/query_policy/ipolicy_query.cpp",
72    "../../../../services/edm/src/query_policy/ntp_server_query.cpp",
73    "../../../../services/edm/src/query_policy/password_policy_query.cpp",
74    "../../../../services/edm/src/query_policy/plugin_policy_reader.cpp",
75    "../../../../services/edm/src/query_policy/snapshot_skip_query.cpp",
76    "../../../../services/edm/src/strategy/enhance_execute_strategy.cpp",
77    "../../../../services/edm/src/strategy/replace_execute_strategy.cpp",
78    "../../../../services/edm/src/strategy/single_execute_strategy.cpp",
79    "../../../../services/edm/src/user_policy_manager.cpp",
80    "../../../../services/edm_plugin/src/utils/usb_policy_utils.cpp",
81  ]
82
83  public_configs = [
84    ":edm_config",
85    "../../../../common/config:coverage_flags",
86  ]
87
88  defines = []
89
90  if (target_cpu == "arm64") {
91    defines += [ "_ARM64_" ]
92    print("defines _ARM64_")
93  }
94
95  if (target_cpu == "x86_64") {
96    defines += [ "_X86_64_" ]
97    print("defines _X86_64_")
98  }
99
100  if (wifi_edm_enable) {
101    sources += [
102      "../../../../services/edm/src/query_policy/set_wifi_disabled_query.cpp",
103    ]
104  }
105
106  if (drivers_interface_usb_edm_enable && storage_service_edm_enable &&
107      usb_manager_edm_enable) {
108    sources +=
109        [ "../../../../services/edm/src/query_policy/usb_read_only_query.cpp" ]
110  }
111
112  if (location_edm_enable) {
113    sources += [
114      "../../../../services/edm/src/query_policy/location_policy_query.cpp",
115    ]
116  }
117
118  if (useriam_edm_enable) {
119    sources += [
120      "../../../../services/edm/src/query_policy/fingerprint_auth_query.cpp",
121    ]
122  }
123
124  if (ability_runtime_edm_enable) {
125    sources += [ "../../../../services/edm/src/query_policy/disallowed_running_bundles_query.cpp" ]
126  }
127
128  if (bluetooth_edm_enable) {
129    sources += [
130      "../../../../services/edm/src/query_policy/allowed_bluetooth_devices_query.cpp",
131      "../../../../services/edm/src/query_policy/disable_bluetooth_query.cpp",
132    ]
133  }
134
135  if (camera_framework_edm_enable) {
136    sources +=
137        [ "../../../../services/edm/src/query_policy/disable_camera_query.cpp" ]
138  }
139
140  if (audio_framework_edm_enable) {
141    sources += [
142      "../../../../services/edm/src/query_policy/disable_hdc_query.cpp",
143      "../../../../services/edm/src/query_policy/disable_microphone_query.cpp",
144      "../../../../services/edm/src/query_policy/disable_printer_query.cpp",
145    ]
146  }
147
148  if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
149    sources += [
150      "../../../../services/edm/src/query_policy/allowed_usb_devices_query.cpp",
151      "../../../../services/edm/src/query_policy/disable_usb_query.cpp",
152    ]
153  }
154
155  if (pasteboard_edm_enable) {
156    sources += [
157      "../../../../services/edm/src/query_policy/clipboard_policy_query.cpp",
158    ]
159  }
160
161  if (common_event_service_edm_enable) {
162    defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
163    sources += [ "../../../../services/edm/src/query_policy/set_browser_policies_query.cpp" ]
164  }
165
166  external_deps = [
167    "ability_base:want",
168    "ability_runtime:app_manager",
169    "ability_runtime:extension_manager",
170    "access_token:libaccesstoken_sdk",
171    "access_token:libtokenid_sdk",
172    "bundle_framework:appexecfwk_base",
173    "cJSON:cjson",
174    "c_utils:utils",
175    "common_event_service:cesfwk_innerkits",
176    "file_api:securitylabel",
177    "graphic_2d:librender_service_client",
178    "hilog:libhilog",
179    "init:libbegetutil",
180    "ipc:ipc_core",
181    "jsoncpp:jsoncpp",
182    "pasteboard:pasteboard_client",
183    "relational_store:native_rdb",
184    "safwk:system_ability_fwk",
185    "samgr:samgr_proxy",
186    "window_manager:libwm",
187    "window_manager:sms",
188  ]
189
190  if (os_account_edm_enable) {
191    external_deps += [
192      "os_account:libaccountkits",
193      "os_account:os_account_innerkits",
194    ]
195
196    sources += [
197      "../../../../services/edm/src/persistent_plugin/watermark/set_watermark_image_plugin.cpp",
198      "../../../../services/edm/src/persistent_plugin/watermark/watermark_application_observer.cpp",
199      "../../../../services/edm/src/persistent_plugin/watermark/watermark_image_serializer.cpp",
200      "../../../../services/edm/src/query_policy/disable_mtp_client_query.cpp",
201      "../../../../services/edm/src/query_policy/disable_mtp_server_query.cpp",
202      "../../../../services/edm/src/query_policy/disallow_add_local_account_query.cpp",
203    ]
204  }
205
206  if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
207    external_deps += [ "usb_manager:usbsrv_client" ]
208  }
209
210  deps = [
211    "../../../../common/external:edm_external_adapters",
212    "../../../../common/native:edm_commom",
213    "../../../../interfaces/inner_api:edmservice_kits",
214    "../../../../interfaces/inner_api/plugin_kits:plugin_kits",
215  ]
216
217  sanitize = {
218    boundary_sanitize = true
219    cfi = true
220    cfi_cross_dso = true
221    debug = false
222    integer_overflow = true
223    ubsan = true
224  }
225  branch_protector_ret = "pac_ret"
226  subsystem_name = "customization"
227  part_name = "enterprise_device_management"
228}
229
230ohos_unittest("EdmServicesUnitTest") {
231  module_out_path = module_output_path
232
233  include_dirs = [
234    "./include",
235    "./include/mock",
236    "../../common/mock/include",
237    "../../external_mock/include",
238    "../../../../interfaces/inner_api/plugin_kits/include/utils",
239  ]
240
241  sources = [
242    "./src/admin_manager_test.cpp",
243    "./src/admin_test.cpp",
244    "./src/clipboard_utils_test.cpp",
245    "./src/device_policies_storage_rdb_test.cpp",
246    "./src/enhance_execute_strategy_test.cpp",
247    "./src/enterprise_account_connection_test.cpp",
248    "./src/enterprise_admin_connection_test.cpp",
249    "./src/enterprise_bundle_connection_test.cpp",
250    "./src/enterprise_conn_manager_test.cpp",
251    "./src/enterprise_device_mgr_ability_test.cpp",
252    "./src/enterprise_update_connection_test.cpp",
253    "./src/iplugin_template_test.cpp",
254    "./src/permission_checker_test.cpp",
255    "./src/permission_manager_test.cpp",
256    "./src/plugin_manager_test.cpp",
257    "./src/plugin_policy_query_test.cpp",
258    "./src/policy_manager_test.cpp",
259    "./src/replace_execute_strategy_test.cpp",
260    "./src/single_execute_strategy_test.cpp",
261    "./src/user_policy_manager_test.cpp",
262  ]
263
264  defines = []
265  if (common_event_service_edm_enable) {
266    defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
267  }
268
269  configs = [
270    ":module_private_config",
271    "../../../../common/config:coverage_flags",
272  ]
273
274  deps = [
275    ":edmservice_static",
276    "../../../../common/external:edm_external_adapters",
277    "../../../../common/native:edm_commom",
278    "../../../../interfaces/inner_api:edmservice_kits",
279    "../../../../interfaces/inner_api/plugin_kits:plugin_kits",
280    "../../utils:edm_unittest_utils",
281  ]
282
283  external_deps = [
284    "ability_base:want",
285    "ability_runtime:ability_manager",
286    "access_token:libaccesstoken_sdk",
287    "access_token:libnativetoken",
288    "access_token:libtoken_setproc",
289    "bundle_framework:appexecfwk_core",
290    "cJSON:cjson",
291    "c_utils:utils",
292    "common_event_service:cesfwk_innerkits",
293    "file_api:securitylabel",
294    "googletest:gmock_main",
295    "hilog:libhilog",
296    "ipc:ipc_core",
297    "jsoncpp:jsoncpp",
298    "safwk:system_ability_fwk",
299    "samgr:samgr_proxy",
300    "window_manager:sms",
301  ]
302
303  if (os_account_edm_enable) {
304    external_deps += [
305      "os_account:libaccountkits",
306      "os_account:os_account_innerkits",
307    ]
308    defines += [ "OS_ACCOUNT_EDM_ENABLE" ]
309  }
310
311  sanitize = {
312    boundary_sanitize = true
313    cfi = true
314    cfi_cross_dso = true
315    debug = false
316    integer_overflow = true
317    ubsan = true
318    blocklist = "../../cfi_blocklist.txt"
319  }
320  branch_protector_ret = "pac_ret"
321  subsystem_name = "customization"
322  part_name = "enterprise_device_management"
323}
324
325group("unittest") {
326  testonly = true
327
328  deps = [
329    # deps file
330    ":EdmServicesUnitTest",
331  ]
332}
333