0a350dbc创建于 3月10日历史提交
# Copyright (c) 2025 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//build/test.gni")
import("//build/config/components/idl_tool/idl.gni")
import("../../../web_aafwk.gni")

ohos_unittest("arkweb_scheme_handler_test") {
  module_out_path = "webview/Networking"

  sources = [ "arkweb_scheme_handler_test.cpp" ]

  include_dirs = [ "../common" ]

  deps = [
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
  ]
  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]
  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "libxml2:libxml2",
    "window_manager:libwm",
  ]
}

ohos_unittest("arkweb_interface_test") {
  module_out_path = "webview/Web_Framework"

  sources = [ "arkweb_interface_test.cpp" ]

  include_dirs = [ "../common" ]

  deps = [
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
  ]

  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "libxml2:libxml2",
    "window_manager:libwm",
  ]
}

ohos_unittest("native_javascript_execute_callback_test") {
  module_out_path = "webview/Networking"

  sources = [ "native_javascript_execute_callback_test.cpp" ]

  include_dirs = [ "../common" ]

  deps = [
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
  ]

  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "window_manager:libwm",
  ]
}

ohos_unittest("native_interface_arkweb_test") {
  module_out_path = "webview/Networking"

  sources = [ "native_interface_arkweb_test.cpp" ]

  include_dirs = [
    "../common",
    "$webview_path/interfaces/native"
  ]

  deps = [
    "$webview_path/arkweb_utils:libarkweb_utils",
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
  ]

  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "init:libbegetutil",
    "window_manager:libwm",
  ]
}

ohos_unittest("web_native_messaging_extension_context_info_test") {
  module_out_path = "webview/security"

  sources = [
    "web_native_messaging_extension_context_info_test.cpp"
  ]

  include_dirs = [
    "../common",
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension/include",
    "$webview_path/sa/web_native_messaging/common",
  ]

  deps = [
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension:web_extension",
    "$webview_path/sa/web_native_messaging:web_native_messaging_kit",
    "$webview_path/ohos_nweb:web_configs",
  ]

  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_base:want",
    "ability_runtime:app_context",
    "ability_runtime:appkit_native",
    "ability_runtime:napi_common",
    "ability_runtime:ability_start_options",
    "ability_runtime:ability_context_native",
    "ability_runtime:extensionkit_native",
    "ability_runtime:ability_manager",
    "ability_runtime:runtime",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "hilog:libhilog",
    "ipc:ipc_core",
    "napi:ace_napi",
    "window_manager:libwm",
  ]
}

ohos_unittest("web_native_messaging_extension_context_test") {
  module_out_path = "webview/security"

  sources = [
    "web_native_messaging_extension_context_test.cpp"
  ]

  include_dirs = [
    "../common",
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension/include",
    "$webview_path/sa/web_native_messaging/common",
  ]

  deps = [
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension:web_extension",
    "$webview_path/sa/web_native_messaging:web_native_messaging_kit",
    "$webview_path/ohos_nweb:web_configs",
  ]

  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_base:want",
    "ability_runtime:app_context",
    "ability_runtime:appkit_native",
    "ability_runtime:napi_common",
    "ability_runtime:ability_start_options",
    "ability_runtime:ability_context_native",
    "ability_runtime:extensionkit_native",
    "ability_runtime:ability_manager",
    "ability_runtime:runtime",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "hilog:libhilog",
    "ipc:ipc_core",
    "napi:ace_napi",
    "window_manager:libwm",
  ]
}

ohos_unittest("web_native_messaging_extension_proxy_test") {
  module_out_path = "webview/security"

  sources = [
    "web_native_messaging_extension_proxy_test.cpp"
  ]

  include_dirs = [
    "../common",
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension/include"
  ]

  deps = [
    "$webview_path/arkweb_utils:libarkweb_utils",
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension:connect_info",
    "$webview_path/interfaces/kits/napi/web_native_messaging_extension/extension_client:web_extension_client",
  ]

  deps += [
    "$webview_path/ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "init:libbegetutil",
    "window_manager:libwm",
    "napi:ace_napi"
  ]
}

config("module_private_config") {
  visibility = [ ":*" ]

  include_dirs = [
    "$webview_path/sa/include",
    "$webview_path/sa/web_native_messaging/client",
    "$webview_path/sa/web_native_messaging/common",
    "$webview_path/sa/web_native_messaging/service",
    "$webview_path/ohos_nweb/include",
    "${target_gen_dir}/../../../sa/web_native_messaging",
    "${target_gen_dir}",
    "${target_gen_dir}/../../ohos_nweb/include",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension/include",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client/include",
  ]
}

idl_interface_sources = [
  "${target_gen_dir}/web_native_messaging_service_proxy.cpp",
  "${target_gen_dir}/web_native_messaging_service_stub.cpp",
]

