# gRPC Bazel BUILD file.
#
# Copyright 2019 gRPC authors.
#
# 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.

load("@build_bazel_rules_apple//apple:macos.bzl", "macos_unit_test")
load("@build_bazel_rules_apple//apple:resources.bzl", "apple_resource_bundle")
load("@build_bazel_rules_apple//apple:tvos.bzl", "tvos_application", "tvos_unit_test")
load("//bazel:grpc_build_system.bzl", "grpc_sh_test")
load(
    "//src/objective-c:grpc_objc_internal_library.bzl",
    "grpc_objc_ios_unit_test",
    "grpc_objc_testing_library",
    "local_objc_grpc_library",
    "proto_library_objc_wrapper",
)

licenses(["notice"])

package(default_visibility = ["//visibility:public"])

exports_files(["LICENSE"])

proto_library_objc_wrapper(
    name = "messages_proto",
    srcs = ["RemoteTestClient/messages.proto"],
)

proto_library_objc_wrapper(
    name = "test_proto",
    srcs = ["RemoteTestClient/test.proto"],
    use_well_known_protos = True,
    deps = [":messages_proto"],
)

local_objc_grpc_library(
    name = "RemoteTest",
    srcs = ["RemoteTestClient/test.proto"],
    testing = True,
    use_well_known_protos = True,
    deps = [":test_proto"],
)

apple_resource_bundle(
    name = "TestCertificates",
    resources = ["TestCertificates.bundle/test-certificates.pem"],
)

# TestConfigs is added to each grpc_objc_testing_library's deps
grpc_objc_testing_library(
    name = "TestConfigs",
    srcs = glob([
        "Common/**/*.m",
    ]),
    hdrs = glob([
        "Common/**/*.h",
    ]) + ["version.h"],
    data = [":TestCertificates"],
    defines = [
        "DEBUG=1",
        "HOST_PORT_LOCALSSL=localhost:5051",
        "HOST_PORT_LOCAL=localhost:5050",
        "HOST_PORT_REMOTE=grpc-test.sandbox.googleapis.com",
    ],
)

objc_library(
    name = "host-lib",
    srcs = glob(["Hosts/ios-host/*.m"]),
    hdrs = glob(["Hosts/ios-host/*.h"]),
)

tvos_application(
    name = "tvos-host",
    bundle_id = "grpc.objc.tests.tvos-host",
    infoplists = ["Hosts/ios-host/Info.plist"],
    minimum_os_version = "10.0",
    deps = ["host-lib"],
)

grpc_objc_testing_library(
    name = "InteropTests-lib",
    srcs = ["InteropTests/InteropTests.m"],
    hdrs = ["InteropTests/InteropTests.h"],
    deps = [
        ":InteropTestsBlockCallbacks-lib",
    ],
)

grpc_objc_testing_library(
    name = "InteropTestsRemote-lib",
    srcs = ["InteropTests/InteropTestsRemote.m"],
    deps = [":InteropTests-lib"],
)

grpc_objc_testing_library(
    name = "InteropTestsBlockCallbacks-lib",
    srcs = ["InteropTests/InteropTestsBlockCallbacks.m"],
    hdrs = ["InteropTests/InteropTestsBlockCallbacks.h"],
)

grpc_objc_testing_library(
    name = "InteropTestsLocalSSL-lib",
    srcs = ["InteropTests/InteropTestsLocalSSL.m"],
    deps = [":InteropTests-lib"],
)

grpc_objc_testing_library(
    name = "InteropTestsLocalCleartext-lib",
    srcs = ["InteropTests/InteropTestsLocalCleartext.m"],
    deps = [":InteropTests-lib"],
)

grpc_objc_testing_library(
    name = "InteropTestsMultipleChannels-lib",
    srcs = ["InteropTests/InteropTestsMultipleChannels.m"],
    deps = [":InteropTests-lib"],
)

grpc_objc_testing_library(
    name = "RxLibraryUnitTests-lib",
    srcs = ["UnitTests/RxLibraryUnitTests.m"],
)

grpc_objc_testing_library(
    name = "GRPCClientTests-lib",
    srcs = ["UnitTests/GRPCClientTests.m"],
)

grpc_objc_testing_library(
    name = "GRPCBasicUnitTests-lib",
    srcs = ["UnitTests/GRPCCallOptionsTests.m"],
)

