load("@rules_java//java:defs.bzl", "java_library", "java_test")
load("//src:java_opt_binary.bzl", "java_opt_binary")

package(
    default_applicable_licenses = ["//:license"],
    default_testonly = 1,
    default_visibility = ["//src/test/java/com/google/devtools/build/lib:test_lib"],
)

filegroup(
    name = "srcs",
    testonly = 0,
    srcs = glob(["**"]) + [
        "//src/test/java/com/google/devtools/build/lib/remote/chunking:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/circuitbreaker:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/common:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/disk:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/downloader:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/grpc:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/http:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/logging:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/merkletree:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/options:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/util:srcs",
        "//src/test/java/com/google/devtools/build/lib/remote/zstd:srcs",
    ],
)

java_library(
    name = "action_input_prefetcher_test_base",
    srcs = ["ActionInputPrefetcherTestBase.java"],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/actions:action_input",
        "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
        "//src/main/java/com/google/devtools/build/lib/actions:file_metadata",
        "//src/main/java/com/google/devtools/build/lib/remote:abstract_action_input_prefetcher",
        "//src/main/java/com/google/devtools/build/lib/remote/common:bulk_transfer_exception",
        "//src/main/java/com/google/devtools/build/lib/remote/util:digest_util",
        "//src/main/java/com/google/devtools/build/lib/remote/util:futures",
        "//src/main/java/com/google/devtools/build/lib/skyframe:tree_artifact_value",
        "//src/main/java/com/google/devtools/build/lib/testing/vfs:spied_filesystem",
        "//src/main/java/com/google/devtools/build/lib/util",
        "//src/main/java/com/google/devtools/build/lib/util:temp_path_generator",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs",
        "//src/test/java/com/google/devtools/build/lib/actions/util",
        "//third_party/java/guava:base",
        "//third_party/java/guava:collect",
        "//third_party/java/guava:concurrent",
        "//third_party/java/guava:eventbus",
        "//third_party/java/guava:hash",
        "//third_party/java/jsr305_annotations",
        "//third_party/java/junit",
        "//third_party/java/mockito",
        "//third_party/java/truth",
    ],
)

