Skip to content

Commit

Permalink
Merge pull request #12 from redlink-gmbh/solr9.7
Browse files Browse the repository at this point in the history
Make the *Test* fit for Solr 9.7
  • Loading branch information
ja-fra authored Sep 12, 2024
2 parents ab9edec + 6309d8b commit 655ba65
Show file tree
Hide file tree
Showing 6 changed files with 115 additions and 103 deletions.
43 changes: 38 additions & 5 deletions .github/workflows/maven-build-and-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,22 @@ jobs:
run: ./mvnw -B -q -N exec:exec -Dexec.executable=echo -Dexec.args='version=${project.version}' >>"$GITHUB_OUTPUT"

build:
name: Build and Test
name: Build and Test (Solr ${{ matrix.solr }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
solr:
- 9.0.0
- 9.2.1
- 9.3.0
- 9.4.1
- 9.5.0
- 9.6.1
- 9.7.0
include:
- solr: 9.7.0
sonar: enabled
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -46,17 +60,36 @@ jobs:
- name: Compile & Test
run: ./mvnw -V -B --no-transfer-progress
clean verify
-Dsolr.version=${{matrix.solr}}
-Psonarcloud
-Dsonar.projectKey=redlink-gmbh_solr-advanced-suggester
-Dsonar.skip=${{ github.actor == 'dependabot[bot]' }}
-Dsonar.skip=${{ github.actor == 'dependabot[bot]' || matrix.sonar != 'enabled' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
- name: Upload Test-Results
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: Test Results (Solr ${{matrix.solr}})
path: '**/TEST-*.xml'

test-results:
name: Test Results
needs: [ build ]
runs-on: ubuntu-latest
if: ${{ !cancelled() }}
steps:
- name: Fetch Test-Results
uses: actions/download-artifact@v4
with:
path: test-results
- name: Report Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: '**/TEST-*.xml'
files: 'test-results/**/TEST-*.xml'
action_fail: 'true'
action_fail_on_inconclusive: 'true'

deploy:
name: Publish
Expand Down
43 changes: 38 additions & 5 deletions .github/workflows/maven-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,22 @@ permissions:

jobs:
build:
name: Build and Test
name: Build and Test (Solr ${{ matrix.solr }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
solr:
- 9.0.0
- 9.2.1
- 9.3.0
- 9.4.1
- 9.5.0
- 9.6.1
- 9.7.0
include:
- solr: 9.7.0
sonar: enabled
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -30,14 +44,33 @@ jobs:
- name: Compile & Test
run: ./mvnw -V -B --no-transfer-progress
clean verify
-Dsolr.version=${{matrix.solr}}
-Psonarcloud
-Dsonar.projectKey=redlink-gmbh_solr-advanced-suggester
-Dsonar.skip=${{ github.actor == 'dependabot[bot]' }}
-Dsonar.skip=${{ github.actor == 'dependabot[bot]' || matrix.sonar != 'enabled' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
- name: Upload Test-Results
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: Test Results (Solr ${{matrix.solr}})
path: '**/TEST-*.xml'

test-results:
name: Test Results
needs: [ build ]
runs-on: ubuntu-latest
if: ${{ !cancelled() }}
steps:
- name: Fetch Test-Results
uses: actions/download-artifact@v4
with:
path: test-results
- name: Report Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: '**/TEST-*.xml'
files: 'test-results/**/TEST-*.xml'
action_fail: 'true'
action_fail_on_inconclusive: 'true'
34 changes: 34 additions & 0 deletions src/test/java/io/redlink/solr/suggestion/AbstractTestBase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package io.redlink.solr.suggestion;

import io.redlink.utils.PathUtils;
import io.redlink.utils.ResourceLoaderUtils;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.core.SolrCore;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.rules.TemporaryFolder;

public abstract class AbstractTestBase extends SolrTestCaseJ4 {

@ClassRule
public static TemporaryFolder temporaryFolder = new TemporaryFolder();

protected static SolrCore core;

@BeforeClass
public static void prepareIndex() throws Exception {
System.setProperty("runtimeLib", "false");
System.setProperty("solr.directoryFactory", "solr.MockDirectoryFactory");

final File solrhome = temporaryFolder.newFolder("solrhome");
final Path coreConfig = solrhome.toPath().resolve("core/conf");
Files.createDirectories(coreConfig);
PathUtils.copyRecursive(ResourceLoaderUtils.getResourceAsPath("solr-home/config").toAbsolutePath(), coreConfig);

initCore("solrconfig.xml", "schema.xml", solrhome.getAbsolutePath(), "core");
core = h.getCore();
}
}
31 changes: 2 additions & 29 deletions src/test/java/io/redlink/solr/suggestion/IssueExampleTest.java
Original file line number Diff line number Diff line change
@@ -1,46 +1,19 @@
package io.redlink.solr.suggestion;

import io.redlink.solr.suggestion.params.SuggestionRequestParams;
import io.redlink.utils.PathUtils;
import io.redlink.utils.ResourceLoaderUtils;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

public class IssueExampleTest extends SolrTestCaseJ4 {

@ClassRule
public static TemporaryFolder temporaryFolder = new TemporaryFolder();

private static SolrCore core;
public class IssueExampleTest extends AbstractTestBase {

@BeforeClass
public static void init() throws Exception {
System.setProperty("runtimeLib", "false");
System.setProperty("solr.lock.type", "single");

final File solrhome = temporaryFolder.newFolder("solrhome");
final Path coreConfig = solrhome.toPath().resolve("core/conf");
Files.createDirectories(coreConfig);
PathUtils.copyRecursive(ResourceLoaderUtils.getResourceAsPath("solr-home/config").toAbsolutePath(), coreConfig);

initCore("solrconfig.xml", "schema.xml", solrhome.getAbsolutePath(), "core");
core = h.getCore();

System.getProperties().remove("runtimeLib");

public static void init() {
assertU(adoc("_id_", "1",
"_type_", "Asset",
"dynamic_multi_stored_suggest_analyzed_name", "Sebastian Vettel",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,45 +1,18 @@
package io.redlink.solr.suggestion;

import io.redlink.solr.suggestion.params.SuggestionRequestParams;
import io.redlink.utils.PathUtils;
import io.redlink.utils.ResourceLoaderUtils;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.time.Instant;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

public class PivotRegexBasedSuggestionTest extends SolrTestCaseJ4 {

@ClassRule
public static TemporaryFolder temporaryFolder = new TemporaryFolder();

private static SolrCore core;
public class PivotRegexBasedSuggestionTest extends AbstractTestBase {

@BeforeClass
public static void init() throws Exception {
System.setProperty("runtimeLib", "false");
System.setProperty("solr.lock.type", "single");

final File solrhome = temporaryFolder.newFolder("solrhome");
final Path coreConfig = solrhome.toPath().resolve("core/conf");
Files.createDirectories(coreConfig);
PathUtils.copyRecursive(ResourceLoaderUtils.getResourceAsPath("solr-home/config").toAbsolutePath(), coreConfig);

initCore("solrconfig.xml", "schema.xml", solrhome.getAbsolutePath(), "core");
core = h.getCore();

System.getProperties().remove("runtimeLib");

public static void init() {
assertU(adoc("_id_", "1",
"_type_", "Asset",
"dynamic_multi_stored_suggest_string_name", "sebastian vettel",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,49 +1,15 @@
package io.redlink.solr.suggestion;

import io.redlink.solr.suggestion.params.SuggestionRequestParams;
import io.redlink.utils.PathUtils;
import io.redlink.utils.ResourceLoaderUtils;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;

public class SuggestionRequestHandlerTest extends SolrTestCaseJ4 {

@ClassRule
public static TemporaryFolder temporaryFolder = new TemporaryFolder();

private static SolrCore core;

@BeforeClass
public static void beforeClass() throws Exception {
SolrTestCaseJ4.setupTestCases();

System.setProperty("runtimeLib", "false");
System.setProperty("solr.lock.type", "single");

final File solrhome = temporaryFolder.newFolder("solrhome");
final Path coreConfig = solrhome.toPath().resolve("core/conf");
Files.createDirectories(coreConfig);
PathUtils.copyRecursive(ResourceLoaderUtils.getResourceAsPath("solr-home/config").toAbsolutePath(), coreConfig);

initCore("solrconfig.xml", "schema.xml", solrhome.getAbsolutePath(), "core");
core = h.getCore();

System.getProperties().remove("runtimeLib");

}
public class SuggestionRequestHandlerTest extends AbstractTestBase {

@Override
@Before
Expand Down

0 comments on commit 655ba65

Please sign in to comment.