grpc_objc_testing_library(
    name = "APIv2Tests-lib",
    srcs = ["UnitTests/APIv2Tests.m"],
)

grpc_objc_testing_library(
    name = "ChannelPoolTest-lib",
    srcs = ["UnitTests/ChannelPoolTest.m"],
)

grpc_objc_testing_library(
    name = "ChannelTests-lib",
    srcs = ["UnitTests/ChannelTests.m"],
)

grpc_objc_testing_library(
    name = "NSErrorUnitTests-lib",
    srcs = ["UnitTests/NSErrorUnitTests.m"],
)

grpc_objc_testing_library(
    name = "MacStressTests-lib",
    srcs = glob([
        "MacTests/*.m",
    ]),
    hdrs = ["MacTests/StressTests.h"],
)

# TODO: Enable this again once @CronetFramework is working
#grpc_objc_testing_library(
#    name = "CronetTests-lib",
#    srcs = [
#        "ConfigureCronet.m",
#    ] + glob([
#        "CronetTests/*.m",
#        "CronetTests/*.mm",
#    ]),
#    hdrs = [
#        "ConfigureCronet.h",
#    ],
#    deps = [
#        "InteropTests-lib",
#        "//src/objective-c:grpc_objc_client_core_cronet_testing",
#        "//test/core/end2end:cq_verifier",
#        "//test/core/end2end:ssl_test_data",
#        "//third_party/objective_c/Cronet:cronet_c_for_grpc",
#    ],
#)
#
#grpc_objc_testing_library(
#    name = "CppCronetTests-lib",
#    srcs = glob([
#        "CppCronetTests/*.m",
#        "CppCronetTests/*.mm",
#    ]),
#    hdrs = glob([
#        "CppCronetTests/*.h",
#    ]),
#    deps = [
#        "//:grpc++_cronet_credentials",
#        "//src/objective-c:grpc_objc_client_core_cronet_testing",
#        "//src/proto/grpc/testing:echo_proto",
#        "//test/core/end2end:ssl_test_data",
#    ],
#)
#
#grpc_objc_testing_library(
#    name = "PerfTests-lib-Posix",
#    srcs = [
#        "ConfigureCronet.m",
#        "PerfTests/PerfTests.m",
#        "PerfTests/PerfTestsBlockCallbacks.m",
#        "PerfTests/PerfTestsNoCFStreamSSL.m",
#    ],
#    hdrs = ["ConfigureCronet.h"] + glob(["PerfTests/*.h"]),
#    deps = [
#        "//src/objective-c:grpc_objc_client_core_cronet_testing",
#    ],
#)
#
#grpc_objc_testing_library(
#    name = "PerfTests-lib",
#    srcs = [
#        "ConfigureCronet.m",
#        "PerfTests/PerfTests.m",
#        "PerfTests/PerfTestsBlockCallbacks.m",
#        "PerfTests/PerfTestsCFStreamSSL.m",
#        "PerfTests/PerfTestsCronet.m",
#    ],
#    hdrs = ["ConfigureCronet.h"] + glob(["PerfTests/*.h"]),
#    deps = [
#        "//src/objective-c:grpc_objc_client_core_cronet_testing",
#    ],
#)

grpc_objc_testing_library(
    name = "UnitTests",
    deps = [
        ":APIv2Tests-lib",
        ":ChannelPoolTest-lib",
        ":ChannelTests-lib",
        ":GRPCBasicUnitTests-lib",
        ":GRPCClientTests-lib",
        ":NSErrorUnitTests-lib",
        ":RxLibraryUnitTests-lib",
    ],
)

grpc_objc_ios_unit_test(
    name = "InteropTestsLocalCleartext",
    deps = [
        ":InteropTestsLocalCleartext-lib",
    ],
)

grpc_objc_ios_unit_test(
    name = "InteropTestsLocalSSL",
    deps = [
        ":InteropTestsLocalSSL-lib",
    ],
)

grpc_objc_ios_unit_test(
    name = "InteropTestsRemote",
    deps = [
        ":InteropTestsRemote-lib",
    ],
)