java_library(
    name = "RemoteTests_lib",
    srcs = glob(
        [
            "*.java",
        ],
        exclude = [
            "ActionInputPrefetcherTestBase.java",
            "RemoteActionFileSystemTestBase.java",
            "BuildWithoutTheBytesIntegrationTest.java",
            "BuildWithoutTheBytesIntegrationTestBase.java",
            "ChunkedTransferBenchmark.java",
            "ChunkedCacheIntegrationTestBase.java",
            "ChunkedCacheFastCdcIntegrationTest.java",
            "ChunkedCacheRepMaxIntegrationTest.java",
            "ChunkedDiskCacheIntegrationTest.java",
            "DiskCacheIntegrationTest.java",
            "RemoteCircuitBreakerRecoveryIntegrationTest.java",
        ],
    ),
    deps = [
        ":action_input_prefetcher_test_base",
        ":remote_action_file_system_test_base",
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/actions:action_input",
        "//src/main/java/com/google/devtools/build/lib/actions:action_input_helper",
        "//src/main/java/com/google/devtools/build/lib/actions:action_lookup_data",
        "//src/main/java/com/google/devtools/build/lib/actions:action_lookup_key",
        "//src/main/java/com/google/devtools/build/lib/actions:action_output_directory_helper",
        "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
        "//src/main/java/com/google/devtools/build/lib/actions:execution_requirements",
        "//src/main/java/com/google/devtools/build/lib/actions:file_metadata",
        "//src/main/java/com/google/devtools/build/lib/actions:fileset_output_tree",
        "//src/main/java/com/google/devtools/build/lib/actions:localhost_capacity",
        "//src/main/java/com/google/devtools/build/lib/actions:param_file_action_input",
        "//src/main/java/com/google/devtools/build/lib/actions:parameter_file",
        "//src/main/java/com/google/devtools/build/lib/actions:runfiles_metadata",
        "//src/main/java/com/google/devtools/build/lib/actions:runfiles_tree",
        "//src/main/java/com/google/devtools/build/lib/actions:virtual_action_input",
        "//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
        "//src/main/java/com/google/devtools/build/lib/analysis:blaze_directories",
        "//src/main/java/com/google/devtools/build/lib/analysis:blaze_version_info",
        "//src/main/java/com/google/devtools/build/lib/analysis:constraints/constraint_constants",
        "//src/main/java/com/google/devtools/build/lib/analysis:server_directories",
        "//src/main/java/com/google/devtools/build/lib/analysis:symlink_entry",
        "//src/main/java/com/google/devtools/build/lib/analysis:test/test_configuration",
        "//src/main/java/com/google/devtools/build/lib/analysis/config:build_configuration",
        "//src/main/java/com/google/devtools/build/lib/analysis/config:core_options",
        "//src/main/java/com/google/devtools/build/lib/analysis/platform",
        "//src/main/java/com/google/devtools/build/lib/authandtls",
        "//src/main/java/com/google/devtools/build/lib/authandtls:grpc",
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper",
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper:credential_module",
        "//src/main/java/com/google/devtools/build/lib/buildeventstream",
        "//src/main/java/com/google/devtools/build/lib/clock",
        "//src/main/java/com/google/devtools/build/lib/cmdline",
        "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
        "//src/main/java/com/google/devtools/build/lib/compress:compression_service_impl",
        "//src/main/java/com/google/devtools/build/lib/events",
        "//src/main/java/com/google/devtools/build/lib/events:event_bus_event_handler",
        "//src/main/java/com/google/devtools/build/lib/exec:abstract_spawn_strategy",
        "//src/main/java/com/google/devtools/build/lib/exec:bin_tools",
        "//src/main/java/com/google/devtools/build/lib/exec:execution_options",
        "//src/main/java/com/google/devtools/build/lib/exec:remote_local_fallback_registry",
        "//src/main/java/com/google/devtools/build/lib/exec:spawn_cache",
        "//src/main/java/com/google/devtools/build/lib/exec:spawn_input_expander",
        "//src/main/java/com/google/devtools/build/lib/exec:spawn_runner",
        "//src/main/java/com/google/devtools/build/lib/pkgcache:package_options",
        "//src/main/java/com/google/devtools/build/lib/profiler",
        "//src/main/java/com/google/devtools/build/lib/remote:ExecutionStatusException",
        "//src/main/java/com/google/devtools/build/lib/remote:ReferenceCountedChannel",
        "//src/main/java/com/google/devtools/build/lib/remote:Retrier",
        "//src/main/java/com/google/devtools/build/lib/remote:abstract_action_input_prefetcher",
        "//src/main/java/com/google/devtools/build/lib/remote:api_version",
        "//src/main/java/com/google/devtools/build/lib/remote:bazel_output_service_cluster",
        "//src/main/java/com/google/devtools/build/lib/remote:byte_stream_build_event_artifact_uploader",
        "//src/main/java/com/google/devtools/build/lib/remote:byte_stream_uploader",
        "//src/main/java/com/google/devtools/build/lib/remote:chunker",
        "//src/main/java/com/google/devtools/build/lib/remote:client_api_version",
        "//src/main/java/com/google/devtools/build/lib/remote:combined_cache",
        "//src/main/java/com/google/devtools/build/lib/remote:combined_cache_client_factory",
        "//src/main/java/com/google/devtools/build/lib/remote:grpc_cache_client",
        "//src/main/java/com/google/devtools/build/lib/remote:grpc_remote_executor",
        "//src/main/java/com/google/devtools/build/lib/remote:path_canonicalizer",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_action",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_action_context_provider",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_action_file_system",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_action_input_fetcher",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_download_idle_timeout_interceptor",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_execution_cache",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_external_overlay_file_system",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_grpc_service_config",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_module",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_output_checker",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_output_service",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_repository_remote_executor",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_rewound_action_synchronizer",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_server_capabilities",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_spawn_cache",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_spawn_runner",
        "//src/main/java/com/google/devtools/build/lib/remote:scrubber",
        "//src/main/java/com/google/devtools/build/lib/remote:store",
        "//src/main/java/com/google/devtools/build/lib/remote:upload_manifest",
        "//src/main/java/com/google/devtools/build/lib/remote/chunking",
        "//src/main/java/com/google/devtools/build/lib/remote/circuitbreaker",
        "//src/main/java/com/google/devtools/build/lib/remote/common",
        "//src/main/java/com/google/devtools/build/lib/remote/common:action_key",
        "//src/main/java/com/google/devtools/build/lib/remote/common:bulk_transfer_exception",
        "//src/main/java/com/google/devtools/build/lib/remote/common:cache_not_found_exception",
        "//src/main/java/com/google/devtools/build/lib/remote/disk",
        "//src/main/java/com/google/devtools/build/lib/remote/downloader",
        "//src/main/java/com/google/devtools/build/lib/remote/http",
        "//src/main/java/com/google/devtools/build/lib/remote/logging",
        "//src/main/java/com/google/devtools/build/lib/remote/merkletree",
        "//src/main/java/com/google/devtools/build/lib/remote/options",
        "//src/main/java/com/google/devtools/build/lib/remote/util:bulk_transfers",
        "//src/main/java/com/google/devtools/build/lib/remote/util:digest_output_stream",
        "//src/main/java/com/google/devtools/build/lib/remote/util:digest_util",
        "//src/main/java/com/google/devtools/build/lib/remote/util:futures",
        "//src/main/java/com/google/devtools/build/lib/remote/util:tracing_metadata_utils",
        "//src/main/java/com/google/devtools/build/lib/remote/util:utils",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_server_startup_options",
        "//src/main/java/com/google/devtools/build/lib/runtime:block_waiting_module",
        "//src/main/java/com/google/devtools/build/lib/runtime:client_options",
        "//src/main/java/com/google/devtools/build/lib/runtime:command_line_path_factory",
        "//src/main/java/com/google/devtools/build/lib/runtime:common_command_options",
        "//src/main/java/com/google/devtools/build/lib/runtime:config_flag_definitions",
        "//src/main/java/com/google/devtools/build/lib/runtime:repository_remote_executor",
        "//src/main/java/com/google/devtools/build/lib/runtime/commands",
        "//src/main/java/com/google/devtools/build/lib/skyframe:action_template_expansion_value",
        "//src/main/java/com/google/devtools/build/lib/skyframe:tree_artifact_value",
        "//src/main/java/com/google/devtools/build/lib/testing/vfs:spied_filesystem",
        "//src/main/java/com/google/devtools/build/lib/util",
        "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
        "//src/main/java/com/google/devtools/build/lib/util:exit_code",
        "//src/main/java/com/google/devtools/build/lib/util:os",
        "//src/main/java/com/google/devtools/build/lib/util:string_encoding",
        "//src/main/java/com/google/devtools/build/lib/util:temp_path_generator",
        "//src/main/java/com/google/devtools/build/lib/util/io",
        "//src/main/java/com/google/devtools/build/lib/util/io:io-proto",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:output_service",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//src/main/java/com/google/devtools/build/lib/vfs/bazel",
        "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs",
        "//src/main/java/com/google/devtools/build/skyframe",
        "//src/main/java/com/google/devtools/common/options",
        "//src/main/protobuf:bazel_output_service_java_grpc",
        "//src/main/protobuf:bazel_output_service_java_proto",
        "//src/main/protobuf:cache_salt_java_proto",
        "//src/main/protobuf:failure_details_java_proto",
        "//src/main/protobuf:invocation_policy_java_proto",
        "//src/main/protobuf:remote_execution_log_java_proto",
        "//src/main/protobuf:remote_scrubbing_java_proto",
        "//src/main/protobuf:spawn_java_proto",
        "//src/test/java/com/google/devtools/build/lib/actions/util",
        "//src/test/java/com/google/devtools/build/lib/exec/util",
        "//src/test/java/com/google/devtools/build/lib/remote/util",
        "//src/test/java/com/google/devtools/build/lib/testutil",
        "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
        "//src/test/java/com/google/devtools/build/lib/testutil:TestThread",
        "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils",
        "//third_party/google/bytestream:bytestream_grpc",
        "//third_party/google/bytestream:bytestream_java_proto",
        "//third_party/google/longrunning:operations_java_proto",
        "//third_party/google/protobuf:any_java_proto",
        "//third_party/google/protobuf:duration_java_proto",
        "//third_party/google/protobuf:timestamp_java_proto",
        "//third_party/google/rpc:code_java_proto",
        "//third_party/google/rpc:error_details_java_proto",
        "//third_party/google/rpc:status_java_proto",
        "//third_party/java/auth_kit",
        "//third_party/java/caffeine",
        "//third_party/java/checker_framework_annotations",
        "//third_party/java/error_prone:annotations",
        "//third_party/java/grpc:core",
        "//third_party/java/grpc:inprocess",
        "//third_party/java/grpc:stub",
        "//third_party/java/grpc:util",
        "//third_party/java/gson",
        "//third_party/java/guava:base",
        "//third_party/java/guava:collect",
        "//third_party/java/guava:concurrent",
        "//third_party/java/guava:hash",
        "//third_party/java/guava:io",
        "//third_party/java/guava:primitives",
        "//third_party/java/jol",
        "//third_party/java/jsr305_annotations",
        "//third_party/java/junit",
        "//third_party/java/mockito",
        "//third_party/java/netty4:handler",
        "//third_party/java/protobuf",
        "//third_party/java/protobuf:protobuf_lite",
        "//third_party/java/protobuf/util:time",
        "//third_party/java/rxjava3",
        "//third_party/java/testparameterinjector",
        "//third_party/java/truth",
        "//third_party/java/truth/extensions:proto",
        "//third_party/java/zstd_jni",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_grpc",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_proto",
        "@remoteapis//:build_bazel_semver_semver_java_proto",
    ],
)

