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("../../../../common/config/common.gni")
16
17module_output_path = "enterprise_device_management/enterprise_device_management"
18
19ohos_unittest("EdmInnerApiUnitTest") {
20  module_out_path = module_output_path
21
22  include_dirs = [
23    "./proxy/mock/include",
24    "../../common/mock/include",
25  ]
26
27  sources = [
28    "../../common/mock/src/edm_sys_manager_mock.cpp",
29    "./common/ent_info_test.cpp",
30  ]
31
32  configs = [ "../../../../common/config:coverage_flags" ]
33
34  deps = [
35    "../../../../common/native:edm_commom",
36    "../../../../interfaces/inner_api:edmservice_kits",
37    "../../utils:edm_unittest_utils",
38    "//third_party/googletest:gmock_main",
39  ]
40
41  external_deps = [
42    "ability_base:want",
43    "access_token:libaccesstoken_sdk",
44    "access_token:libnativetoken",
45    "access_token:libtoken_setproc",
46    "bundle_framework:appexecfwk_base",
47    "bundle_framework:appexecfwk_core",
48    "c_utils:utils",
49    "hilog:libhilog",
50    "init:libbegetutil",
51    "ipc:ipc_core",
52    "samgr:samgr_proxy",
53  ]
54
55  defines = []
56  if (os_account_edm_enable && netmanager_base_edm_enable &&
57      netmanager_ext_edm_enable) {
58    external_deps += [
59      "netmanager_base:net_conn_manager_if",
60      "os_account:os_account_innerkits",
61    ]
62    sources += [
63      "./proxy/account_manager_proxy_test.cpp",
64      "./proxy/bundle_manager_proxy_test.cpp",
65      "./proxy/device_info_proxy_test.cpp",
66      "./proxy/enterprise_device_mgr_proxy_test.cpp",
67      "./proxy/mock/src/enterprise_device_mgr_stub_mock.cpp",
68      "./proxy/network_manager_proxy_test.cpp",
69      "./proxy/security_manager_proxy_test.cpp",
70      "./proxy/system_manager_proxy_test.cpp",
71      "./proxy/update_policy_utils_test.cpp",
72    ]
73    defines += [
74      "OS_ACCOUNT_EDM_ENABLE",
75      "NETMANAGER_BASE_EDM_ENABLE",
76    ]
77  }
78
79  if (os_account_edm_enable && netmanager_base_edm_enable &&
80      netmanager_ext_edm_enable && ability_runtime_edm_enable) {
81    sources += [ "./proxy/application_manager_proxy_test.cpp" ]
82  }
83
84  if (os_account_edm_enable && netmanager_base_edm_enable &&
85      netmanager_ext_edm_enable && bluetooth_edm_enable) {
86    sources += [ "./proxy/bluetooth_manager_proxy_test.cpp" ]
87  }
88
89  if (os_account_edm_enable && netmanager_base_edm_enable &&
90      netmanager_ext_edm_enable && common_event_service_edm_enable) {
91    sources += [ "./proxy/browser_proxy_test.cpp" ]
92  }
93
94  if (time_service_edm_enable && os_account_edm_enable &&
95      netmanager_base_edm_enable && netmanager_ext_edm_enable) {
96    sources += [ "./proxy/datetime_manager_proxy_test.cpp" ]
97  }
98
99  if (os_account_edm_enable && netmanager_base_edm_enable &&
100      netmanager_ext_edm_enable && screenlock_mgr_edm_enable &&
101      power_manager_edm_enable && update_service_edm_enable) {
102    sources += [ "./proxy/device_control_proxy_test.cpp" ]
103  }
104
105  if (os_account_edm_enable && netmanager_base_edm_enable &&
106      netmanager_ext_edm_enable && certificate_manager_edm_enable) {
107    sources += [ "./proxy/device_settings_proxy_test.cpp" ]
108  }
109
110  if (os_account_edm_enable && netmanager_base_edm_enable &&
111      netmanager_ext_edm_enable && location_edm_enable) {
112    sources += [ "./proxy/location_manager_proxy_test.cpp" ]
113  }
114
115  if (os_account_edm_enable && netmanager_base_edm_enable &&
116      netmanager_ext_edm_enable && audio_framework_edm_enable) {
117    sources += [ "./proxy/restrictions_proxy_test.cpp" ]
118  }
119
120  if (os_account_edm_enable && netmanager_base_edm_enable &&
121      netmanager_ext_edm_enable && drivers_interface_usb_edm_enable &&
122      usb_manager_edm_enable && storage_service_edm_enable) {
123    external_deps += [ "usb_manager:usbsrv_client" ]
124    sources += [ "./proxy/usb_manager_proxy_test.cpp" ]
125    defines += [ "USB_EDM_ENABLE" ]
126  }
127
128  if (os_account_edm_enable && netmanager_base_edm_enable &&
129      netmanager_ext_edm_enable && wifi_edm_enable) {
130    external_deps += [ "wifi:wifi_sdk" ]
131    sources += [ "./proxy/wifi_manager_proxy_test.cpp" ]
132    defines += [ "WIFI_EDM_ENABLE" ]
133  }
134
135  sanitize = {
136    boundary_sanitize = true
137    cfi = true
138    cfi_cross_dso = true
139    debug = false
140    integer_overflow = true
141    ubsan = true
142    blocklist = "../../cfi_blocklist.txt"
143  }
144  branch_protector_ret = "pac_ret"
145  subsystem_name = "customization"
146  part_name = "enterprise_device_management"
147}
148
149group("unittest") {
150  testonly = true
151
152  deps = [
153    # deps file
154    ":EdmInnerApiUnitTest",
155  ]
156}
157