• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2025 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("//foundation/multimedia/media_library/media_library.gni")
16
17ohos_fuzztest("MediaLibraryNotificationFuzzTest") {
18  module_out_path = "media_library/media_library"
19  fuzz_config_file = "."
20
21  include_dirs = [
22    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include",
23    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/event_handler",
24    "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include",
25    "${MEDIALIB_INNERKITS_PATH}/test/unittest/medialibrary_unittest_utils/include",
26    "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/include/register_manager",
27    "../medialibrary_unittest_utils/include",
28    "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include",
29    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/include",
30    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/include/data",
31    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/include/register_manger",
32    "${MEDIALIB_ACCURATE_REFRESH_PATH}/include",
33    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include",
34    "${MEDIALIB_UTILS_PATH}/include",
35    "${MEDIALIB_TEST_PATH}/unittest/get_self_permissions/include",
36    "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/include/data",
37    "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/include",
38    "./include",
39    "../get_self_permissions/include",
40  ]
41
42  sources = [
43    "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/src/register_manager/media_observer_manager.cpp",
44    "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/src/register_manager/notify_register_permission.cpp",
45    "${MEDIALIB_NEW_SERVICES_PATH}/media_notification/src/register_manager/observer_callback_recipient.cpp",
46    "${MEDIALIB_TEST_PATH}/unittest/get_self_permissions/src/get_self_permissions.cpp",
47    "${MEDIALIB_INNERKITS_PATH}/test/unittest/medialibrary_unittest_utils/src/medialibrary_unittest_utils.cpp",
48    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notify_task_worker.cpp",
49    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notification_classification.cpp",
50    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notification_distribution.cpp",
51    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/notification_merging.cpp",
52    "${MEDIALIB_NOTIFICATION_MERGING_PATH}/src/medialibrary_notify_new.cpp",
53    "./medialibrarynotification_fuzzer.cpp",
54  ]
55
56  deps = [
57    "${MEDIALIB_INNERKITS_PATH}/media_library_helper:media_library",
58    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension:medialibrary_data_extension",
59  ]
60
61  external_deps = [
62    "hitrace:hitrace_meter",
63    "access_token:libaccesstoken_sdk",
64    "access_token:libprivacy_sdk",
65    "access_token:libnativetoken_shared",
66    "access_token:libtokensetproc_shared",
67    "ability_base:zuri",
68    "ability_runtime:ability_context_native",
69    "ability_runtime:ability_manager",
70    "ability_runtime:abilitykit_native",
71    "ability_runtime:app_context",
72    "bundle_framework:appexecfwk_core",
73    "c_utils:utils",
74    "common_event_service:cesfwk_innerkits",
75    "data_share:datashare_common",
76    "data_share:datashare_provider",
77    "device_manager:devicemanagersdk",
78    "dfs_service:cloudsync_kit_inner",
79    "hilog:libhilog",
80    "ipc:ipc_single",
81    "kv_store:distributeddata_inner",
82    "napi:ace_napi",
83    "player_framework:media_client",
84    "relational_store:native_rdb",
85    "relational_store:rdb_data_share_adapter",
86    "ability_runtime:dataobs_manager",
87    "app_file_service:fileuri_native",
88    "data_share:datashare_consumer",
89    "e2fsprogs:libext2_uuid",
90    "image_framework:image_native",
91    "ipc:ipc_napi",
92  ]
93
94  defines = []
95
96  if (defined(global_parts_info) &&
97      defined(global_parts_info.filemanagement_dfs_service)) {
98    defines += [ "CLOUD_SYNC_MANAGER" ]
99    external_deps += [ "dfs_service:cloudsync_kit_inner" ]
100  }
101}