java_library(
    name = "remote_action_file_system_test_base",
    srcs = ["RemoteActionFileSystemTestBase.java"],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
        "//src/main/java/com/google/devtools/build/lib/actions:file_metadata",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//third_party/java/error_prone:annotations",
        "//third_party/java/guava:collect",
        "//third_party/java/junit",
        "//third_party/java/truth",
    ],
)

java_test(
    name = "RemoteTests",
    jvm_flags = [
        # Required for compatibility with records.
        "-Djol.magicFieldOffset=true",
        # Match the Bazel startup flags.
        "-XX:+UseCompactObjectHeaders",
        # Required for Mockito.spy.
        "--add-opens=java.base/java.io=ALL-UNNAMED",
    ],
    test_class = "com.google.devtools.build.lib.AllTests",
    runtime_deps = [
        ":RemoteTests_lib",
        "//src/test/java/com/google/devtools/build/lib:AllTests",
    ],
)

java_opt_binary(
    name = "ChunkedTransferBenchmark",
    srcs = ["ChunkedTransferBenchmark.java"],
    main_class = "org.openjdk.jmh.Main",
    deps = [
        "//src/main/java/com/google/devtools/build/lib/clock",
        "//src/main/java/com/google/devtools/build/lib/remote:combined_cache",
        "//src/main/java/com/google/devtools/build/lib/remote:grpc_cache_client",
        "//src/main/java/com/google/devtools/build/lib/remote/chunking",
        "//src/main/java/com/google/devtools/build/lib/remote/common",
        "//src/main/java/com/google/devtools/build/lib/remote/util:digest_util",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs",
        "//third_party/google/bytestream:bytestream_grpc",
        "//third_party/java/guava:collect",
        "//third_party/java/guava:concurrent",
        "//third_party/java/jmh",
        "//third_party/java/mockito",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_grpc",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_proto",
    ],
)