# TODO: Enable this again once @CronetFramework is working
# grpc_objc_ios_unit_test(
#     name = "CronetTests",
#     deps = [
#         "CronetTests-lib",
#     ],
# )
#
# grpc_objc_ios_unit_test(
#     name = "CppCronetTests",
#     deps = [
#         "CppCronetTests-lib",
#     ],
# )
#
# grpc_objc_ios_unit_test(
#     name = "PerfTestsPosix",
#     deps = [
#         "PerfTests-lib-Posix",
#     ],
# )
#
# grpc_objc_ios_unit_test(
#     name = "PerfTests",
#     env = {
#         "GRPC_CFSTREAM_RUN_LOOP": "1",
#     },
#     deps = [
#         "PerfTests-lib",
#     ],
# )

macos_unit_test(
    name = "MacTests",
    minimum_os_version = "10.10",
    deps = [
        ":APIv2Tests-lib",
        ":InteropTestsLocalCleartext-lib",
        ":InteropTestsLocalSSL-lib",
        ":InteropTestsRemote-lib",
        ":MacStressTests-lib",
        ":NSErrorUnitTests-lib",
        ":RxLibraryUnitTests-lib",
    ],
)

grpc_objc_testing_library(
    name = "CFStreamTests-lib",
    srcs = glob(["CFStreamTests/*.mm"]),
    deps = [
        "//:gpr_platform",
        "//src/core:iomgr_port",
        "//test/core/util:grpc_test_util",
    ],
)

grpc_objc_ios_unit_test(
    name = "CFStreamTests",
    deps = [":CFStreamTests-lib"],
)

grpc_objc_testing_library(
    name = "EventEngineClientTests-lib",
    srcs = ["EventEngineTests/CFEventEngineClientTests.mm"],
    # defines = ["GRPC_IOS_EVENT_ENGINE_CLIENT=1"],
    deps = [
        "//src/core:cf_event_engine",
        "//test/core/event_engine/test_suite/posix:oracle_event_engine_posix",
        "//test/core/event_engine/test_suite/tests:client",
    ],
)

grpc_objc_testing_library(
    name = "EventEngineUnitTests-lib",
    srcs = ["EventEngineTests/CFEventEngineUnitTests.mm"],
    defines = ["GRPC_IOS_EVENT_ENGINE_CLIENT=1"],
    deps = [
        "//src/core:cf_event_engine",
        "//test/core/event_engine/cf:cf_engine_unit_test_lib",
        "//test/core/event_engine/test_suite/tests:dns",
        "//test/core/event_engine/test_suite/tests:timer",
    ],
)

grpc_objc_ios_unit_test(
    name = "EventEngineClientTests",
    deps = [":EventEngineClientTests-lib"],
)

grpc_objc_ios_unit_test(
    name = "EventEngineUnitTests",
    deps = [":EventEngineUnitTests-lib"],
)

# Note that bazel currently doesn't support running tvos_unit_test
# See https://github.com/bazelbuild/rules_apple/blob/8d841342c238457896cd7596cc29b2d06c9a75f0/apple/testing/default_runner/tvos_test_runner.template.sh
tvos_unit_test(
    name = "TvTests",
    minimum_os_version = "10.0",
    test_host = ":tvos-host",
    deps = [
        ":APIv2Tests-lib",
        ":InteropTestsLocalCleartext-lib",
        ":InteropTestsLocalSSL-lib",
        ":InteropTestsRemote-lib",
        ":NSErrorUnitTests-lib",
        ":RxLibraryUnitTests-lib",
    ],
)

# TvTests is not runnable with bazel, so the best we can do is to test
# that the testsuite builds correctly. This is achieved by having
# a dummy sh_test depend on :TvTests.
grpc_sh_test(
    name = "tvtests_build_test",
    srcs = [
        "tvtests_build_test.sh",
    ],
    data = [
        ":TvTests",
    ],
    uses_polling = False,
)

grpc_sh_test(
    name = "objc_codegen_plugin_test",
    srcs = ["PluginTest/plugin_test.sh"],
    data = [
        "//src/compiler:grpc_objective_c_plugin",
        "@com_google_protobuf//:protoc",
    ] + glob(["PluginTest/*.proto"]),
    uses_polling = False,
)

grpc_sh_test(
    name = "objc_codegen_plugin_option_test",
    srcs = ["PluginTest/plugin_option_test.sh"],
    data = [
        "//src/compiler:grpc_objective_c_plugin",
        "@com_google_protobuf//:protoc",
        "@com_google_protobuf//:well_known_type_protos",
    ] + glob(["RemoteTestClient/*.proto"]),
    uses_polling = False,
)