idl_gen_interface("web_native_messaging_service_interface") {
  src_idl = rebase_path("${webview_path}/sa/web_native_messaging/IWebNativeMessagingService.idl")
  dst_file = string_join(",", idl_interface_sources)
}

ohos_unittest("web_native_messaging_service_test") {
  module_out_path = "webview/security"
  output_values = get_target_outputs(":web_native_messaging_service_interface")
  sources = [ "web_native_messaging_service_test.cpp" ]
  sources += [
    "${webview_path}/sa/web_native_messaging/service/connect_native_request.cpp",
    "${webview_path}/sa/web_native_messaging/service/extension_ipc_connection.cpp",
    "${webview_path}/sa/web_native_messaging/service/service_delay_exit_task.cpp",
    "${webview_path}/sa/web_native_messaging/service/service_event_handler.cpp",
    "${webview_path}/sa/web_native_messaging/service/web_extension_connection_callback_proxy.cpp",
    "${webview_path}/sa/web_native_messaging/service/web_native_messaging_manager.cpp",
    "${webview_path}/sa/web_native_messaging/service/web_native_messaging_service.cpp",
    "${webview_path}/sa/web_native_messaging/common/connection_native_info_parcel.cpp",
    "mock/mock_accesstoken_kit.cpp",
  ]
  sources += filter_include(output_values, [ "*.cpp" ])
  configs = [ ":module_private_config" ]

  deps = [
    "${webview_path}/sa/web_native_messaging:web_native_messaging_service",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client:web_extension_client",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension:web_extension",
    ":web_native_messaging_service_interface",
  ]

  external_deps = [
    "ability_base:want",
    "ability_base:zuri",
    "ability_runtime:ability_connect_callback_stub",
    "ability_runtime:ability_manager",
    "ability_runtime:napi_common",
    "ability_runtime:ability_context_native",
    "ability_runtime:ability_start_options",
    "access_token:libaccesstoken_sdk",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "eventhandler:libeventhandler",
    "hilog:libhilog",
    "hitrace:hitrace_meter",
    "ipc:ipc_core",
    "safwk:system_ability_fwk",
    "samgr:samgr_proxy",
    "googletest:gmock_main",
    "googletest:gtest_main",
  ]
}

ohos_unittest("connect_native_request_test") {
  module_out_path = "webview/security"
  sources = [ "connect_native_request_test.cpp" ]
  sources += [
    "${webview_path}/sa/web_native_messaging/service/connect_native_request.cpp",
    "${webview_path}/sa/web_native_messaging/common/connection_native_info_parcel.cpp",
  ]

  include_dirs = [
    "$webview_path/sa/include",
    "$webview_path/sa/web_native_messaging/client",
    "$webview_path/sa/web_native_messaging/common",
    "$webview_path/sa/web_native_messaging/service",
    "$webview_path/ohos_nweb/include",
    "${target_gen_dir}/../../../sa/web_native_messaging",
    "${target_gen_dir}",
    "${target_gen_dir}/../../ohos_nweb/include",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension/include",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client/include",
    "mock"
  ]

  deps = [
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client:web_extension_client",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension:web_extension",
    ":web_native_messaging_service_interface",
  ]

  external_deps = [
    "ability_base:want",
    "ability_base:zuri",
    "ability_runtime:ability_manager",
    "ability_runtime:napi_common",
    "ability_runtime:ability_context_native",
    "access_token:libaccesstoken_sdk",
    "c_utils:utils",
    "hilog:libhilog",
    "ipc:ipc_core",
    "googletest:gmock_main",
    "googletest:gtest_main",
  ]
}