java_library(
    name = "build_without_the_bytes_integration_test_base",
    srcs = [
        "BuildWithoutTheBytesIntegrationTestBase.java",
    ],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
        "//src/main/java/com/google/devtools/build/lib/actions:file_metadata",
        "//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
        "//src/main/java/com/google/devtools/build/lib/exec:test_policy",
        "//src/main/java/com/google/devtools/build/lib/runtime/commands",
        "//src/main/java/com/google/devtools/build/lib/skyframe:action_execution_value",
        "//src/main/java/com/google/devtools/build/lib/skyframe:sky_functions",
        "//src/main/java/com/google/devtools/build/lib/skyframe:target_completion_value",
        "//src/main/java/com/google/devtools/build/lib/skyframe:tree_artifact_value",
        "//src/main/java/com/google/devtools/build/lib/skyframe/rewinding:action_rewound_event",
        "//src/main/java/com/google/devtools/build/lib/util:command",
        "//src/main/java/com/google/devtools/build/lib/util:os",
        "//src/main/java/com/google/devtools/build/lib/util/io:out-err",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//src/main/java/com/google/devtools/build/skyframe",
        "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
        "//src/test/java/com/google/devtools/build/lib/buildtool/util",
        "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils",
        "//third_party/java/guava:collect",
        "//third_party/java/guava:eventbus",
        "//third_party/java/junit",
        "//third_party/java/testparameterinjector",
        "//third_party/java/truth",
    ],
)

