• 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/query_policy",
31    "../../../../services/edm/include/strategy",
32    "../../../../services/edm/include/watermark",
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_container.cpp",
44    "../../../../services/edm/src/admin_manager.cpp",
45    "../../../../services/edm/src/admin_policies_storage_rdb.cpp",
46    "../../../../services/edm/src/application_state_observer.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_kiosk_connection.cpp",
53    "../../../../services/edm/src/connection/enterprise_update_connection.cpp",
54    "../../../../services/edm/src/database/edm_rdb_data_manager.cpp",
55    "../../../../services/edm/src/database/edm_rdb_open_callback.cpp",
56    "../../../../services/edm/src/device_policies_storage_rdb.cpp",
57    "../../../../services/edm/src/enterprise_device_mgr_ability.cpp",
58    "../../../../services/edm/src/enterprise_device_mgr_stub.cpp",
59    "../../../../services/edm/src/hisysevent_adapter.cpp",
60    "../../../../services/edm/src/permission_checker.cpp",
61    "../../../../services/edm/src/permission_manager.cpp",
62    "../../../../services/edm/src/plugin_manager.cpp",
63    "../../../../services/edm/src/policy_manager.cpp",
64    "../../../../services/edm/src/query_policy/allowed_app_distribution_types_query.cpp",
65    "../../../../services/edm/src/query_policy/allowed_install_bundles_query.cpp",
66    "../../../../services/edm/src/query_policy/disable_backup_and_restore_query.cpp",
67    "../../../../services/edm/src/query_policy/disable_set_biometrics_and_screenLock_query.cpp",
68    "../../../../services/edm/src/query_policy/disable_set_device_name_query.cpp",
69    "../../../../services/edm/src/query_policy/disallow_export_recovery_key_query.cpp",
70    "../../../../services/edm/src/query_policy/disallow_distributed_transmission_query.cpp",
71    "../../../../services/edm/src/query_policy/disallow_modify_apn_query.cpp",
72    "../../../../services/edm/src/query_policy/disallow_modify_datetime_query.cpp",
73    "../../../../services/edm/src/query_policy/disallowed_install_bundles_query.cpp",
74    "../../../../services/edm/src/query_policy/disallowed_tethering_query.cpp",
75    "../../../../services/edm/src/query_policy/disallowed_uninstall_bundles_query.cpp",
76    "../../../../services/edm/src/query_policy/get_auto_unlock_after_reboot_query.cpp",
77    "../../../../services/edm/src/query_policy/get_device_encryption_status_query.cpp",
78    "../../../../services/edm/src/query_policy/get_display_version_query.cpp",
79    "../../../../services/edm/src/query_policy/get_security_patch_tag_query.cpp",
80    "../../../../services/edm/src/query_policy/inactive_user_freeze_query.cpp",
81    "../../../../services/edm/src/query_policy/installed_bundle_info_list_query.cpp",
82    "../../../../services/edm/src/query_policy/ipolicy_query.cpp",
83    "../../../../services/edm/src/query_policy/is_app_kiosk_allowed_query.cpp",
84    "../../../../services/edm/src/query_policy/ntp_server_query.cpp",
85    "../../../../services/edm/src/query_policy/password_policy_query.cpp",
86    "../../../../services/edm/src/query_policy/plugin_policy_reader.cpp",
87    "../../../../services/edm/src/query_policy/snapshot_skip_query.cpp",
88    "../../../../services/edm/src/strategy/enhance_execute_strategy.cpp",
89    "../../../../services/edm/src/strategy/replace_execute_strategy.cpp",
90    "../../../../services/edm/src/strategy/single_execute_strategy.cpp",
91    "../../../../services/edm/src/user_policy_manager.cpp",
92    "../../../../services/edm_plugin/src/utils/usb_policy_utils.cpp",
93    "../../../../services/edm/src/query_policy/disallowed_sms_query.cpp",
94    "../../../../services/edm/src/query_policy/disallowed_mms_query.cpp",
95  ]
96
97  public_configs = [
98    ":edm_config",
99    "../../../../common/config:coverage_flags",
100  ]
101
102  defines = []
103
104  if (target_cpu == "arm64") {
105    defines += [ "_ARM64_" ]
106    print("defines _ARM64_")
107  }
108
109  if (target_cpu == "x86_64") {
110    defines += [ "_X86_64_" ]
111    print("defines _X86_64_")
112  }
113
114  if (wifi_edm_enable) {
115    sources += [
116      "../../../../services/edm/src/query_policy/allowed_wifi_list_query.cpp",
117      "../../../../services/edm/src/query_policy/disallowed_wifi_list_query.cpp",
118      "../../../../services/edm/src/query_policy/set_wifi_disabled_query.cpp",
119    ]
120  }
121
122  if (drivers_interface_usb_edm_enable && storage_service_edm_enable &&
123      usb_manager_edm_enable) {
124    sources +=
125        [ "../../../../services/edm/src/query_policy/usb_read_only_query.cpp" ]
126  }
127
128  if (location_edm_enable) {
129    sources += [
130      "../../../../services/edm/src/query_policy/location_policy_query.cpp",
131    ]
132  }
133
134  if (useriam_edm_enable) {
135    sources += [
136      "../../../../services/edm/src/query_policy/fingerprint_auth_query.cpp",
137    ]
138  }
139
140  if (ability_runtime_edm_enable) {
141    sources += [ "../../../../services/edm/src/query_policy/disallowed_running_bundles_query.cpp" ]
142  }
143
144  if (bluetooth_edm_enable) {
145    sources += [
146      "../../../../services/edm/src/query_policy/allowed_bluetooth_devices_query.cpp",
147      "../../../../services/edm/src/query_policy/disable_bluetooth_query.cpp",
148      "../../../../services/edm/src/query_policy/disallowed_bluetooth_devices_query.cpp",
149    ]
150  }
151
152  if (camera_framework_edm_enable) {
153    sources +=
154        [ "../../../../services/edm/src/query_policy/disable_camera_query.cpp" ]
155  }
156
157  if (audio_framework_edm_enable) {
158    sources += [
159      "../../../../services/edm/src/query_policy/disable_hdc_query.cpp",
160      "../../../../services/edm/src/query_policy/disable_microphone_query.cpp",
161      "../../../../services/edm/src/query_policy/disable_printer_query.cpp",
162    ]
163  }
164
165  if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
166    sources += [
167      "../../../../services/edm/src/query_policy/allowed_usb_devices_query.cpp",
168      "../../../../services/edm/src/query_policy/disable_usb_query.cpp",
169    ]
170  }
171
172  if (pasteboard_edm_enable) {
173    sources += [
174      "../../../../services/edm/src/query_policy/clipboard_policy_query.cpp",
175    ]
176  }
177
178  sources += [
179      "../../../../services/edm/src/query_policy/permission_managed_state_query.cpp",
180    ]
181
182  if (common_event_service_edm_enable) {
183    defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
184    sources += [ "../../../../services/edm/src/query_policy/set_browser_policies_query.cpp" ]
185  }
186
187  if (power_manager_edm_enable && !enterprise_device_management_feature_pc_only) {
188    sources += [ "../../../../services/edm/src/query_policy/disallow_power_long_press_query.cpp" ]
189  }
190
191  if (netmanager_base_edm_enable) {
192    sources += [ "../../../../services/edm/src/query_policy/disallowed_airplane_mode_query.cpp" ]
193  }
194
195  if (notification_edm_enable) {
196    sources += [
197      "../../../../services/edm/src/query_policy/disallowed_notification_query.cpp",
198    ]
199  }
200
201  external_deps = [
202    "ability_base:want",
203    "ability_runtime:app_manager",
204    "ability_runtime:extension_manager",
205    "access_token:libaccesstoken_sdk",
206    "access_token:libtokenid_sdk",
207    "bundle_framework:appexecfwk_base",
208    "cJSON:cjson",
209    "c_utils:utils",
210    "common_event_service:cesfwk_innerkits",
211    "file_api:securitylabel",
212    "graphic_2d:librender_service_client",
213    "hilog:libhilog",
214    "hisysevent:libhisysevent",
215    "init:libbegetutil",
216    "ipc:ipc_core",
217    "pasteboard:pasteboard_client",
218    "relational_store:native_rdb",
219    "safwk:system_ability_fwk",
220    "samgr:samgr_proxy",
221    "window_manager:libwm",
222    "window_manager:sms",
223  ]
224
225  if (os_account_edm_enable) {
226    external_deps += [
227      "os_account:libaccountkits",
228      "os_account:os_account_innerkits",
229    ]
230
231    sources += [
232      "../../../../services/edm/src/query_policy/disable_maintenance_mode_query.cpp",
233      "../../../../services/edm/src/query_policy/disable_mtp_client_query.cpp",
234      "../../../../services/edm/src/query_policy/disable_mtp_server_query.cpp",
235      "../../../../services/edm/src/query_policy/disable_user_mtp_client_query.cpp",
236      "../../../../services/edm/src/query_policy/disable_samba_client_query.cpp",
237      "../../../../services/edm/src/query_policy/disable_samba_server_query.cpp",
238      "../../../../services/edm/src/query_policy/disallow_add_local_account_query.cpp",
239      "../../../../services/edm/src/watermark/watermark_application_observer.cpp",
240      "../../../../services/edm/src/watermark/watermark_observer_manager.cpp",
241    ]
242  }
243
244  if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
245    external_deps += [ "usb_manager:usbsrv_client" ]
246  }
247
248  if (os_account_edm_enable && enterprise_device_management_feature_pc_only) {
249    external_deps += [
250      "os_account:libaccountkits",
251      "os_account:os_account_innerkits",
252    ]
253
254    sources += [
255      "../../../../services/edm/src/query_policy/disable_print_query.cpp",
256      "../../../../services/edm/src/query_policy/disable_sudo_query.cpp",
257    ]
258    defines += [
259      "FEATURE_PC_ONLY",
260      "SUDO_EDM_ENABLE"
261    ]
262  }
263
264  if (enterprise_device_management_feature_pc_only) {
265      sources += [
266        "../../../../services/edm/src/query_policy/disable_usb_storage_device_write_query.cpp",
267        "../../../../services/edm/src/query_policy/install_local_enterprise_app_enabled_query.cpp",
268      ]
269      defines += [ "FEATURE_PC_ONLY" ]
270  }
271
272  if (netmanager_ext_edm_enable) {
273    sources += [
274      "../../../../services/edm/src/query_policy/disallow_vpn_query.cpp",
275    ]
276  }
277
278  deps = [
279    "../../../../common/external:edm_external_adapters",
280    "../../../../common/native:edm_commom",
281    "../../../../interfaces/inner_api:edmservice_kits",
282    "../../../../interfaces/inner_api/plugin_kits:plugin_kits",
283    "../../../../services/idl:enterprise_device_mgr_idl_stub",
284  ]
285
286  sanitize = {
287    boundary_sanitize = true
288    cfi = true
289    cfi_cross_dso = true
290    debug = false
291    integer_overflow = true
292    ubsan = true
293  }
294  branch_protector_ret = "pac_ret"
295  subsystem_name = "customization"
296  part_name = "enterprise_device_management"
297}
298
299ohos_unittest("EdmServicesUnitTest") {
300  module_out_path = module_output_path
301
302  include_dirs = [
303    "./include",
304    "./include/mock",
305    "../../common/mock/include",
306    "../../external_mock/include",
307    "../../../../interfaces/inner_api/plugin_kits/include/utils",
308  ]
309
310  sources = [
311    "./src/admin_container_test.cpp",
312    "./src/admin_manager_test.cpp",
313    "./src/admin_test.cpp",
314    "./src/device_policies_storage_rdb_test.cpp",
315    "./src/enhance_execute_strategy_test.cpp",
316    "./src/enterprise_account_connection_test.cpp",
317    "./src/enterprise_admin_connection_test.cpp",
318    "./src/enterprise_bundle_connection_test.cpp",
319    "./src/enterprise_conn_manager_test.cpp",
320    "./src/enterprise_device_mgr_ability_test.cpp",
321    "./src/enterprise_kiosk_connection_test.cpp",
322    "./src/enterprise_update_connection_test.cpp",
323    "./src/installed_bundle_info_list_query_test.cpp",
324    "./src/iplugin_template_test.cpp",
325    "./src/permission_checker_test.cpp",
326    "./src/permission_manager_test.cpp",
327    "./src/plugin_manager_test.cpp",
328    "./src/plugin_policy_query_test.cpp",
329    "./src/policy_manager_test.cpp",
330    "./src/replace_execute_strategy_test.cpp",
331    "./src/single_execute_strategy_test.cpp",
332    "./src/user_policy_manager_test.cpp",
333  ]
334
335  defines = []
336  if (common_event_service_edm_enable) {
337    defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
338  }
339
340  if (enterprise_device_management_feature_pc_only){
341    defines += [ "FEATURE_PC_ONLY" ]
342  }
343
344  if (!enterprise_device_management_feature_pc_only) {
345    sources += [ "../../../../services/edm/src/query_policy/disable_private_space_query.cpp" ]
346    defines += [
347      "BACKUP_AND_RESTORE_EDM_ENABLE",
348      "PRIVATE_SPACE_EDM_ENABLE"
349    ]
350  }
351
352  if (enterprise_device_management_feature_pc_only) {
353    sources += [ "../../../../services/edm/src/query_policy/disallow_modify_ethernet_ip_query.cpp" ]
354    defines += [ "FEATURE_PC_ONLY" ]
355  }
356
357  if (notification_edm_enable) {
358    defines += [ "NOTIFICATION_EDM_ENABLE" ]
359  }
360
361  if (netmanager_ext_edm_enable) {
362    defines += [ "NETMANAGER_EXT_EDM_ENABLE" ]
363  }
364
365  configs = [
366    ":module_private_config",
367    "../../../../common/config:coverage_flags",
368  ]
369
370  deps = [
371    ":edmservice_static",
372    "../../../../common/external:edm_external_adapters",
373    "../../../../common/native:edm_commom",
374    "../../../../interfaces/inner_api:edmservice_kits",
375    "../../../../interfaces/inner_api/plugin_kits:plugin_kits",
376    "../../utils:edm_unittest_utils",
377  ]
378
379  external_deps = [
380    "ability_base:want",
381    "ability_runtime:ability_manager",
382    "access_token:libaccesstoken_sdk",
383    "access_token:libnativetoken",
384    "access_token:libnativetoken_shared",
385    "access_token:libtoken_setproc",
386    "bundle_framework:appexecfwk_core",
387    "cJSON:cjson",
388    "c_utils:utils",
389    "common_event_service:cesfwk_innerkits",
390    "file_api:securitylabel",
391    "googletest:gmock_main",
392    "hilog:libhilog",
393    "ipc:ipc_core",
394    "safwk:system_ability_fwk",
395    "samgr:samgr_proxy",
396    "window_manager:sms",
397  ]
398
399  if (os_account_edm_enable) {
400    external_deps += [
401      "os_account:libaccountkits",
402      "os_account:os_account_innerkits",
403    ]
404    defines += [ "OS_ACCOUNT_EDM_ENABLE" ]
405  }
406
407  sanitize = {
408    boundary_sanitize = true
409    cfi = true
410    cfi_cross_dso = true
411    debug = false
412    integer_overflow = true
413    ubsan = true
414    blocklist = "../../cfi_blocklist.txt"
415  }
416  branch_protector_ret = "pac_ret"
417  subsystem_name = "customization"
418  part_name = "enterprise_device_management"
419}
420
421group("unittest") {
422  testonly = true
423
424  deps = [
425    # deps file
426    ":EdmServicesUnitTest",
427  ]
428}
429