You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ge...@apache.org on 2018/12/01 22:19:40 UTC
lucene-solr:master: SOLR-12555: Use `expectThrows` for expected
exceptions
Repository: lucene-solr
Updated Branches:
refs/heads/master e5281ef3d -> 6e4c9b3b5
SOLR-12555: Use `expectThrows` for expected exceptions
This commit replaces the `try { doX(); fail(); }` pattern with the
`expectThrows` test helper, which was created for this purpose.
This commit makes these changes in the core package:
`o.a.solr.core`.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/6e4c9b3b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/6e4c9b3b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/6e4c9b3b
Branch: refs/heads/master
Commit: 6e4c9b3b58148a48f582095a5a51aca2a63d0d35
Parents: e5281ef
Author: Jason Gerlowski <ge...@apache.org>
Authored: Sat Dec 1 14:33:49 2018 -0500
Committer: Jason Gerlowski <ge...@apache.org>
Committed: Sat Dec 1 17:19:34 2018 -0500
----------------------------------------------------------------------
.../org/apache/solr/core/PluginInfoTest.java | 23 ++--
.../apache/solr/core/ResourceLoaderTest.java | 41 +++----
.../org/apache/solr/core/TestCodecSupport.java | 51 ++++----
.../test/org/apache/solr/core/TestConfig.java | 17 ++-
.../solr/core/TestConfigSetProperties.java | 16 +--
.../org/apache/solr/core/TestConfigSets.java | 15 +--
.../org/apache/solr/core/TestCoreContainer.java | 118 +++++++------------
.../org/apache/solr/core/TestCoreDiscovery.java | 62 ++++------
.../org/apache/solr/core/TestLazyCores.java | 15 +--
9 files changed, 141 insertions(+), 217 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/PluginInfoTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/PluginInfoTest.java b/solr/core/src/test/org/apache/solr/core/PluginInfoTest.java
index c0cfe56..a567eb2 100644
--- a/solr/core/src/test/org/apache/solr/core/PluginInfoTest.java
+++ b/solr/core/src/test/org/apache/solr/core/PluginInfoTest.java
@@ -63,15 +63,16 @@ public class PluginInfoTest extends DOMUtilTestBase {
@Test
public void testNameRequired() throws Exception {
Node nodeWithNoName = getNode("<plugin></plugin>", "plugin");
- SolrTestCaseJ4.ignoreException("missing mandatory attribute");
try {
- PluginInfo pi = new PluginInfo(nodeWithNoName, "Node with No name", true, false);
- fail("Exception should have been thrown");
- } catch (RuntimeException e) {
- assertTrue(e.getMessage().contains("missing mandatory attribute"));
+ SolrTestCaseJ4.ignoreException("missing mandatory attribute");
+ RuntimeException thrown = expectThrows(RuntimeException.class, () -> {
+ PluginInfo pi = new PluginInfo(nodeWithNoName, "Node with No name", true, false);
+ });
+ assertTrue(thrown.getMessage().contains("missing mandatory attribute"));
} finally {
SolrTestCaseJ4.resetExceptionIgnores();
}
+
Node nodeWithAName = getNode("<plugin name=\"myName\" />", "plugin");
PluginInfo pi2 = new PluginInfo(nodeWithAName, "Node with a Name", true, false);
assertTrue(pi2.name.equals("myName"));
@@ -80,16 +81,16 @@ public class PluginInfoTest extends DOMUtilTestBase {
@Test
public void testClassRequired() throws Exception {
Node nodeWithNoClass = getNode("<plugin></plugin>", "plugin");
- SolrTestCaseJ4.ignoreException("missing mandatory attribute");
try {
- @SuppressWarnings("unused")
- PluginInfo pi = new PluginInfo(nodeWithNoClass, "Node with No Class", false, true);
- fail("Exception should have been thrown");
- } catch (RuntimeException e) {
- assertTrue(e.getMessage().contains("missing mandatory attribute"));
+ SolrTestCaseJ4.ignoreException("missing mandatory attribute");
+ RuntimeException thrown = expectThrows(RuntimeException.class, () -> {
+ PluginInfo pi = new PluginInfo(nodeWithNoClass, "Node with No Class", false, true);
+ });
+ assertTrue(thrown.getMessage().contains("missing mandatory attribute"));
} finally {
SolrTestCaseJ4.resetExceptionIgnores();
}
+
Node nodeWithAClass = getNode("<plugin class=\"myName\" />", "plugin");
PluginInfo pi2 = new PluginInfo(nodeWithAClass, "Node with a Class", false, true);
assertTrue(pi2.className.equals("myName"));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java b/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
index dc06a6f..eb88dbb 100644
--- a/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
+++ b/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
@@ -29,7 +29,6 @@ import java.util.Map;
import java.util.jar.JarEntry;
import java.util.jar.JarOutputStream;
-import junit.framework.Assert;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.core.KeywordTokenizerFactory;
import org.apache.lucene.analysis.ngram.NGramFilterFactory;
@@ -59,6 +58,7 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
Files.write(temp.resolve("dummy.txt"), new byte[]{});
Path instanceDir = temp.resolve("instance");
Files.createDirectories(instanceDir.resolve("conf"));
+
try (SolrResourceLoader loader = new SolrResourceLoader(instanceDir)) {
loader.openResource("../../dummy.txt").close();
fail();
@@ -70,11 +70,11 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
public void testAwareCompatibility() throws Exception {
- Class<?> clazz = ResourceLoaderAware.class;
+ final Class<?> clazz1 = ResourceLoaderAware.class;
// Check ResourceLoaderAware valid objects
//noinspection unchecked
- assertAwareCompatibility(clazz, new NGramFilterFactory(map("minGramSize", "1", "maxGramSize", "2")));
- assertAwareCompatibility(clazz, new KeywordTokenizerFactory(new HashMap<>()));
+ assertAwareCompatibility(clazz1, new NGramFilterFactory(map("minGramSize", "1", "maxGramSize", "2")));
+ assertAwareCompatibility(clazz1, new KeywordTokenizerFactory(new HashMap<>()));
// Make sure it throws an error for invalid objects
Object[] invalid = new Object[] {
@@ -84,19 +84,15 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
new JSONResponseWriter()
};
for( Object obj : invalid ) {
- try {
- assertAwareCompatibility(clazz, obj);
- Assert.fail( "Should be invalid class: "+obj + " FOR " + clazz );
- }
- catch( SolrException ex ) { } // OK
+ expectThrows(SolrException.class, () -> assertAwareCompatibility(clazz1, obj));
}
- clazz = SolrCoreAware.class;
+ final Class<?> clazz2 = SolrCoreAware.class;
// Check ResourceLoaderAware valid objects
- assertAwareCompatibility(clazz, new LukeRequestHandler());
- assertAwareCompatibility(clazz, new FacetComponent());
- assertAwareCompatibility(clazz, new JSONResponseWriter());
+ assertAwareCompatibility(clazz2, new LukeRequestHandler());
+ assertAwareCompatibility(clazz2, new FacetComponent());
+ assertAwareCompatibility(clazz2, new JSONResponseWriter());
// Make sure it throws an error for invalid objects
//noinspection unchecked
@@ -106,13 +102,8 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
new KeywordTokenizerFactory(new HashMap<>())
};
for( Object obj : invalid ) {
- try {
- assertAwareCompatibility(clazz, obj);
- Assert.fail( "Should be invalid class: "+obj + " FOR " + clazz );
- }
- catch( SolrException ex ) { } // OK
+ expectThrows(SolrException.class, () -> assertAwareCompatibility(clazz2, obj));
}
-
}
public void testBOMMarkers() throws Exception {
@@ -145,15 +136,11 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
public void testWrongEncoding() throws Exception {
String wrongEncoding = "stopwordsWrongEncoding.txt";
- SolrResourceLoader loader = new SolrResourceLoader(TEST_PATH().resolve("collection1"));
- // ensure we get our exception
- try {
- loader.getLines(wrongEncoding);
- fail();
- } catch (SolrException expected) {
- assertTrue(expected.getCause() instanceof CharacterCodingException);
+ try(SolrResourceLoader loader = new SolrResourceLoader(TEST_PATH().resolve("collection1"))) {
+ // ensure we get our exception
+ SolrException thrown = expectThrows(SolrException.class, () -> loader.getLines(wrongEncoding));
+ assertTrue(thrown.getCause() instanceof CharacterCodingException);
}
- loader.close();
}
public void testClassLoaderLibs() throws Exception {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
index 9d6d310..2da830f 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
@@ -159,39 +159,32 @@ public class TestCodecSupport extends SolrTestCaseJ4 {
}
public void testBadCompressionMode() throws Exception {
- try {
+ SolrException thrown = expectThrows(SolrException.class, () -> {
doTestCompressionMode("something_that_doesnt_exist", "something_that_doesnt_exist");
- fail("Expecting exception");
- } catch (SolrException e) {
- assertEquals(SolrException.ErrorCode.SERVER_ERROR.code, e.code());
- assertTrue("Unexpected Exception message: " + e.getMessage(),
- e.getMessage().contains("Unable to reload core"));
- }
+ });
+ assertEquals(SolrException.ErrorCode.SERVER_ERROR.code, thrown.code());
+ assertTrue("Unexpected Exception message: " + thrown.getMessage(),
+ thrown.getMessage().contains("Unable to reload core"));
- SchemaCodecFactory factory = new SchemaCodecFactory();
- NamedList<String> nl = new NamedList<>();
+ final SchemaCodecFactory factory1 = new SchemaCodecFactory();
+ final NamedList<String> nl = new NamedList<>();
nl.add(SchemaCodecFactory.COMPRESSION_MODE, "something_that_doesnt_exist");
- try {
- factory.init(nl);
- fail("Expecting exception");
- } catch (SolrException e) {
- assertEquals(SolrException.ErrorCode.SERVER_ERROR.code, e.code());
- assertTrue("Unexpected Exception message: " + e.getMessage(),
- e.getMessage().contains("Invalid compressionMode: 'something_that_doesnt_exist'"));
- }
-
- factory = new SchemaCodecFactory();
- nl = new NamedList<>();
- nl.add(SchemaCodecFactory.COMPRESSION_MODE, "");
- try {
- factory.init(nl);
- fail("Expecting exception");
- } catch (SolrException e) {
- assertEquals(SolrException.ErrorCode.SERVER_ERROR.code, e.code());
- assertTrue("Unexpected Exception message: " + e.getMessage(),
- e.getMessage().contains("Invalid compressionMode: ''"));
- }
+ thrown = expectThrows(SolrException.class, () -> {
+ factory1.init(nl);
+ });
+ assertEquals(SolrException.ErrorCode.SERVER_ERROR.code, thrown.code());
+ assertTrue("Unexpected Exception message: " + thrown.getMessage(),
+ thrown.getMessage().contains("Invalid compressionMode: 'something_that_doesnt_exist'"));
+ final SchemaCodecFactory factory2 = new SchemaCodecFactory();
+ final NamedList<String> nl2 = new NamedList<>();
+ nl2.add(SchemaCodecFactory.COMPRESSION_MODE, "");
+ thrown = expectThrows(SolrException.class, () -> {
+ factory2.init(nl2);
+ });
+ assertEquals(SolrException.ErrorCode.SERVER_ERROR.code, thrown.code());
+ assertTrue("Unexpected Exception message: " + thrown.getMessage(),
+ thrown.getMessage().contains("Invalid compressionMode: ''"));
}
public void testCompressionModeDefault() throws IOException {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestConfig.java b/solr/core/src/test/org/apache/solr/core/TestConfig.java
index aa43c25..57c2223 100644
--- a/solr/core/src/test/org/apache/solr/core/TestConfig.java
+++ b/solr/core/src/test/org/apache/solr/core/TestConfig.java
@@ -196,18 +196,15 @@ public class TestConfig extends SolrTestCaseJ4 {
Assert.assertEquals(-1, SolrConfig.convertHeapOptionStyleConfigStringToBytes(""));
// Invalid values
- try {
+ RuntimeException thrown = expectThrows(RuntimeException.class, () -> {
SolrConfig.convertHeapOptionStyleConfigStringToBytes("3jbk32k"); // valid suffix but non-numeric prefix
- Assert.fail();
- } catch (RuntimeException e) {
- Assert.assertTrue(e.getMessage().contains("Invalid"));
- }
- try {
+ });
+ assertTrue(thrown.getMessage().contains("Invalid"));
+
+ thrown = expectThrows(RuntimeException.class, () -> {
SolrConfig.convertHeapOptionStyleConfigStringToBytes("300x"); // valid prefix but invalid suffix
- Assert.fail();
- } catch (RuntimeException e) {
- Assert.assertTrue(e.getMessage().contains("Invalid"));
- }
+ });
+ assertTrue(thrown.getMessage().contains("Invalid"));
}
@Test
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestConfigSetProperties.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestConfigSetProperties.java b/solr/core/src/test/org/apache/solr/core/TestConfigSetProperties.java
index 4c22771..bdabb07 100644
--- a/solr/core/src/test/org/apache/solr/core/TestConfigSetProperties.java
+++ b/solr/core/src/test/org/apache/solr/core/TestConfigSetProperties.java
@@ -46,22 +46,18 @@ public class TestConfigSetProperties extends SolrTestCaseJ4 {
@Test
public void testEmptyConfigSetProperties() throws Exception {
- try {
+ SolrException thrown = expectThrows(SolrException.class, () -> {
createConfigSetProps("");
- fail("Excepted SolrException");
- } catch (SolrException ex) {
- assertEquals(ErrorCode.SERVER_ERROR.code, ex.code());
- }
+ });
+ assertEquals(ErrorCode.SERVER_ERROR.code, thrown.code());
}
@Test
public void testConfigSetPropertiesNotMap() throws Exception {
- try {
+ SolrException thrown = expectThrows(SolrException.class, () -> {
createConfigSetProps(JSONUtil.toJSON(new String[] {"test"}));
- fail("Expected SolrException");
- } catch (SolrException ex) {
- assertEquals(ErrorCode.SERVER_ERROR.code, ex.code());
- }
+ });
+ assertEquals(ErrorCode.SERVER_ERROR.code, thrown.code());
}
@Test
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestConfigSets.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestConfigSets.java b/solr/core/src/test/org/apache/solr/core/TestConfigSets.java
index ae11fd6..b0d8212 100644
--- a/solr/core/src/test/org/apache/solr/core/TestConfigSets.java
+++ b/solr/core/src/test/org/apache/solr/core/TestConfigSets.java
@@ -88,19 +88,16 @@ public class TestConfigSets extends SolrTestCaseJ4 {
@Test
public void testNonExistentConfigSetThrowsException() {
- CoreContainer container = null;
+ final CoreContainer container = setupContainer(getFile("solr/configsets").getAbsolutePath());
try {
- container = setupContainer(getFile("solr/configsets").getAbsolutePath());
Path testDirectory = container.getResourceLoader().getInstancePath();
- container.create("core1", ImmutableMap.of("configSet", "nonexistent"));
- fail("Expected core creation to fail");
- }
- catch (Exception e) {
- Throwable wrappedException = getWrappedException(e);
+ Exception thrown = expectThrows(Exception.class, "Expected core creation to fail", () -> {
+ container.create("core1", ImmutableMap.of("configSet", "nonexistent"));
+ });
+ Throwable wrappedException = getWrappedException(thrown);
assertThat(wrappedException.getMessage(), containsString("nonexistent"));
- }
- finally {
+ } finally {
if (container != null)
container.shutdown();
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java b/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
index cbef887..d492d73 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCoreContainer.java
@@ -166,26 +166,17 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
assertEquals("There should not be cores", 0, cores.getCores().size());
// try and remove a core that does not exist
- try {
+ SolrException thrown = expectThrows(SolrException.class, () -> {
cores.unload("non_existent_core");
- fail("Should have thrown an exception when unloading a non-existent core");
- }
- catch (SolrException e) {
- assertThat(e.getMessage(), containsString("Cannot unload non-existent core [non_existent_core]"));
- }
+ });
+ assertThat(thrown.getMessage(), containsString("Cannot unload non-existent core [non_existent_core]"));
+
// try and remove a null core
- try {
+ thrown = expectThrows(SolrException.class, () -> {
cores.unload(null);
- fail("Should have thrown an exception when unloading a null core");
- }
- catch (Exception e) {
- if (!(e instanceof SolrException)) {
- fail("Should not have thrown SolrException but got " + e);
- }
- assertThat(e.getMessage(), containsString("Cannot unload non-existent core [null]"));
- }
-
+ });
+ assertThat(thrown.getMessage(), containsString("Cannot unload non-existent core [null]"));
} finally {
cores.shutdown();
}
@@ -411,16 +402,13 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
// -----
// try to add a collection with a configset that doesn't exist
- try {
- ignoreException(Pattern.quote("bogus_path"));
+ ignoreException(Pattern.quote("bogus_path"));
+ SolrException thrown = expectThrows(SolrException.class, () -> {
cc.create("bogus", ImmutableMap.of("configSet", "bogus_path"));
- fail("bogus inst dir failed to trigger exception from create");
- } catch (SolrException e) {
- Throwable cause = Throwables.getRootCause(e);
- assertTrue("init exception doesn't mention bogus dir: " + cause.getMessage(),
- 0 < cause.getMessage().indexOf("bogus_path"));
-
- }
+ });
+ Throwable rootCause = Throwables.getRootCause(thrown);
+ assertTrue("init exception doesn't mention bogus dir: " + rootCause.getMessage(),
+ 0 < rootCause.getMessage().indexOf("bogus_path"));
// check that we have the cores we expect
cores = cc.getLoadedCoreNames();
@@ -439,16 +427,13 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
// check that we get null accessing a non-existent core
assertNull(cc.getCore("does_not_exist"));
// check that we get a 500 accessing the core with an init failure
- try {
+ thrown = expectThrows(SolrException.class, () -> {
SolrCore c = cc.getCore("bogus");
- fail("Failed to get Exception on accessing core with init failure");
- } catch (SolrException ex) {
- assertEquals(500, ex.code());
- String cause = Throwables.getRootCause(ex).getMessage();
- assertTrue("getCore() ex cause doesn't mention init fail: " + cause,
- 0 < cause.indexOf("bogus_path"));
-
- }
+ });
+ assertEquals(500, thrown.code());
+ String cause = Throwables.getRootCause(thrown).getMessage();
+ assertTrue("getCore() ex cause doesn't mention init fail: " + cause,
+ 0 < cause.indexOf("bogus_path"));
cc.shutdown();
}
@@ -494,16 +479,12 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
// check that we get null accessing a non-existent core
assertNull(cc.getCore("does_not_exist"));
// check that we get a 500 accessing the core with an init failure
- try {
+ SolrException thrown = expectThrows(SolrException.class, () -> {
SolrCore c = cc.getCore("col_bad");
- fail("Failed to get Exception on accessing core with init failure");
- } catch (SolrException ex) {
- assertEquals(500, ex.code());
- // double wrapped
- String cause = ex.getCause().getCause().getMessage();
- assertTrue("getCore() ex cause doesn't mention init fail: " + cause,
- 0 < cause.indexOf("DummyMergePolicy"));
- }
+ });
+ assertEquals(500, thrown.code());
+ String cause = thrown.getCause().getCause().getMessage();
+ assertTrue("getCore() ex cause doesn't mention init fail: " + cause, 0 < cause.indexOf("DummyMergePolicy"));
// -----
// "fix" the bad collection
@@ -528,15 +509,12 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
// -----
// try to add a collection with a path that doesn't exist
- try {
- ignoreException(Pattern.quote("bogus_path"));
+ ignoreException(Pattern.quote("bogus_path"));
+ thrown = expectThrows(SolrException.class, () -> {
cc.create("bogus", ImmutableMap.of("configSet", "bogus_path"));
- fail("bogus inst dir failed to trigger exception from create");
- } catch (SolrException e) {
- assertTrue("init exception doesn't mention bogus dir: " + e.getCause().getCause().getMessage(),
- 0 < e.getCause().getCause().getMessage().indexOf("bogus_path"));
-
- }
+ });
+ assertTrue("init exception doesn't mention bogus dir: " + thrown.getCause().getCause().getMessage(),
+ 0 < thrown.getCause().getCause().getMessage().indexOf("bogus_path"));
// check that we have the cores we expect
cores = cc.getLoadedCoreNames();
@@ -557,16 +535,13 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
// check that we get null accessing a non-existent core
assertNull(cc.getCore("does_not_exist"));
// check that we get a 500 accessing the core with an init failure
- try {
+ thrown = expectThrows(SolrException.class, () -> {
SolrCore c = cc.getCore("bogus");
- fail("Failed to get Exception on accessing core with init failure");
- } catch (SolrException ex) {
- assertEquals(500, ex.code());
- // double wrapped
- String cause = ex.getCause().getMessage();
- assertTrue("getCore() ex cause doesn't mention init fail: " + cause,
- 0 < cause.indexOf("bogus_path"));
- }
+ });
+ assertEquals(500, thrown.code());
+ cause = thrown.getCause().getMessage();
+ assertTrue("getCore() ex cause doesn't mention init fail: " + cause,
+ 0 < cause.indexOf("bogus_path"));
// -----
// break col_bad's config and try to RELOAD to add failure
@@ -578,19 +553,16 @@ public class TestCoreContainer extends SolrTestCaseJ4 {
"This is giberish, not valid XML <",
IOUtils.UTF_8);
- try {
- ignoreException(Pattern.quote("SAX"));
- cc.reload("col_bad");
- fail("corrupt solrconfig.xml failed to trigger exception from reload");
- } catch (SolrException e) {
- Throwable rootException = getWrappedException(e);
- assertTrue("We're supposed to have a wrapped SAXParserException here, but we don't",
- rootException instanceof SAXParseException);
- SAXParseException se = (SAXParseException) rootException;
- assertTrue("reload exception doesn't refer to slrconfig.xml " + se.getSystemId(),
- 0 < se.getSystemId().indexOf("solrconfig.xml"));
-
- }
+ ignoreException(Pattern.quote("SAX"));
+ thrown = expectThrows(SolrException.class,
+ "corrupt solrconfig.xml failed to trigger exception from reload",
+ () -> { cc.reload("col_bad"); });
+ Throwable rootException = getWrappedException(thrown);
+ assertTrue("We're supposed to have a wrapped SAXParserException here, but we don't",
+ rootException instanceof SAXParseException);
+ SAXParseException se = (SAXParseException) rootException;
+ assertTrue("reload exception doesn't refer to slrconfig.xml " + se.getSystemId(),
+ 0 < se.getSystemId().indexOf("solrconfig.xml"));
assertEquals("Failed core reload should not have changed start time",
col_bad_old_start, getCoreStartTime(cc, "col_bad"));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestCoreDiscovery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestCoreDiscovery.java b/solr/core/src/test/org/apache/solr/core/TestCoreDiscovery.java
index 4e944c3..f960c89 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCoreDiscovery.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCoreDiscovery.java
@@ -228,12 +228,8 @@ public class TestCoreDiscovery extends SolrTestCaseJ4 {
CoreContainer cc = init();
try {
- try {
- cc.getCore("corep1");
- fail("Should have thrown exception");
- } catch (SolrCoreInitializationException scie) {
- assertTrue(scie.getMessage().contains("init failure"));
- }
+ Exception thrown = expectThrows(SolrCoreInitializationException.class, () -> cc.getCore("corep1"));
+ assertTrue(thrown.getMessage().contains("init failure"));
try (SolrCore sc = cc.getCore("corep2")) {
assertNotNull("Core corep2 should be loaded", sc);
}
@@ -249,17 +245,15 @@ public class TestCoreDiscovery extends SolrTestCaseJ4 {
corePropFile = Paths.get(solrHomeDirectory.toString(), "corep4", "core.properties");
assertFalse("Should not be a properties file yet for corep4", Files.exists(corePropFile));
- try {
+ thrown = expectThrows(SolrException.class, () -> {
cc.create("corep4", ImmutableMap.of(
CoreDescriptor.CORE_NAME, "corep4",
CoreDescriptor.CORE_SCHEMA, "not-there.xml",
CoreDescriptor.CORE_CONFIG, "solrconfig-minimal.xml",
CoreDescriptor.CORE_TRANSIENT, "false",
CoreDescriptor.CORE_LOADONSTARTUP, "true"));
- fail("Should have thrown exception getting core ");
- } catch (SolrException se) {
- assertTrue(se.getMessage().contains("Can't find resource"));
- }
+ });
+ assertTrue(thrown.getMessage().contains("Can't find resource"));
assertFalse("Failed corep4 should not have left a core.properties file around", Files.exists(corePropFile));
// Finally, just for yucks, let's determine that a this create path also leaves a prop file.
@@ -344,23 +338,18 @@ public class TestCoreDiscovery extends SolrTestCaseJ4 {
// name, isLazy, loadOnStartup
addCoreWithProps("core1", makeCoreProperties("core1", false, true));
addCoreWithProps("core2", makeCoreProperties("core2", false, false, "name=core1"));
- CoreContainer cc = null;
- try {
- cc = init();
- fail("Should have thrown exception in testDuplicateNames");
- } catch (SolrException se) {
- String message = se.getMessage();
- assertTrue("Wrong exception thrown on duplicate core names",
- message.indexOf("Found multiple cores with the name [core1]") != -1);
- assertTrue(File.separator + "core1 should have been mentioned in the message: " + message,
- message.indexOf(File.separator + "core1") != -1);
- assertTrue(File.separator + "core2 should have been mentioned in the message:" + message,
- message.indexOf(File.separator + "core2") != -1);
- } finally {
- if (cc != null) {
- cc.shutdown();
- }
- }
+ SolrException thrown = expectThrows(SolrException.class, () -> {
+ CoreContainer cc = null;
+ try { cc = init(); }
+ finally { if (cc != null) cc.shutdown(); }
+ });
+ final String message = thrown.getMessage();
+ assertTrue("Wrong exception thrown on duplicate core names",
+ message.indexOf("Found multiple cores with the name [core1]") != -1);
+ assertTrue(File.separator + "core1 should have been mentioned in the message: " + message,
+ message.indexOf(File.separator + "core1") != -1);
+ assertTrue(File.separator + "core2 should have been mentioned in the message:" + message,
+ message.indexOf(File.separator + "core2") != -1);
}
@@ -533,17 +522,12 @@ public class TestCoreDiscovery extends SolrTestCaseJ4 {
assumeTrue("Cannot make " + homeDir + " non-readable. Test aborted.", homeDir.setReadable(false, false));
assumeFalse("Appears we are a super user, skip test", homeDir.canRead());
- CoreContainer cc = null;
- try {
- cc = init();
- fail("Should have thrown an exception here");
- } catch (Exception ex) {
- assertThat(ex.getMessage(), containsString("Error reading core root directory"));
- } finally {
- if (cc != null) {
- cc.shutdown();
- }
- }
+ Exception thrown = expectThrows(Exception.class, () -> {
+ CoreContainer cc = null;
+ try { cc = init(); }
+ finally { if (cc != null) cc.shutdown(); }
+ });
+ assertThat(thrown.getMessage(), containsString("Error reading core root directory"));
// So things can be cleaned up by the framework!
homeDir.setReadable(true, false);
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6e4c9b3b/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/core/TestLazyCores.java b/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
index f8ffb84..0831da2 100644
--- a/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
+++ b/solr/core/src/test/org/apache/solr/core/TestLazyCores.java
@@ -309,7 +309,7 @@ public class TestLazyCores extends SolrTestCaseJ4 {
}
private void tryCreateFail(CoreAdminHandler admin, String name, String dataDir, String... errs) throws Exception {
- try {
+ SolrException thrown = expectThrows(SolrException.class, () -> {
SolrQueryResponse resp = new SolrQueryResponse();
SolrQueryRequest request = req(CoreAdminParams.ACTION,
@@ -320,14 +320,11 @@ public class TestLazyCores extends SolrTestCaseJ4 {
"config", "solrconfig.xml");
admin.handleRequestBody(request, resp);
- fail("Should have thrown an error");
- } catch (SolrException se) {
- //SolrException cause = (SolrException)se.getCause();
- assertEquals("Exception code should be 500", 500, se.code());
- for (String err : errs) {
- assertTrue("Should have seen an exception containing the an error",
- se.getMessage().contains(err));
- }
+ });
+ assertEquals("Exception code should be 500", 500, thrown.code());
+ for (String err : errs) {
+ assertTrue("Should have seen an exception containing the an error",
+ thrown.getMessage().contains(err));
}
}
@Test