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}