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