blob: f6524a49d4d8e604a30da4ec8d7e811e8fcedaa6 [file] [edit]
load(
"@com_googlesource_gerrit_bazlets//:gerrit_plugin.bzl",
"gerrit_plugin",
"gerrit_plugin_dependency_tests",
"gerrit_plugin_test_util",
"gerrit_plugin_tests",
)
load("@rules_java//java:defs.bzl", "java_library")
OPENSEARCH_DEPS = [
"com.fasterxml.jackson.core:jackson-core",
"org.apache.httpcomponents.client5:httpclient5",
"org.apache.httpcomponents.core5:httpcore5",
"org.opensearch.client:opensearch-rest-client",
]
OPENSEARCH_TEST_DEPS = OPENSEARCH_DEPS + [
"org.opensearch:opensearch-testcontainers",
"org.testcontainers:testcontainers",
]
gerrit_plugin(
plugin = "index-opensearch",
srcs = glob(["src/main/java/**/*.java"]),
ext_deps = OPENSEARCH_DEPS,
deps = [
":proto-converter-neverlink",
],
)
java_library(
name = "proto-converter-neverlink",
neverlink = 1,
exports = [
"//java/com/google/gerrit/entities/converter:converters",
"//java/com/google/gerrit/entities/converter:proto_converter",
],
)
gerrit_plugin_test_util(
name = "opensearch_test_utils",
plugin = "index-opensearch",
srcs = glob(
["src/test/java/**/*.java"],
exclude = ["src/test/java/**/*Test.java"],
),
visibility = ["//visibility:public"],
ext_deps = OPENSEARCH_TEST_DEPS,
)
QUERY_TESTS_DEP = "//javatests/com/google/gerrit/server/query/%s:abstract_query_tests"
TYPES = [
"account",
"change",
"group",
"project",
]
SUFFIX = "sTest.java"
# Compiles the abstract base classes (e.g. AbstractOpenQueryChangesTest)
# into a library so the concrete version-specific test targets can depend on them.
ABSTRACT_OPENSEARCH_TESTS = {i: "OpenSearchAbstractQuery*" + i.capitalize() + SUFFIX for i in TYPES}
[gerrit_plugin_test_util(
name = "abstract_open_query_%ss_test" % name,
plugin = "index-opensearch",
srcs = glob(["src/test/java/com/google/gerrit/opensearch/" + src]),
visibility = ["//visibility:public"],
ext_deps = OPENSEARCH_TEST_DEPS,
deps = [
QUERY_TESTS_DEP % name,
":opensearch_test_utils",
],
) for name, src in ABSTRACT_OPENSEARCH_TESTS.items()]
# One dict per supported OpenSearch major version.
OPENSEARCH_TESTS_V3 = {i: "OpenSearchV3Query" + i.capitalize() + SUFFIX for i in TYPES}
[gerrit_plugin_tests(
name = "open_query_%ss_test_V3" % name,
plugin = "index-opensearch",
size = "enormous",
srcs = ["src/test/java/com/google/gerrit/opensearch/" + src],
tags = [
"docker",
"exclusive",
"opensearch",
"opensearch_V3",
],
ext_deps = OPENSEARCH_TEST_DEPS,
deps = [
QUERY_TESTS_DEP % name,
":opensearch_test_utils",
":abstract_open_query_%ss_test" % name,
],
skip_dependency_tests = True,
) for name, src in OPENSEARCH_TESTS_V3.items()]
# Small unit tests (version/config/etc.) — excludes the large query integration tests.
gerrit_plugin_tests(
plugin = "index-opensearch",
size = "small",
srcs = glob(
[
"src/test/java/**/*IT.java",
"src/test/java/**/*Test.java",
],
exclude = ["src/test/java/**/Open*Query*" + SUFFIX],
),
tags = ["opensearch"],
ext_deps = OPENSEARCH_TEST_DEPS,
deps = [
":opensearch_test_utils",
],
)