ohos_unittest("web_native_messaging_manager_test") {
  module_out_path = "webview/security"
  sources = [ "web_native_messaging_manager_test.cpp" ]
  output_values = get_target_outputs(":web_native_messaging_service_interface")
  sources += [
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client/src/web_native_messaging_extension_proxy.cpp",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension/src/web_native_messaging_extension_connect_info.cpp",
    "${webview_path}/sa/web_native_messaging/service/connect_native_request.cpp",
    "${webview_path}/sa/web_native_messaging/service/extension_ipc_connection.cpp",
    "${webview_path}/sa/web_native_messaging/service/service_delay_exit_task.cpp",
    "${webview_path}/sa/web_native_messaging/service/service_event_handler.cpp",
    "${webview_path}/sa/web_native_messaging/service/web_extension_connection_callback_proxy.cpp",
    "${webview_path}/sa/web_native_messaging/service/web_native_messaging_manager.cpp",
    "${webview_path}/sa/web_native_messaging/common/connection_native_info_parcel.cpp",
    "mock/mock_accesstoken_kit.cpp",
    "mock/bundle_mgr_client.cpp",
  ]
  sources += filter_include(output_values, [ "*.cpp" ])

  include_dirs = [
    "$webview_path/sa/include",
    "$webview_path/sa/web_native_messaging/client",
    "$webview_path/sa/web_native_messaging/common",
    "$webview_path/sa/web_native_messaging/service",
    "$webview_path/ohos_nweb/include",
    "${target_gen_dir}/../../../sa/web_native_messaging",
    "${target_gen_dir}",
    "${target_gen_dir}/../../ohos_nweb/include",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension/include",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client/include",
    "mock"
  ]

  deps = [
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension_client:web_extension_client",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension:web_extension",
    ":web_native_messaging_service_interface",
  ]

  external_deps = [
    "ability_base:want",
    "ability_base:zuri",
    "ability_runtime:ability_connect_callback_stub",
    "ability_runtime:ability_manager",
    "ability_runtime:napi_common",
    "ability_runtime:ability_context_native",
    "ability_runtime:ability_start_options",
    "access_token:libaccesstoken_sdk",
    "c_utils:utils",
    "eventhandler:libeventhandler",
    "hilog:libhilog",
    "hitrace:hitrace_meter",
    "ipc:ipc_core",
    "safwk:system_ability_fwk",
    "samgr:samgr_proxy",
    "googletest:gmock_main",
    "googletest:gtest_main",
  ]
}

ohos_unittest("ets_web_native_messaging_extension_context_test") {
  module_out_path = "webview/security"
  sources = [ "ets_web_native_messaging_extension_context_test.cpp" ]
  include_dirs = [
    "${webview_path}/interfaces/kits/ani/webnativemessagingextension/ability/include",
    "${webview_path}/interfaces/kits/ani/webnativemessagingextension/ability/src",
    "${webview_path}/interfaces/kits/ani/webview/src/common",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension/include",
    "${webview_path}/sa/web_native_messaging/common",
    "${webview_path}/ohos_nweb/include",
    "${webview_path}/interfaces/kits/ani/webview/native/common",
  ]

  deps = [
    "${webview_path}/interfaces/kits/ani/webview:webview_ani",
    "${webview_path}/interfaces/kits/napi/web_native_messaging_extension/extension:web_extension",
    "${webview_path}/sa/web_native_messaging:web_native_messaging_kit",
    "${webview_path}/ohos_nweb:web_configs",
  ]

  external_deps = [
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "hilog:libhilog",
  ]
}

ohos_unittest("web_history_list_test") {
  module_out_path = "webview/Networking"

  sources = [ 
    "web_history_list_test.cpp",
    "${webview_path}/interfaces/kits/nativecommon/web_history_list.cpp", 
  ]

  include_dirs = [ "../common" ]

  deps = [
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
    "../../../ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "libxml2:libxml2",
    "window_manager:libwm",
  ]
}

ohos_unittest("web_resource_handler_test") {
  module_out_path = "webview/Networking"

  sources = [ 
    "web_resource_handler_test.cpp",
    "${webview_path}/interfaces/kits/nativecommon/web_resource_handler.cpp", 
  ]

  include_dirs = [ "${webview_path}/interfaces/native" ]

  deps = [
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
    "../../../ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "libxml2:libxml2",
    "window_manager:libwm",
  ]
}

ohos_unittest("web_scheme_handler_response_test") {
  module_out_path = "webview/Networking"

  sources = [ 
    "web_scheme_handler_response_test.cpp",
    "${webview_path}/interfaces/kits/nativecommon/web_scheme_handler_response.cpp", 
  ]

  include_dirs = [ "${webview_path}/interfaces/native" ]

  deps = [
    "$webview_path/interfaces/native:ohweb",
    "$webview_path/ohos_nweb:web_configs",
    "../../../ohos_nweb:libnweb",
  ]

  external_deps = [
    "ability_runtime:app_context",
    "bundle_framework:appexecfwk_base",
    "bundle_framework:appexecfwk_core",
    "c_utils:utils",
    "googletest:gmock_main",
    "googletest:gtest_main",
    "graphic_2d:librender_service_client",
    "hilog:libhilog",
    "libxml2:libxml2",
    "window_manager:libwm",
  ]
}

group("unittest") {
  testonly = true
  deps = [
    ":arkweb_interface_test",
    ":arkweb_scheme_handler_test",
    ":connect_native_request_test",
    ":ets_web_native_messaging_extension_context_test",
    ":native_interface_arkweb_test",
    ":native_javascript_execute_callback_test",
    ":web_native_messaging_extension_context_info_test",
    ":web_native_messaging_extension_context_test",
    ":web_native_messaging_extension_proxy_test",
    ":web_native_messaging_service_test",
    ":web_native_messaging_manager_test",
    ":web_history_list_test",
    ":web_resource_handler_test",
    ":web_scheme_handler_response_test",
  ]
}