Skip to content

Commit

Permalink
Fix integrationTest builds for JDK-11 sourcesets (opensearch-project#968
Browse files Browse the repository at this point in the history
)

Signed-off-by: Andriy Redko <[email protected]>
  • Loading branch information
reta authored May 7, 2024
1 parent 364f61c commit de05226
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 2 deletions.
1 change: 1 addition & 0 deletions .ci/opensearch/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ ARG opensearch_path=/usr/share/opensearch
ARG opensearch_yml=$opensearch_path/config/opensearch.yml

ARG SECURE_INTEGRATION
ENV OPENSEARCH_INITIAL_ADMIN_PASSWORD=0_aD^min_0
RUN if [ "$SECURE_INTEGRATION" != "true" ] ; then echo "plugins.security.disabled: true" >> $opensearch_yml; fi
10 changes: 9 additions & 1 deletion .github/workflows/test-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,19 @@ jobs:

- name: Run Docker
run: |
echo "PASSWORD=admin" >> $GITHUB_ENV
docker-compose --project-directory .ci/opensearch build --build-arg OPENSEARCH_VERSION=${{ matrix.entry.opensearch_version }}
docker-compose --project-directory .ci/opensearch up -d
sleep 60
- name: Sets password (new versions)
run: |
if [[ ${{ matrix.entry.opensearch_version }} =~ ^2.1[2-9]+.[0-9]+$ ]]; then
echo "PASSWORD=0_aD^min_0" >> $GITHUB_ENV
fi
- name: Run Integration Test
run: ./gradlew clean integrationTest
run: ./gradlew clean integrationTest -Dpassword=${{ env.PASSWORD }}

- name: Upload Reports
if: failure()
Expand Down
7 changes: 6 additions & 1 deletion java-client/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,12 @@ if (runtimeJavaVersion >= JavaVersion.VERSION_11) {
sourceCompatibility = JavaVersion.VERSION_11.toString()
}

tasks.test {
tasks.named<Test>("integrationTest") {
testClassesDirs += java11.output.classesDirs
classpath = sourceSets["java11"].runtimeClasspath
}

tasks.named<Test>("unitTest") {
testClassesDirs += java11.output.classesDirs
classpath = sourceSets["java11"].runtimeClasspath
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import org.junit.Test;
import org.opensearch.Version;
Expand Down Expand Up @@ -65,6 +66,7 @@ public void shouldReturnSearchResults() throws Exception {
@Test
public void hybridSearchShouldReturnSearchResults() throws Exception {
assumeTrue("Hybrid search is supported from 2.10.0", getServerVersion().onOrAfter(Version.V_2_10_0));
assumeTrue("Hybrid search needs opensearch-neural-search plugin to be installed", isNeuralSearchPluginInstalled());
final String index = "hybrid_search_request";
try {
createIndex(index);
Expand Down Expand Up @@ -138,6 +140,10 @@ public void shouldReturnSearchResultsWithExt() throws Exception {
assertEquals(response.hits().hits().size(), 8);
}

private boolean isNeuralSearchPluginInstalled() throws IOException {
return javaClient().cat().plugins().valueBody().stream().anyMatch(p -> Objects.equals(p.component(), "opensearch-neural-search"));
}

private void createTestDocuments(String index) throws IOException {
javaClient().create(_1 -> _1.index(index).id("1").document(createItem("hummer", "huge", "yes", 2)));
javaClient().create(_1 -> _1.index(index).id("2").document(createItem("jammer", "huge", "yes", 1)));
Expand Down

0 comments on commit de05226

Please sign in to comment.