java_test(
    name = "BuildWithoutTheBytesIntegrationTest",
    size = "large",
    srcs = ["BuildWithoutTheBytesIntegrationTest.java"],
    shard_count = 5,
    tags = ["requires-network"],
    runtime_deps = [
        "//third_party/java/grpc:util",
    ],
    deps = [
        ":build_without_the_bytes_integration_test_base",
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper:credential_module",
        "//src/main/java/com/google/devtools/build/lib/dynamic",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_module",
        "//src/main/java/com/google/devtools/build/lib/remote/options",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster",
        "//src/main/java/com/google/devtools/build/lib/runtime:block_waiting_module",
        "//src/main/java/com/google/devtools/build/lib/runtime:build_summary_stats_module",
        "//src/main/java/com/google/devtools/build/lib/standalone",
        "//src/main/java/com/google/devtools/build/lib/util:os",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//src/main/java/com/google/devtools/common/options:options_internal",
        "//src/main/protobuf:failure_details_java_proto",
        "//src/test/java/com/google/devtools/build/lib/remote/util:integration_test_utils",
        "//third_party/java/guava:collect",
        "//third_party/java/junit",
        "//third_party/java/testparameterinjector",
        "//third_party/java/truth",
    ],
)

java_test(
    name = "RemoteCircuitBreakerRecoveryIntegrationTest",
    size = "large",
    srcs = ["RemoteCircuitBreakerRecoveryIntegrationTest.java"],
    tags = ["requires-network"],
    runtime_deps = [
        "//third_party/java/grpc:util",
    ],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper:credential_module",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_module",
        "//src/main/java/com/google/devtools/build/lib/remote/options",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster",
        "//src/main/java/com/google/devtools/build/lib/runtime:block_waiting_module",
        "//src/main/java/com/google/devtools/build/lib/runtime:build_summary_stats_module",
        "//src/main/java/com/google/devtools/build/lib/standalone",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/common/options:options_internal",
        "//src/test/java/com/google/devtools/build/lib/buildtool/util",
        "//src/test/java/com/google/devtools/build/lib/remote/util:integration_test_utils",
        "//third_party/java/guava:collect",
        "//third_party/java/junit",
        "//third_party/java/truth",
    ],
)

java_library(
    name = "ChunkedCacheIntegrationTestBase",
    srcs = ["ChunkedCacheIntegrationTestBase.java"],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper:credential_module",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_module",
        "//src/main/java/com/google/devtools/build/lib/remote/options",
        "//src/main/java/com/google/devtools/build/lib/remote/util:tracing_metadata_utils",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster",
        "//src/main/java/com/google/devtools/build/lib/runtime:block_waiting_module",
        "//src/main/java/com/google/devtools/build/lib/runtime:build_summary_stats_module",
        "//src/main/java/com/google/devtools/build/lib/standalone",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/common/options:options_internal",
        "//src/main/protobuf:remote_execution_log_java_proto",
        "//src/test/java/com/google/devtools/build/lib/buildtool/util",
        "//src/test/java/com/google/devtools/build/lib/remote/util:integration_test_utils",
        "//third_party/google/bytestream:bytestream_grpc",
        "//third_party/google/bytestream:bytestream_java_proto",
        "//third_party/java/grpc:core",
        "//third_party/java/guava:collect",
        "//third_party/java/guava:hash",
        "//third_party/java/guava:io",
        "//third_party/java/junit",
        "//third_party/java/truth",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_grpc",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_proto",
    ],
)

java_test(
    name = "ChunkedCacheFastCdcIntegrationTest",
    srcs = ["ChunkedCacheFastCdcIntegrationTest.java"],
    tags = ["requires-network"],
    runtime_deps = [
        "//third_party/java/grpc:util",
    ],
    deps = [
        ":ChunkedCacheIntegrationTestBase",
        "//third_party/java/junit",
    ],
)

java_test(
    name = "ChunkedCacheRepMaxIntegrationTest",
    srcs = ["ChunkedCacheRepMaxIntegrationTest.java"],
    tags = ["requires-network"],
    runtime_deps = [
        "//third_party/java/grpc:util",
    ],
    deps = [
        ":ChunkedCacheIntegrationTestBase",
        "//third_party/java/junit",
    ],
)

java_test(
    name = "ChunkedDiskCacheIntegrationTest",
    srcs = ["ChunkedDiskCacheIntegrationTest.java"],
    tags = ["requires-network"],
    runtime_deps = [
        "//third_party/java/grpc:util",
    ],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper:credential_module",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_module",
        "//src/main/java/com/google/devtools/build/lib/remote/options",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster",
        "//src/main/java/com/google/devtools/build/lib/runtime:block_waiting_module",
        "//src/main/java/com/google/devtools/build/lib/runtime:build_summary_stats_module",
        "//src/main/java/com/google/devtools/build/lib/standalone",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//src/main/java/com/google/devtools/common/options:options_internal",
        "//src/test/java/com/google/devtools/build/lib/buildtool/util",
        "//src/test/java/com/google/devtools/build/lib/remote/util:integration_test_utils",
        "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils",
        "//third_party/java/guava:collect",
        "//third_party/java/guava:io",
        "//third_party/java/junit",
        "//third_party/java/truth",
    ],
)

java_test(
    name = "DiskCacheIntegrationTest",
    srcs = ["DiskCacheIntegrationTest.java"],
    tags = ["requires-network"],
    runtime_deps = [
        "//third_party/java/grpc:util",
    ],
    deps = [
        "//src/main/java/com/google/devtools/build/lib/actions",
        "//src/main/java/com/google/devtools/build/lib/authandtls/credentialhelper:credential_module",
        "//src/main/java/com/google/devtools/build/lib/events",
        "//src/main/java/com/google/devtools/build/lib/remote:remote_module",
        "//src/main/java/com/google/devtools/build/lib/remote:store",
        "//src/main/java/com/google/devtools/build/lib/remote/options",
        "//src/main/java/com/google/devtools/build/lib/remote/util:digest_util",
        "//src/main/java/com/google/devtools/build/lib/runtime:blaze_command_cluster",
        "//src/main/java/com/google/devtools/build/lib/runtime:block_waiting_module",
        "//src/main/java/com/google/devtools/build/lib/runtime:build_summary_stats_module",
        "//src/main/java/com/google/devtools/build/lib/standalone",
        "//src/main/java/com/google/devtools/build/lib/vfs",
        "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
        "//src/main/java/com/google/devtools/common/options:options_internal",
        "//src/test/java/com/google/devtools/build/lib/buildtool/util",
        "//src/test/java/com/google/devtools/build/lib/remote/util:integration_test_utils",
        "//src/test/java/com/google/devtools/build/lib/testutil:TestUtils",
        "//third_party/java/guava:collect",
        "//third_party/java/junit",
        "//third_party/java/testparameterinjector",
        "//third_party/java/truth",
        "@remoteapis//:build_bazel_remote_execution_v2_remote_execution_java_proto",
    ],
)
