You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by al...@apache.org on 2025/05/09 20:33:48 UTC
(aries) 04/05: [MAINTENANCE] Replace Assert.fail with assertThrows
This is an automated email from the ASF dual-hosted git repository.
alien11689 pushed a commit to branch remove-usage-of-deprecated-junit-3-api
in repository https://gitbox.apache.org/repos/asf/aries.git
commit 4da99483e5b78c73cdb599cca5373603cfdaf46c
Author: Dominik Przybysz <al...@gmail.com>
AuthorDate: Fri May 9 16:01:45 2025 +0200
[MAINTENANCE] Replace Assert.fail with assertThrows
---
.../org/apache/aries/ant/taskdefs/EsaTaskTest.java | 65 +--
.../apache/aries/jmx/framework/FrameworkTest.java | 46 +-
.../jmx/test/blueprint/BlueprintMBeanTest.java | 1 -
.../aries/jmx/whiteboard/MBeanHolderTest.java | 9 +-
.../aries/jndi/url/ServiceRegistryContextTest.java | 492 ++++++++++-----------
proxy/proxy-impl/pom.xml | 1 +
.../aries/blueprint/proxy/AbstractProxyTest.java | 38 +-
.../blueprint/proxy/InterfaceProxyingTest.java | 14 +-
.../blueprint/proxy/WovenProxyGeneratorTest.java | 32 +-
proxy/proxy-itests/pom.xml | 1 +
.../ClientWeavingHookGenericCapabilityTest.java | 20 +-
subsystem/subsystem-core/pom.xml | 4 +-
...ndleRequiredExecutionEnvironmentHeaderTest.java | 9 +-
.../core/archive/FragmentHostHeaderTest.java | 29 +-
.../subsystem/core/archive/GenericHeaderTest.java | 29 +-
.../subsystem/core/internal/LocationTest.java | 41 +-
.../modelling/utils/DeployedBundlesTest.java | 146 +-----
.../utils/PackageRequirementMergerTest.java | 24 +-
transaction/transaction-blueprint/pom.xml | 4 +-
.../apache/aries/transaction/TranStrategyTest.java | 79 +---
.../org/apache/aries/util/VersionRangeTest.java | 38 +-
.../aries/util/filesystem/FileSystemTest.java | 9 +-
.../apache/aries/util/filesystem/IOUtilsTest.java | 14 +-
.../util/manifest/ManifestHeaderProcessorTest.java | 32 +-
.../aries/versioning/tests/FilterResultsTest.java | 14 +-
.../aries/web/converter/impl/WabConverterTest.java | 13 +-
26 files changed, 432 insertions(+), 772 deletions(-)
diff --git a/esa-ant-task/src/test/java/org/apache/aries/ant/taskdefs/EsaTaskTest.java b/esa-ant-task/src/test/java/org/apache/aries/ant/taskdefs/EsaTaskTest.java
index 8a115eea6..a4e7c4464 100755
--- a/esa-ant-task/src/test/java/org/apache/aries/ant/taskdefs/EsaTaskTest.java
+++ b/esa-ant-task/src/test/java/org/apache/aries/ant/taskdefs/EsaTaskTest.java
@@ -19,20 +19,19 @@
package org.apache.aries.ant.taskdefs;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.types.FileSet;
+import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.FileSet;
-import org.junit.Test;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
/**
* @version $Id: $
@@ -40,7 +39,7 @@ import org.junit.Test;
public class EsaTaskTest {
@Test
- public void generateArchiveNoManifest() {
+ public void generateArchiveNoManifest() throws IOException {
File srcDir = new File("../src/test/resources");
@@ -63,20 +62,15 @@ public class EsaTaskTest {
esaTask.execute();
assertTrue(destfile.exists());
- try {
- ZipFile esaArchive = new ZipFile(destfile);
- assertNotNull(esaArchive);
- ZipEntry subsystemManifest =
- esaArchive.getEntry("OSGI-INF/SUBSYSTEM.MF");
- assertNull(subsystemManifest);
- }
- catch (IOException e) {
- fail(e.getMessage());
- }
+ ZipFile esaArchive = new ZipFile(destfile);
+ assertNotNull(esaArchive);
+ ZipEntry subsystemManifest =
+ esaArchive.getEntry("OSGI-INF/SUBSYSTEM.MF");
+ assertNull(subsystemManifest);
}
@Test
- public void generateArchiveWithFileManifest() {
+ public void generateArchiveWithFileManifest() throws IOException {
File srcDir = new File("../src/test/resources");
@@ -100,20 +94,15 @@ public class EsaTaskTest {
esaTask.execute();
assertTrue(destfile.exists());
- try {
- ZipFile esaArchive = new ZipFile(destfile);
- assertNotNull(esaArchive);
- ZipEntry subsystemManifest =
- esaArchive.getEntry("OSGI-INF/SUBSYSTEM.MF");
- assertNotNull(subsystemManifest);
- }
- catch (IOException e) {
- fail(e.getMessage());
- }
+ ZipFile esaArchive = new ZipFile(destfile);
+ assertNotNull(esaArchive);
+ ZipEntry subsystemManifest =
+ esaArchive.getEntry("OSGI-INF/SUBSYSTEM.MF");
+ assertNotNull(subsystemManifest);
}
@Test
- public void generateArchiveWithNewManifest() {
+ public void generateArchiveWithNewManifest() throws IOException {
File srcDir = new File("../src/test/resources");
assertTrue(srcDir.exists());
@@ -145,15 +134,9 @@ public class EsaTaskTest {
esaTask.execute();
assertTrue(destfile.exists());
- try {
- ZipFile esaArchive = new ZipFile(destfile);
- assertNotNull(esaArchive);
- ZipEntry subsystemManifest =
- esaArchive.getEntry("OSGI-INF/SUBSYSTEM.MF");
- assertNotNull(subsystemManifest);
- }
- catch (IOException e) {
- fail(e.getMessage());
- }
+ ZipFile esaArchive = new ZipFile(destfile);
+ assertNotNull(esaArchive);
+ ZipEntry subsystemManifest = esaArchive.getEntry("OSGI-INF/SUBSYSTEM.MF");
+ assertNotNull(subsystemManifest);
}
}
diff --git a/jmx/jmx-core/src/test/java/org/apache/aries/jmx/framework/FrameworkTest.java b/jmx/jmx-core/src/test/java/org/apache/aries/jmx/framework/FrameworkTest.java
index 0727683d4..bce7d2a78 100644
--- a/jmx/jmx-core/src/test/java/org/apache/aries/jmx/framework/FrameworkTest.java
+++ b/jmx/jmx-core/src/test/java/org/apache/aries/jmx/framework/FrameworkTest.java
@@ -39,8 +39,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
/**
* {@link FrameworkMBean} test case.
@@ -89,12 +89,7 @@ public class FrameworkTest {
Mockito.reset(context);
Mockito.when(context.installBundle("file:test2.jar")).thenThrow(new BundleException("location doesn't exist"));
- try {
- mbean.installBundle("file:test2.jar");
- fail("Shouldn't go to this stage, location doesn't exist");
- } catch (IOException e) {
- // ok
- }
+ assertThrows(IOException.class, () -> mbean.installBundle("file:test2.jar"));
}
@@ -113,12 +108,7 @@ public class FrameworkTest {
Mockito.when(context.installBundle(Mockito.anyString(), Mockito.any(InputStream.class))).thenThrow(
new BundleException("location doesn't exist"));
- try {
- spiedMBean.installBundleFromURL("file:test2.jar", "test.jar");
- fail("Shouldn't go to this stage, location doesn't exist");
- } catch (IOException e) {
- // ok
- }
+ assertThrows(IOException.class, () -> spiedMBean.installBundleFromURL("file:test2.jar", "test.jar"));
}
@Test
@@ -187,12 +177,7 @@ public class FrameworkTest {
mbean.refreshBundle(1);
Mockito.verify(admin).refreshPackages((Bundle[]) Mockito.any());
- try {
- mbean.refreshBundle(2);
- fail("IOException should be thrown");
- } catch (IOException e) {
- // expected
- }
+ assertThrows(IOException.class, () -> mbean.refreshBundle(2));
}
@Test
@@ -300,20 +285,11 @@ public class FrameworkTest {
Mockito.when(context.getBundle(6)).thenReturn(bundle);
Mockito.doThrow(new BundleException("")).when(bundle).start();
- try {
- mbean.startBundle(6);
- fail("Shouldn't go to this stage, BundleException was thrown");
- } catch (IOException ioe) {
- // expected
- }
+ assertThrows(IOException.class, () -> mbean.startBundle(6));
Mockito.when(context.getBundle(6)).thenReturn(null);
- try {
- mbean.startBundle(6);
- fail("IOException should be thrown");
- } catch (IOException e) {
- //expected
- }
+
+ assertThrows(IOException.class, () -> mbean.startBundle(6));
}
@Test
@@ -346,13 +322,7 @@ public class FrameworkTest {
Mockito.verify(bundle).stop();
Mockito.when(context.getBundle(5)).thenReturn(null);
- try {
- mbean.stopBundle(5);
- fail("IOException should be thrown");
- } catch (IOException e) {
- //expected
- }
-
+ assertThrows(IOException.class, () -> mbean.startBundle(5));
}
@Test
diff --git a/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/test/blueprint/BlueprintMBeanTest.java b/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/test/blueprint/BlueprintMBeanTest.java
index 54612a137..210612923 100644
--- a/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/test/blueprint/BlueprintMBeanTest.java
+++ b/jmx/jmx-itests/src/test/java/org/apache/aries/jmx/test/blueprint/BlueprintMBeanTest.java
@@ -52,7 +52,6 @@ import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.util.Filter;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
-import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
import org.osgi.service.blueprint.container.BlueprintContainer;
diff --git a/jmx/jmx-whiteboard/src/test/java/org/apache/aries/jmx/whiteboard/MBeanHolderTest.java b/jmx/jmx-whiteboard/src/test/java/org/apache/aries/jmx/whiteboard/MBeanHolderTest.java
index 8f20110e1..46ddf07db 100644
--- a/jmx/jmx-whiteboard/src/test/java/org/apache/aries/jmx/whiteboard/MBeanHolderTest.java
+++ b/jmx/jmx-whiteboard/src/test/java/org/apache/aries/jmx/whiteboard/MBeanHolderTest.java
@@ -35,7 +35,7 @@ import org.mockito.stubbing.Answer;
import org.slf4j.Logger;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
public class MBeanHolderTest {
@Test
@@ -117,12 +117,7 @@ public class MBeanHolderTest {
thenThrow(new NullPointerException());
assertEquals(0, registrations.size());
- try {
- mbh.register(ms, new String [] {});
- fail("Should have thrown a NullPointerException");
- } catch (NullPointerException npe) {
- // good!
- }
+ assertThrows(NullPointerException.class, () ->mbh.register(ms, new String [] {}));
}
private MBeanServer mockMBeanServer()
diff --git a/jndi/jndi-url/src/test/java/org/apache/aries/jndi/url/ServiceRegistryContextTest.java b/jndi/jndi-url/src/test/java/org/apache/aries/jndi/url/ServiceRegistryContextTest.java
index 24111f943..72ea06d81 100644
--- a/jndi/jndi-url/src/test/java/org/apache/aries/jndi/url/ServiceRegistryContextTest.java
+++ b/jndi/jndi-url/src/test/java/org/apache/aries/jndi/url/ServiceRegistryContextTest.java
@@ -18,32 +18,6 @@
*/
package org.apache.aries.jndi.url;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.sql.SQLException;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-import javax.naming.Binding;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameClassPair;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.spi.ObjectFactory;
-import javax.sql.DataSource;
-
import org.apache.aries.jndi.api.JNDIConstants;
import org.apache.aries.mocks.BundleContextMock;
import org.apache.aries.mocks.BundleMock;
@@ -62,6 +36,31 @@ import org.osgi.framework.ServiceFactory;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
+import javax.naming.Binding;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameClassPair;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.spi.ObjectFactory;
+import javax.sql.DataSource;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.concurrent.Callable;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests for our JNDI implementation for the service registry.
*/
@@ -73,14 +72,14 @@ public class ServiceRegistryContextTest
private BundleContext bc;
/** The service registration for the service */
private ServiceRegistration reg;
-
+
/**
* This method does the setup to ensure we always have a service.
- * @throws NamingException
- * @throws NoSuchFieldException
- * @throws SecurityException
- * @throws IllegalAccessException
- * @throws IllegalArgumentException
+ * @throws NamingException
+ * @throws NoSuchFieldException
+ * @throws SecurityException
+ * @throws IllegalAccessException
+ * @throws IllegalArgumentException
*/
@Before
public void registerService() throws Exception
@@ -89,67 +88,67 @@ public class ServiceRegistryContextTest
registerProxyManager();
new org.apache.aries.jndi.startup.Activator().start(bc);
new Activator().start(bc);
-
+
service = Skeleton.newMock(Runnable.class);
-
+
registerService(service);
}
-
- private void registerProxyManager()
+
+ private void registerProxyManager()
{
ProxyManager mgr = Skeleton.newMock(ProxyManager.class);
-
+
// public Object createDelegatingProxy(Bundle clientBundle, Collection<Class<?>> classes, Callable<Object> dispatcher, Object template) throws UnableToProxyException;
Skeleton.getSkeleton(mgr).registerMethodCallHandler(new MethodCall(ProxyManager.class, "createDelegatingProxy", Bundle.class, Collection.class, Callable.class, Object.class),
- new MethodCallHandler()
+ new MethodCallHandler()
{
- public Object handle(MethodCall methodCall, Skeleton skeleton) throws Exception
+ public Object handle(MethodCall methodCall, Skeleton skeleton) throws Exception
{
@SuppressWarnings("unchecked")
Collection<Class<?>> interfaceClasses = (Collection<Class<?>>) methodCall.getArguments()[1];
Class<?>[] classes = new Class<?>[interfaceClasses.size()];
-
- Iterator<Class<?>> it = interfaceClasses.iterator();
+
+ Iterator<Class<?>> it = interfaceClasses.iterator();
for (int i = 0; it.hasNext(); i++) {
classes[i] = it.next();
}
-
+
@SuppressWarnings("unchecked")
final Callable<Object> target = (Callable<Object>) methodCall.getArguments()[2];
-
- return Proxy.newProxyInstance(this.getClass().getClassLoader(), classes, new InvocationHandler()
+
+ return Proxy.newProxyInstance(this.getClass().getClassLoader(), classes, new InvocationHandler()
{
public Object invoke(Object mock, Method method, Object[] arguments)
- throws Throwable
+ throws Throwable
{
return method.invoke(target.call(), arguments);
}
});
}
});
-
+
bc.registerService(ProxyManager.class.getName(), mgr, null);
}
/**
* Register a service in our map.
- *
+ *
* @param service2 The service to register.
*/
private void registerService(Runnable service2)
{
ServiceFactory factory = Skeleton.newMock(ServiceFactory.class);
Skeleton skel = Skeleton.getSkeleton(factory);
-
+
skel.setReturnValue(new MethodCall(ServiceFactory.class, "getService", Bundle.class, ServiceRegistration.class), service2);
-
+
Hashtable<String, String> props = new Hashtable<String, String>();
props.put("rubbish", "smelly");
-
+
reg = bc.registerService(new String[] {"java.lang.Runnable"}, factory, props);
}
-
+
/**
* Make sure we clear the caches out before the next test.
*/
@@ -157,61 +156,57 @@ public class ServiceRegistryContextTest
public void teardown()
{
BundleContextMock.clear();
-
+
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
}
-
+
@Test
public void testBaseLookup() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
Context ctx2 = (Context) ctx.lookup("osgi:service");
-
- Runnable r1 = (Runnable) ctx2.lookup("java.lang.Runnable");
+
+ Runnable r1 = (Runnable) ctx2.lookup("java.lang.Runnable");
assertNotNull(r1);
assertTrue("expected proxied service class", r1 != service);
-
+
Runnable r2 = (Runnable) ctx.lookup("aries:services/java.lang.Runnable");
assertNotNull(r2);
assertTrue("expected non-proxied service class", r2 == service);
}
-
+
@Test
public void testLookupWithPause() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
Hashtable<Object, Object> env = new Hashtable<Object, Object>();
env.put(JNDIConstants.REBIND_TIMEOUT, 1000);
-
+
InitialContext ctx = new InitialContext(env);
-
+
Context ctx2 = (Context) ctx.lookup("osgi:service");
-
- Runnable r1 = (Runnable) ctx2.lookup("java.lang.Runnable");
-
+
+ Runnable r1 = (Runnable) ctx2.lookup("java.lang.Runnable");
+
reg.unregister();
-
+
long startTime = System.currentTimeMillis();
-
- try {
- r1.run();
- fail("Should have received an exception");
- } catch (ServiceException e) {
- long endTime = System.currentTimeMillis();
- long diff = endTime - startTime;
-
- assertTrue("The run method did not fail in the expected time (1s): " + diff, diff >= 1000);
- }
+
+ assertThrows(ServiceException.class, () -> r1.run() );
+ long endTime = System.currentTimeMillis();
+ long diff = endTime - startTime;
+
+ assertTrue("The run method did not fail in the expected time (1s): " + diff, diff >= 1000);
}
-
+
/**
* This test checks that we correctly register and deregister the url context
* object factory in the service registry.
@@ -220,49 +215,49 @@ public class ServiceRegistryContextTest
public void testJNDIRegistration()
{
ServiceReference ref = bc.getServiceReference(ObjectFactory.class.getName());
-
+
assertNotNull("The aries url context object factory was not registered", ref);
-
+
ObjectFactory factory = (ObjectFactory) bc.getService(ref);
-
+
assertNotNull("The aries url context object factory was null", factory);
}
-
+
@Test
public void jndiLookupServiceNameTest() throws NamingException, SQLException
{
InitialContext ctx = new InitialContext(new Hashtable<Object, Object>());
-
+
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
-
+
DataSource first = Skeleton.newMock(DataSource.class);
DataSource second = Skeleton.newMock(DataSource.class);
-
+
Hashtable<String, String> properties = new Hashtable<String, String>();
properties.put("osgi.jndi.service.name", "jdbc/myDataSource");
-
+
bc.registerService(DataSource.class.getName(), first, properties);
properties = new Hashtable<String, String>();
properties.put("osgi.jndi.service.name", "jdbc/myDataSource2");
-
+
bc.registerService(DataSource.class.getName(), second, properties);
-
+
DataSource s = (DataSource) ctx.lookup("osgi:service/jdbc/myDataSource");
-
+
assertNotNull(s);
-
+
s = (DataSource) ctx.lookup("osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/myDataSource2)");
-
+
assertNotNull(s);
-
+
s.isWrapperFor(DataSource.class); // don't care about the method, just need to call something.
-
+
Skeleton.getSkeleton(second).assertCalled(new MethodCall(DataSource.class, "isWrapperFor", Class.class));
}
-
+
/**
* This test does a simple JNDI lookup to prove that works.
* @throws NamingException
@@ -271,45 +266,45 @@ public class ServiceRegistryContextTest
public void simpleJNDILookup() throws NamingException
{
System.setProperty(Context.URL_PKG_PREFIXES, "helloMatey");
-
+
InitialContext ctx = new InitialContext(new Hashtable<Object, Object>());
-
+
BundleMock mock = new BundleMock("scooby.doo.1", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
-
+
Runnable s = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-
+
assertNotNull("We didn't get a service back from our lookup :(", s);
-
+
s.run();
-
+
Skeleton.getSkeleton(service).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
-
+
Skeleton skel = Skeleton.getSkeleton(mock.getBundleContext());
-
+
skel.assertCalled(new MethodCall(BundleContext.class, "getServiceReferences", "java.lang.Runnable", null));
ctx = new InitialContext(new Hashtable<Object, Object>());
-
+
mock = new BundleMock("scooby.doo.2", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
s = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-
+
// Check we have the packages set correctly
-
+
String packages = System.getProperty(Context.URL_PKG_PREFIXES, null);
-
+
assertTrue(ctx.getEnvironment().containsValue(packages));
assertNotNull("We didn't get a service back from our lookup :(", s);
s.run();
-
+
Skeleton.getSkeleton(service).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 2);
-
+
skel = Skeleton.getSkeleton(mock.getBundleContext());
skel.assertCalled(new MethodCall(BundleContext.class, "getServiceReferences", "java.lang.Runnable", null));
}
@@ -319,33 +314,33 @@ public class ServiceRegistryContextTest
* Right now our mock service registry does not implement filtering, so the
* effect is the same as simpleJNDILookup, but we at least know it is not
* blowing up.
- *
+ *
* @throws NamingException
*/
@Test
public void jndiLookupWithFilter() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
Object s = ctx.lookup("osgi:service/java.lang.Runnable/(rubbish=smelly)");
-
+
assertNotNull("We didn't get a service back from our lookup :(", s);
-
+
service.run();
-
+
Skeleton.getSkeleton(service).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
Skeleton.getSkeleton(mock.getBundleContext()).assertCalled(new MethodCall(BundleContext.class, "getServiceReferences", "java.lang.Runnable", "(rubbish=smelly)"));
}
-
+
/**
* Check that we get a NameNotFoundException if we lookup after the service
* has been unregistered.
- *
+ *
* @throws NamingException
*/
@Test(expected=NameNotFoundException.class)
@@ -354,58 +349,58 @@ public class ServiceRegistryContextTest
reg.unregister();
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
ctx.lookup("osgi:service/java.lang.Runnable");
}
-
+
/**
* Check that we get a NameNotFoundException if we lookup something not in the
* registry.
- *
+ *
* @throws NamingException
*/
@Test(expected=NameNotFoundException.class)
public void testLookupForServiceWeNeverHad() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
ctx.lookup("osgi:service/java.lang.Integer");
}
-
+
/**
* This test checks that we can list the contents of the repository using the
* list method
- *
+ *
* @throws NamingException
*/
public void listRepositoryContents() throws NamingException
{
InitialContext ctx = new InitialContext();
-
+
NamingEnumeration<NameClassPair> serviceList = ctx.list("osgi:service/java.lang.Runnable/(rubbish=smelly)");
-
+
checkThreadRetrievedViaListMethod(serviceList);
-
+
assertFalse("The repository contained more objects than we expected", serviceList.hasMoreElements());
-
+
//Now add a second service
-
+
registerService(new Thread());
-
+
serviceList = ctx.list("osgi:service/java.lang.Runnable/(rubbish=smelly)");
-
+
checkThreadRetrievedViaListMethod(serviceList);
-
+
checkThreadRetrievedViaListMethod(serviceList);
-
+
assertFalse("The repository contained more objects than we expected", serviceList.hasMoreElements());
}
@@ -413,115 +408,108 @@ public class ServiceRegistryContextTest
public void checkProxyDynamism() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
String className = Runnable.class.getName();
-
+
Runnable t = Skeleton.newMock(Runnable.class);
Runnable t2 = Skeleton.newMock(Runnable.class);
-
+
// we don't want the default service
reg.unregister();
-
+
ServiceRegistration reg = bc.registerService(className, t, null);
bc.registerService(className, t2, null);
-
+
Runnable r = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-
+
r.run();
-
+
Skeleton.getSkeleton(t).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
Skeleton.getSkeleton(t2).assertNotCalled(new MethodCall(Runnable.class, "run"));
-
+
reg.unregister();
-
+
r.run();
-
+
Skeleton.getSkeleton(t).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
Skeleton.getSkeleton(t2).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
}
-
+
@Test
public void checkServiceListLookup() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
String className = Runnable.class.getName();
-
+
Runnable t = Skeleton.newMock(Runnable.class);
-
+
// we don't want the default service
reg.unregister();
-
+
ServiceRegistration reg = bc.registerService(className, t, null);
ServiceRegistration reg2 = bc.registerService("java.lang.Thread", new Thread(), null);
-
+
Context ctx2 = (Context) ctx.lookup("osgi:servicelist/java.lang.Runnable");
-
+
Runnable r = (Runnable) ctx2.lookup(String.valueOf(reg.getReference().getProperty(Constants.SERVICE_ID)));
r.run();
-
+
Skeleton.getSkeleton(t).assertCalled(new MethodCall(Runnable.class, "run"));
-
+
reg.unregister();
-
- try {
- r.run();
- fail("Should have received a ServiceException");
- } catch (ServiceException e) {
- assertEquals("service exception has the wrong type", ServiceException.UNREGISTERED, e.getType());
- }
-
- try {
- ctx2.lookup(String.valueOf(reg2.getReference().getProperty(Constants.SERVICE_ID)));
- fail("Expected a NameNotFoundException");
- } catch (NameNotFoundException e) {
- }
+
+ ServiceException e = assertThrows(ServiceException.class, () -> r.run());
+ assertEquals("service exception has the wrong type", ServiceException.UNREGISTERED, e.getType());
+
+ assertThrows(NameNotFoundException.class, () ->
+ ctx2.lookup(String.valueOf(reg2.getReference().getProperty(Constants.SERVICE_ID))));
}
-
+
@Test
public void checkServiceListList() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
String className = Runnable.class.getName();
-
+
Runnable t = Skeleton.newMock(Runnable.class);
-
+
// we don't want the default service
reg.unregister();
-
+
ServiceRegistration reg = bc.registerService(className, t, null);
ServiceRegistration reg2 = bc.registerService(className, new Thread(), null);
-
+
NamingEnumeration<NameClassPair> ne = ctx.list("osgi:servicelist/" + className);
-
+
assertTrue(ne.hasMoreElements());
-
+
NameClassPair ncp = ne.nextElement();
-
+
assertEquals(String.valueOf(reg.getReference().getProperty(Constants.SERVICE_ID)), ncp.getName());
assertTrue("Class name not correct. Was: " + ncp.getClassName(), ncp.getClassName().contains("Proxy"));
-
+
assertTrue(ne.hasMoreElements());
-
+
ncp = ne.nextElement();
-
+
assertEquals(String.valueOf(reg2.getReference().getProperty(Constants.SERVICE_ID)), ncp.getName());
assertEquals("Class name not correct.", Thread.class.getName(), ncp.getClassName());
-
+
assertFalse(ne.hasMoreElements());
}
@@ -529,58 +517,58 @@ public class ServiceRegistryContextTest
public void checkServiceListListBindings() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
String className = Runnable.class.getName();
-
+
MethodCall run = new MethodCall(Runnable.class, "run");
-
+
Runnable t = Skeleton.newMock(Runnable.class);
Runnable t2 = Skeleton.newMock(Runnable.class);
-
+
// we don't want the default service
reg.unregister();
-
+
ServiceRegistration reg = bc.registerService(className, t, null);
ServiceRegistration reg2 = bc.registerService(className, t2, null);
-
+
NamingEnumeration<Binding> ne = ctx.listBindings("osgi:servicelist/" + className);
-
+
assertTrue(ne.hasMoreElements());
-
+
Binding bnd = ne.nextElement();
-
+
assertEquals(String.valueOf(reg.getReference().getProperty(Constants.SERVICE_ID)), bnd.getName());
assertTrue("Class name not correct. Was: " + bnd.getClassName(), bnd.getClassName().contains("Proxy") || bnd.getClassName().contains("EnhancerByCGLIB"));
-
+
Runnable r = (Runnable) bnd.getObject();
-
+
assertNotNull(r);
-
+
r.run();
-
+
Skeleton.getSkeleton(t).assertCalledExactNumberOfTimes(run, 1);
Skeleton.getSkeleton(t2).assertNotCalled(run);
-
+
assertTrue(ne.hasMoreElements());
-
+
bnd = ne.nextElement();
-
+
assertEquals(String.valueOf(reg2.getReference().getProperty(Constants.SERVICE_ID)), bnd.getName());
assertTrue("Class name not correct. Was: " + bnd.getClassName(), bnd.getClassName().contains("Proxy") || bnd.getClassName().contains("EnhancerByCGLIB"));
-
+
r = (Runnable) bnd.getObject();
-
+
assertNotNull(r);
-
+
r.run();
-
+
Skeleton.getSkeleton(t).assertCalledExactNumberOfTimes(run, 1);
Skeleton.getSkeleton(t2).assertCalledExactNumberOfTimes(run, 1);
-
+
assertFalse(ne.hasMoreElements());
}
@@ -588,69 +576,69 @@ public class ServiceRegistryContextTest
public void checkProxyWhenServiceGoes() throws ServiceException, NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
Runnable r = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-
+
r.run();
-
+
Skeleton.getSkeleton(service).assertCalled(new MethodCall(Runnable.class, "run"));
-
+
reg.unregister();
-
+
r.run();
}
-
+
@Test
public void checkServiceOrderObserved() throws NamingException
{
BundleMock mock = new BundleMock("scooby.doo", new Properties());
-
+
Thread.currentThread().setContextClassLoader(mock.getClassLoader());
InitialContext ctx = new InitialContext();
-
+
String className = Runnable.class.getName();
-
+
Runnable t = Skeleton.newMock(Runnable.class);
Runnable t2 = Skeleton.newMock(Runnable.class);
-
+
// we don't want the default service
reg.unregister();
-
+
ServiceRegistration reg = bc.registerService(className, t, null);
ServiceRegistration reg2 = bc.registerService(className, t2, null);
-
+
Runnable r = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-
+
r.run();
-
+
Skeleton.getSkeleton(t).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
Skeleton.getSkeleton(t2).assertNotCalled(new MethodCall(Runnable.class, "run"));
-
+
reg.unregister();
reg2.unregister();
-
+
Hashtable<String, Object> props = new Hashtable<String, Object>();
props.put(Constants.SERVICE_RANKING, 55);
-
+
t = Skeleton.newMock(Runnable.class);
t2 = Skeleton.newMock(Runnable.class);
bc.registerService(className, t, null);
bc.registerService(className, t2, props);
-
+
r = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-
+
r.run();
-
+
Skeleton.getSkeleton(t).assertNotCalled(new MethodCall(Runnable.class, "run"));
Skeleton.getSkeleton(t2).assertCalledExactNumberOfTimes(new MethodCall(Runnable.class, "run"), 1);
}
-
+
/**
* Check that the NamingEnumeration passed in has another element, which represents a java.lang.Thread
* @param serviceList
@@ -660,50 +648,50 @@ public class ServiceRegistryContextTest
throws NamingException
{
assertTrue("The repository was empty", serviceList.hasMoreElements());
-
+
NameClassPair ncp = serviceList.next();
-
+
assertNotNull("We didn't get a service back from our lookup :(", ncp);
-
+
assertNotNull("The object from the SR was null", ncp.getClassName());
-
+
assertEquals("The service retrieved was not of the correct type", "java.lang.Thread", ncp.getClassName());
-
+
assertEquals("osgi:service/java.lang.Runnable/(rubbish=smelly)", ncp.getName().toString());
}
-
+
/**
* This test checks that we can list the contents of the repository using the
* list method
- *
+ *
* @throws NamingException
*/
public void listRepositoryBindings() throws NamingException
{
InitialContext ctx = new InitialContext();
-
+
NamingEnumeration<Binding> serviceList = ctx.listBindings("osgi:service/java.lang.Runnable/(rubbish=smelly)");
-
+
Object returnedService = checkThreadRetrievedViaListBindingsMethod(serviceList);
-
+
assertFalse("The repository contained more objects than we expected", serviceList.hasMoreElements());
-
+
assertTrue("The returned service was not the service we expected", returnedService == service);
-
+
//Now add a second service
Thread secondService = new Thread();
registerService(secondService);
-
+
serviceList = ctx.listBindings("osgi:service/java.lang.Runnable/(rubbish=smelly)");
-
+
Object returnedService1 = checkThreadRetrievedViaListBindingsMethod(serviceList);
-
+
Object returnedService2 = checkThreadRetrievedViaListBindingsMethod(serviceList);
-
+
assertFalse("The repository contained more objects than we expected", serviceList.hasMoreElements());
-
+
assertTrue("The services were not the ones we expected!",(returnedService1 == service || returnedService2 == service) && (returnedService1 == secondService || returnedService2 == secondService) && (returnedService1 != returnedService2));
-
+
}
/**
@@ -716,18 +704,18 @@ public class ServiceRegistryContextTest
throws NamingException
{
assertTrue("The repository was empty", serviceList.hasMoreElements());
-
+
Binding binding = serviceList.nextElement();
-
+
assertNotNull("We didn't get a service back from our lookup :(", binding);
-
+
assertNotNull("The object from the SR was null", binding.getObject());
-
+
assertTrue("The service retrieved was not of the correct type", binding.getObject() instanceof Thread);
-
+
assertEquals("osgi:service/java.lang.Runnable/(rubbish=smelly)", binding.getName().toString());
-
+
return binding.getObject();
}
-
+
}
\ No newline at end of file
diff --git a/proxy/proxy-impl/pom.xml b/proxy/proxy-impl/pom.xml
index f0f4eff34..452530a06 100644
--- a/proxy/proxy-impl/pom.xml
+++ b/proxy/proxy-impl/pom.xml
@@ -69,6 +69,7 @@
<commons-io.version>2.19.0</commons-io.version>
<geronimo-j2ee-connector_1.6_spec.version>1.0</geronimo-j2ee-connector_1.6_spec.version>
<javax.transaction-api.version>1.3</javax.transaction-api.version>
+ <junit.version>4.13.2</junit.version>
<mockito-core.version>4.11.0</mockito-core.version>
<org.apache.aries.proxy.api.version>1.1.1</org.apache.aries.proxy.api.version>
<osgi.cmpn.version>4.3.1</osgi.cmpn.version>
diff --git a/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java b/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
index a8c55c4ca..b0f4da05b 100644
--- a/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
+++ b/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/AbstractProxyTest.java
@@ -18,18 +18,6 @@
*/
package org.apache.aries.blueprint.proxy;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.concurrent.Callable;
-
import org.apache.aries.blueprint.proxy.ProxyTestClassInnerClasses.ProxyTestClassInner;
import org.apache.aries.blueprint.proxy.ProxyTestClassInnerClasses.ProxyTestClassStaticInner;
import org.apache.aries.proxy.InvocationListener;
@@ -37,6 +25,18 @@ import org.apache.aries.proxy.impl.SingleInstanceDispatcher;
import org.junit.Test;
import org.osgi.framework.wiring.BundleWiring;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.concurrent.Callable;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertThrows;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
public abstract class AbstractProxyTest {
protected static class TestListener implements InvocationListener {
@@ -323,14 +323,14 @@ public abstract class AbstractProxyTest {
assertCalled(tl, false, false, false);
m = getDeclaredMethod(getTestClass(), "testException", new Class[] {});
- try {
- m.invoke(obj);
- fail("Should throw an exception");
- } catch (InvocationTargetException re) {
- if(!re.getTargetException().getClass().equals(RuntimeException.class))
- throw re.getTargetException();
+
+ Method finalM = m;
+ InvocationTargetException re = assertThrows(InvocationTargetException.class,
+ () -> finalM.invoke(obj));
+ if (!re.getTargetException().getClass().equals(RuntimeException.class))
+ throw re.getTargetException();
assertCalled(tl, true, false, true);
- }
+
tl.clear();
assertCalled(tl, false, false, false);
diff --git a/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java b/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
index 98740a10c..0c7c0f8e4 100644
--- a/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
+++ b/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/InterfaceProxyingTest.java
@@ -22,8 +22,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -135,14 +135,10 @@ public class InterfaceProxyingTest {
throw new RuntimeException();
}
});
- try {
- o.call();
- fail("Should throw an exception");
- } catch (RuntimeException re) {
- assertCalled(tl, true, false, true);
- assertSame(re, tl.getLastThrowable());
- }
-
+ RuntimeException re = assertThrows(RuntimeException.class, () -> o.call());
+ assertCalled(tl, true, false, true);
+ assertSame(re, tl.getLastThrowable());
+
tl.clear();
assertCalled(tl, false, false, false);
diff --git a/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java b/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
index be9043705..5e1d08a88 100644
--- a/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
+++ b/proxy/proxy-impl/src/test/java/org/apache/aries/blueprint/proxy/WovenProxyGeneratorTest.java
@@ -21,8 +21,8 @@ package org.apache.aries.blueprint.proxy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -294,14 +294,11 @@ public class WovenProxyGeneratorTest extends AbstractProxyTest
@Test
public void testUnweavableSuperWithNoNoargsAllTheWay() throws Exception
{
- try {
- getProxyClass(ProxyTestClassUnweavableSibling.class);
- fail();
- } catch (RuntimeException re) {
+ RuntimeException re = assertThrows(RuntimeException.class, () ->
+ getProxyClass(ProxyTestClassUnweavableSibling.class));
assertTrue(re.getCause() instanceof UnableToProxyException);
assertEquals(ProxyTestClassUnweavableSibling.class.getName(),
((UnableToProxyException)re.getCause()).getClassName());
- }
}
/**
@@ -310,16 +307,15 @@ public class WovenProxyGeneratorTest extends AbstractProxyTest
@Test
public void testUnweavableSuperWithFinalMethod() throws Exception
{
- try{
- getProxyClass(ProxyTestClassUnweavableChildWithFinalMethodParent.class);
- fail();
- } catch (RuntimeException re) {
+ RuntimeException re = assertThrows(RuntimeException.class, () -> {
+ getProxyClass(ProxyTestClassUnweavableChildWithFinalMethodParent.class);
+ });
+
assertTrue(re.getCause() instanceof FinalModifierException);
assertEquals(ProxyTestClassUnweavableSuperWithFinalMethod.class.getName(),
((FinalModifierException)re.getCause()).getClassName());
assertEquals("doStuff2", ((FinalModifierException)re.getCause())
.getFinalMethods());
- }
}
/**
@@ -328,28 +324,24 @@ public class WovenProxyGeneratorTest extends AbstractProxyTest
@Test
public void testUnweavableSuperWithDefaultMethodInWrongPackage() throws Exception
{
- try{
- getProxyClass(ProxyTestClassUnweavableChildWithDefaultMethodWrongPackageParent.class);
- fail();
- } catch (RuntimeException re) {
+ RuntimeException re = assertThrows(RuntimeException.class, () -> {
+ getProxyClass(ProxyTestClassUnweavableChildWithDefaultMethodWrongPackageParent.class);
+ });
assertTrue(re.getCause() instanceof UnableToProxyException);
assertEquals(ProxyTestClassUnweavableSuperWithDefaultMethodWrongPackageParent
.class.getName(), ((UnableToProxyException)re.getCause()).getClassName());
- }
}
@Test
public void testInnerWithNoParentNoArgs() throws Exception {
//An inner class has no no-args (the parent gets added as an arg) so we can't
//get an instance
- try{
+ RuntimeException re = assertThrows(RuntimeException.class, () -> {
getProxyClass(ProxyTestClassUnweavableInnerChild.class);
- fail();
- } catch (RuntimeException re) {
+ });
assertTrue(re.getCause() instanceof UnableToProxyException);
assertEquals(ProxyTestClassUnweavableInnerChild.class.getName(),
((UnableToProxyException)re.getCause()).getClassName());
- }
}
@Test(expected=NoSuchFieldException.class)
diff --git a/proxy/proxy-itests/pom.xml b/proxy/proxy-itests/pom.xml
index 5bb430879..2fc6d5344 100644
--- a/proxy/proxy-itests/pom.xml
+++ b/proxy/proxy-itests/pom.xml
@@ -130,6 +130,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+ <version>4.13.2</version>
<scope>test</scope>
</dependency>
diff --git a/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java b/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java
index 8d7895129..1b3be75c0 100644
--- a/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java
+++ b/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookGenericCapabilityTest.java
@@ -67,8 +67,8 @@ import aQute.bnd.header.Parameters;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
public class ClientWeavingHookGenericCapabilityTest {
DynamicWeavingActivator activator;
@@ -317,17 +317,13 @@ public class ClientWeavingHookGenericCapabilityTest {
// Invoke the woven class, check that it properly set the TCCL so that the implementation of impl5 is called.
// That implementation throws an exception, after which we are making sure that the TCCL is set back appropriately.
- try {
- method.invoke(cls.getDeclaredConstructor().newInstance(), "hello");
- fail("Invocation should have thrown an exception");
- } catch (InvocationTargetException ite) {
- RuntimeException re = (RuntimeException) ite.getCause();
- String msg = re.getMessage();
- assertEquals("Uh-oh: hello", msg);
-
- // The TCCL should have been reset correctly
- assertSame(cl, Thread.currentThread().getContextClassLoader());
- }
+ InvocationTargetException ite = assertThrows(InvocationTargetException.class, () -> method.invoke(cls.getDeclaredConstructor().newInstance(), "hello"));
+ RuntimeException re = (RuntimeException) ite.getCause();
+ String msg = re.getMessage();
+ assertEquals("Uh-oh: hello", msg);
+
+ // The TCCL should have been reset correctly
+ assertSame(cl, Thread.currentThread().getContextClassLoader());
}
@Test
diff --git a/subsystem/subsystem-core/pom.xml b/subsystem/subsystem-core/pom.xml
index b410f3211..3a1ef17e9 100644
--- a/subsystem/subsystem-core/pom.xml
+++ b/subsystem/subsystem-core/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.aries</groupId>
<artifactId>parent</artifactId>
- <version>2.0.0</version>
+ <version>2.1.1</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
@@ -66,7 +66,7 @@
uses:="org.osgi.service.subsystem,org.apache.aries.subsystem"
</aries.osgi.provide.capability>
-
+ <junit.version>4.13.2</junit.version>
<org.apache.aries.subsystem.api.version>2.0.10</org.apache.aries.subsystem.api.version>
<org.apache.aries.util.version>2.0.0-SNAPSHOT</org.apache.aries.util.version>
<org.apache.aries.subsystem.modeller.version>1.0.0-SNAPSHOT</org.apache.aries.subsystem.modeller.version>
diff --git a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/BundleRequiredExecutionEnvironmentHeaderTest.java b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/BundleRequiredExecutionEnvironmentHeaderTest.java
index 63df07de0..cb52a60ce 100644
--- a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/BundleRequiredExecutionEnvironmentHeaderTest.java
+++ b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/BundleRequiredExecutionEnvironmentHeaderTest.java
@@ -16,7 +16,6 @@ package org.apache.aries.subsystem.core.archive;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.List;
@@ -190,13 +189,7 @@ public class BundleRequiredExecutionEnvironmentHeaderTest {
}
private void doTestParser(String clause, String name, Version version) {
- ExecutionEnvironment ee = null;
- try {
- ee = new Parser().parse(clause);
- }
- catch (Exception e) {
- fail("Unable to parse execution environment from clause " + clause);
- }
+ ExecutionEnvironment ee = new Parser().parse(clause);
assertExecutionEnvironmentName(ee, name);
assertExecutionEnvironmentVersion(ee, version);
}
diff --git a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/FragmentHostHeaderTest.java b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/FragmentHostHeaderTest.java
index 9feb8050c..3b11c6c9e 100644
--- a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/FragmentHostHeaderTest.java
+++ b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/FragmentHostHeaderTest.java
@@ -19,7 +19,7 @@
package org.apache.aries.subsystem.core.archive;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
import org.junit.Test;
import org.osgi.framework.Version;
@@ -29,40 +29,19 @@ public class FragmentHostHeaderTest {
@Test
public void testNullClause() {
String headerStr = null;
- try {
- new FragmentHostHeader(headerStr);
- fail("Null clause not allowed");
- }
- catch (NullPointerException e) {}
- catch (Exception e) {
- fail("Null clause should result in NPE");
- }
+ assertThrows(NullPointerException.class, () -> new FragmentHostHeader(headerStr));
}
@Test
public void testEmptyClause() {
String headerStr = "";
- try {
- new FragmentHostHeader(headerStr);
- fail("Empty clause not allowed");
- }
- catch (IllegalArgumentException e) {}
- catch (Exception e) {
- fail("Empty clause should result in IAE");
- }
+ assertThrows(IllegalArgumentException.class, () -> new FragmentHostHeader(headerStr));
}
@Test
public void testMultipleClauses() {
String headerStr = "foo;bundle-version=1.0,bar";
- try {
- new FragmentHostHeader(headerStr);
- fail("Multiple clauses not allowed");
- }
- catch (IllegalArgumentException e) {}
- catch (Exception e) {
- fail("Multiple cluases should result in IAE");
- }
+ assertThrows(IllegalArgumentException.class, () -> new FragmentHostHeader(headerStr));
}
@Test
diff --git a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/GenericHeaderTest.java b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/GenericHeaderTest.java
index cd47471a1..ad50c73c6 100644
--- a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/GenericHeaderTest.java
+++ b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/archive/GenericHeaderTest.java
@@ -18,24 +18,19 @@
*/
package org.apache.aries.subsystem.core.archive;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
public class GenericHeaderTest {
- @Test
- public void testEmptyHeader() {
- try {
- GenericHeader header = new GenericHeader("Foo-Bar", "");
- assertEquals(
- "Empty headers are treated the same as those with an empty quoted string",
- "\"\"",
- header.getValue());
- assertEquals("Empty headers should have one clause", 1, header.getClauses().size());
- }
- catch (Exception e) {
- fail("Empty headers are allowed");
- }
- }
+ @Test
+ public void testEmptyHeader() {
+ GenericHeader header = new GenericHeader("Foo-Bar", "");
+ assertEquals(
+ "Empty headers are treated the same as those with an empty quoted string",
+ "\"\"",
+ header.getValue());
+ assertEquals("Empty headers should have one clause", 1, header.getClauses().size());
+
+ }
}
diff --git a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/internal/LocationTest.java b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/internal/LocationTest.java
index ff21e0795..d22884186 100644
--- a/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/internal/LocationTest.java
+++ b/subsystem/subsystem-core/src/test/java/org/apache/aries/subsystem/core/internal/LocationTest.java
@@ -15,39 +15,24 @@ package org.apache.aries.subsystem.core.internal;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
import java.net.MalformedURLException;
+import java.net.URISyntaxException;
import org.junit.Test;
import org.osgi.framework.Version;
public class LocationTest {
@Test
- public void testAnyLocationString() {
+ public void testAnyLocationString() throws MalformedURLException, URISyntaxException {
String locationStr = "anyLocation";
- Location location = null;
- try {
- location = new Location(locationStr);
- }
- catch (Throwable t) {
- t.printStackTrace();
- fail("Any location string must be supported");
- }
+ Location location = new Location(locationStr);
assertNull("Wrong symbolic name", location.getSymbolicName());
assertEquals("Wrong value", locationStr, location.getValue());
assertNull("Wrong version", location.getVersion());
- try {
- location.open();
- fail("Opening a location that does not represent a URL should fail");
- }
- catch (MalformedURLException e) {
- // Okay
- }
- catch (Throwable t) {
- t.printStackTrace();
- fail("Wrong exception");
- }
+ assertThrows(MalformedURLException.class, () -> location.open());
}
@Test
@@ -73,17 +58,7 @@ public class LocationTest {
Location location = new Location(locationString);
assertEquals(locationString, location.getValue());
- try {
- String sn = location.getSymbolicName();
- fail("Expecting an error: " + sn);
- } catch (IllegalArgumentException e) {
- // expected
- }
- try {
- Version v = location.getVersion();
- fail("Expecting an error: " + v);
- } catch (IllegalArgumentException e) {
- // expected
- }
+ assertThrows(IllegalArgumentException.class, () -> location.getSymbolicName());
+ assertThrows(IllegalArgumentException.class, () -> location.getVersion());
}
}
diff --git a/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/DeployedBundlesTest.java b/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/DeployedBundlesTest.java
index a4e2afc25..5e2359988 100644
--- a/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/DeployedBundlesTest.java
+++ b/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/DeployedBundlesTest.java
@@ -20,8 +20,8 @@ package org.apache.aries.subsystem.modelling.utils;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.Arrays;
@@ -139,7 +139,7 @@ public final class DeployedBundlesTest
/**
* Check the actual results match the expected values, regardless of order of the parts.
- * @param entry the actual manifest entry.
+ * @param actual the actual manifest entry.
* @param expected the expected manifest entry.
* @return true if they match; false otherwise.
*/
@@ -220,19 +220,10 @@ public final class DeployedBundlesTest
public void testGetImportPackage_Valid() throws Exception
{
// Check the import package entry is correct.
- String importPackageEntry = null;
- try
- {
DeployedBundles deployedBundles = validDeployedBundles();
packagesResolve(deployedBundles);
-
- importPackageEntry = deployedBundles.getImportPackage();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
+
+ String importPackageEntry = deployedBundles.getImportPackage();
String expectedResult = "package.c;version=\"1.0.0\";bundle-symbolic-name=\"bundle.c\";bundle-version=\"[1.0.0,1.0.0]\","
+ "package.d;version=\"1.0.0\";bundle-symbolic-name=\"bundle.d\";bundle-version=\"[1.0.0,1.0.0]\","
@@ -293,16 +284,7 @@ public final class DeployedBundlesTest
// Check that package D is not duplicated in Import-Package, and that the version range
// has been narrowed to the intersection of the original requirements.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
+ String importPackageEntry = deployedBundles.getImportPackage();
String expectedResult = "package.d;version=\"[2.0.0,3.0.0)\"";
assertTrue("ImportPackage=" + importPackageEntry, isEqual(importPackageEntry, expectedResult));
}
@@ -321,16 +303,7 @@ public final class DeployedBundlesTest
// Check that package C is not duplicated in Import-Package, and that the version range
// has been narrowed to the intersection of the original requirements.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
+ String importPackageEntry = deployedBundles.getImportPackage();
String expectedResult = "package.c;was_internal=\"true\";version=\"2.0.0\"";
assertTrue("ImportPackage=" + importPackageEntry, isEqual(importPackageEntry, expectedResult));
}
@@ -348,16 +321,7 @@ public final class DeployedBundlesTest
new ArrayList<String>(), Arrays.asList("package.c;version=2.0.0;was_internal=true")));
// Check that the incompatible version requirements cannot be resolved.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- fail("Expected exception. ImportPackage=" + importPackageEntry);
- }
- catch (ResolverException e)
- {
- // We expect to reach this point if the test passes.
- }
+ assertThrows(ResolverException.class, () -> deployedBundles.getImportPackage());
}
@Test
@@ -373,16 +337,7 @@ public final class DeployedBundlesTest
new ArrayList<String>(), Arrays.asList("package.c;version=2.0.0;was_internal=true")));
// Check that the incompatible package requirement attributes cause an exception.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- fail("Expected exception. ImportPackage=" + importPackageEntry);
- }
- catch (ResolverException e)
- {
- // We expect to reach this point if the test passes.
- }
+ assertThrows(ResolverException.class, () -> deployedBundles.getImportPackage());
}
@@ -397,17 +352,8 @@ public final class DeployedBundlesTest
new ArrayList<String>(), Arrays.asList("package.b;version=2.0.0")));
// Check that the bundle-symbolic-name attribute for a bundle within deployed-content is ok.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
- String expectedResult = ""; // All packages are satisfied internally
+ String importPackageEntry = deployedBundles.getImportPackage();
+ String expectedResult = ""; // All packages are satisfied internally
assertTrue("ImportPackage=" + importPackageEntry, isEqual(importPackageEntry, expectedResult));
}
@@ -424,16 +370,7 @@ public final class DeployedBundlesTest
// Check that the bundle-symbolic-name attribute for a bundle outside use-bundle causes an exception.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- fail("Expected exception. ImportPackage=" + importPackageEntry);
- }
- catch (ResolverException e)
- {
- // We expect to reach this point if the test passes.
- }
+ assertThrows(ResolverException.class, () -> deployedBundles.getImportPackage());
}
@Test
@@ -448,16 +385,7 @@ public final class DeployedBundlesTest
// Check that the bundle-symbolic-name attribute for a bundle outside use-bundle causes an exception.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- fail("Expected exception. ImportPackage=" + importPackageEntry);
- }
- catch (ResolverException e)
- {
- // We expect to reach this point if the test passes.
- }
+ assertThrows(ResolverException.class, () -> deployedBundles.getImportPackage());
}
@Test
@@ -473,16 +401,7 @@ public final class DeployedBundlesTest
new ArrayList<String>(), Arrays.asList("package.c;version=1.0.0")));
// Check that the resulting resolution directive is not optional.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
+ String importPackageEntry = deployedBundles.getImportPackage();
String expectedResult = "package.c;version=1.0.0";
assertTrue("ImportPackage=" + importPackageEntry, isEqual(importPackageEntry, expectedResult));
}
@@ -505,17 +424,8 @@ public final class DeployedBundlesTest
// Check the redundant use-bundle entry is identified.
// Bundle C is not required by app content, although it is specified in use-bundle.
- Collection<ModelledResource> requiredUseBundle = null;
- try
- {
- requiredUseBundle = deployedBundles.getRequiredUseBundle();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
- assertTrue("RequiredUseBundle=" + requiredUseBundle, requiredUseBundle.size() == 1);
+ Collection<ModelledResource> requiredUseBundle = deployedBundles.getRequiredUseBundle();
+ assertEquals("RequiredUseBundle=" + requiredUseBundle, 1, requiredUseBundle.size());
}
@Test
@@ -526,17 +436,8 @@ public final class DeployedBundlesTest
packagesResolve(deployedBundles);
// Check all the use-bundle entries are required.
- Collection<ModelledResource> requiredUseBundle = null;
- try
- {
- requiredUseBundle = deployedBundles.getRequiredUseBundle();
- }
- catch (ResolverException e)
- {
- e.printStackTrace();
- fail(e.toString());
- }
- assertTrue("RequiredUseBundle=" + requiredUseBundle, requiredUseBundle.size() == 2);
+ Collection<ModelledResource> requiredUseBundle = deployedBundles.getRequiredUseBundle();
+ assertEquals("RequiredUseBundle=" + requiredUseBundle, 2, requiredUseBundle.size());
}
//Inside cannot bundle-symbolic-name an outside bundle until the new RFC 138!
@@ -551,17 +452,8 @@ public final class DeployedBundlesTest
deployedBundles.addBundle(createModelledResource("bundle.b", "1.0.0",
new ArrayList<String>(), Arrays.asList("package.b;version=1.0.0")));
- // Check that the bundle version requirement generates an error because it doesn't match the a bundle in use-bundle.
- String importPackageEntry = null;
- try
- {
- importPackageEntry = deployedBundles.getImportPackage();
- fail("Expected exception. ImportPackage=" + importPackageEntry);
- }
- catch (ResolverException e)
- {
- // We expect to reach this point if the test passes.
- }
+ // Check that the bundle version requirement generates an error because it doesn't match the bundle in use-bundle.
+ assertThrows(ResolverException.class, () -> deployedBundles.getImportPackage());
}
diff --git a/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/PackageRequirementMergerTest.java b/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/PackageRequirementMergerTest.java
index a6c3b17ca..1cf75cd1d 100644
--- a/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/PackageRequirementMergerTest.java
+++ b/subsystem/subsystem-modeller/src/test/java/org/apache/aries/subsystem/modelling/utils/PackageRequirementMergerTest.java
@@ -37,8 +37,8 @@ import org.osgi.framework.Constants;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
public final class PackageRequirementMergerTest
@@ -155,14 +155,9 @@ public final class PackageRequirementMergerTest
PackageRequirementMerger merger = new PackageRequirementMerger(reqs);
assertFalse(merger.isMergeSuccessful());
-
- try
- {
- merger.getMergedRequirements();
- fail("getMergedRequirements should throw IllegalStateException.");
- }
- catch (IllegalStateException e) { }
-
+
+ assertThrows(IllegalStateException.class, () -> merger.getMergedRequirements());
+
Set<String> result = merger.getInvalidRequirements();
Set<String> expected = new HashSet<String>();
expected.add("a");
@@ -234,14 +229,9 @@ public final class PackageRequirementMergerTest
PackageRequirementMerger merger = new PackageRequirementMerger(reqs);
assertFalse(merger.isMergeSuccessful());
-
- try
- {
- merger.getMergedRequirements();
- fail("getMergedRequirements should throw IllegalStateException.");
- }
- catch (IllegalStateException e) { }
-
+
+ assertThrows(IllegalStateException.class, () -> merger.getMergedRequirements());
+
Set<String> result = merger.getInvalidRequirements();
Set<String> expected = new HashSet<String>();
expected.add("a");
diff --git a/transaction/transaction-blueprint/pom.xml b/transaction/transaction-blueprint/pom.xml
index e910cbf7b..969c66b92 100644
--- a/transaction/transaction-blueprint/pom.xml
+++ b/transaction/transaction-blueprint/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.aries</groupId>
<artifactId>parent</artifactId>
- <version>2.0.1</version>
+ <version>2.1.1</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
@@ -53,6 +53,7 @@
<easymock.version>5.5.0</easymock.version>
<javax.transaction-api.version>1.2</javax.transaction-api.version>
+ <junit.version>4.13.2</junit.version>
<maven-bundle-plugin.version>5.1.9</maven-bundle-plugin.version>
<org.apache.aries.blueprint.core.version>1.0.0</org.apache.aries.blueprint.core.version>
<osgi.cmpn.version>4.3.1</osgi.cmpn.version>
@@ -98,6 +99,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/transaction/transaction-blueprint/src/test/java/org/apache/aries/transaction/TranStrategyTest.java b/transaction/transaction-blueprint/src/test/java/org/apache/aries/transaction/TranStrategyTest.java
index 493d70eb2..723ca3a67 100644
--- a/transaction/transaction-blueprint/src/test/java/org/apache/aries/transaction/TranStrategyTest.java
+++ b/transaction/transaction-blueprint/src/test/java/org/apache/aries/transaction/TranStrategyTest.java
@@ -23,13 +23,18 @@ import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.InvalidTransactionException;
import javax.transaction.NotSupportedException;
+import javax.transaction.RollbackException;
import javax.transaction.Status;
import javax.transaction.SystemException;
import javax.transaction.Transaction;
@@ -61,14 +66,10 @@ public class TranStrategyTest {
// status is Status.STATUS_NO_TRANSACTION it should not return null.
expect(tm.getStatus()).andReturn(Status.STATUS_NO_TRANSACTION);
- try {
+ assertThrows(IllegalStateException.class, () -> {
assertNotNull("TransactionStrategy.MANDATORY.begin(tm) returned null when manager " +
"status is STATUS_NO_TRANSACTION", TransactionAttribute.MANDATORY.begin(tm).getActiveTransaction());
- } catch (IllegalStateException ise) {
- // Expected to be in here
- } catch (Exception e) {
- fail("TransactionStrategy.MANDATORY.begin() threw an unexpected exception when tran manager status is STATUS_NO_TRANSACTION");
- }
+ });
// MANDATORY strategy should return null for all tran manager states other
// than Status.STATUS_NO_TRANSACTION.
@@ -81,25 +82,17 @@ public class TranStrategyTest {
expect(tm.getStatus()).andReturn(invalids[i]);
expect(tm.getTransaction()).andReturn(null);
c.replay();
- try {
Transaction tran = TransactionAttribute.MANDATORY.begin(tm).getActiveTransaction();
assertNull("TransactionStrategy.MANDATORY.begin() did not return null when manager status value is " + invalids[i], tran);
- } catch (Exception ise) {
- fail("TransactionStrategy.MANDATORY.begin() threw Exception when manager status value is " + invalids[i]);
- }
c.verify();
}
}
@Test
- public void testMandatoryFinish()
- {
- try {
+ public void testMandatoryFinish() throws HeuristicRollbackException, SystemException, HeuristicMixedException, InvalidTransactionException, RollbackException {
TransactionToken tranToken = new TransactionToken(t, null, TransactionAttribute.MANDATORY);
TransactionAttribute.MANDATORY.finish(tm, tranToken);
- } catch (Exception e) {
- fail("TransactionStrategy.MANDATORY.finish() threw an unexpected exception");
- }
+
}
@@ -110,13 +103,9 @@ public class TranStrategyTest {
// status is Status.STATUS_ACTIVE it should not return null.
expect(tm.getStatus()).andReturn(Status.STATUS_ACTIVE);
- try {
+ assertThrows(IllegalStateException.class, () -> {
assertNotNull("TransactionStrategy.NEVER.begin() returned null when manager status is STATUS_ACTIVE", TransactionAttribute.NEVER.begin(tm));
- } catch (IllegalStateException ise) {
- // Expect to be in here
- } catch (Exception e) {
- fail("TransactionStrategy.NEVER.begin() threw an unexpected exception when tran manager status is STATUS_ACTIVE");
- }
+ });
// NEVER strategy should return null for all tran manager states other
// than Status.STATUS_ACTIVE.
@@ -129,25 +118,16 @@ public class TranStrategyTest {
expect(tm.getStatus()).andReturn(invalids[i]);
expect(tm.getTransaction()).andReturn(null).anyTimes();
c.replay();
- try {
assertNull("TransactionStrategy.NEVER.begin() did not return null when manager status value is " + invalids[i], TransactionAttribute.NEVER.begin(tm).getActiveTransaction());
- } catch (Exception ise) {
- fail("TransactionStrategy.NEVER.begin() threw unexpected exception when manager status value is " + invalids[i]);
- }
c.verify();
}
}
@Test
- public void testNeverFinish()
- {
- try {
+ public void testNeverFinish() throws HeuristicRollbackException, SystemException, HeuristicMixedException, InvalidTransactionException, RollbackException {
TransactionToken tranToken = new TransactionToken(null, null, TransactionAttribute.NEVER);
TransactionAttribute.NEVER.finish(tm, tranToken);
- } catch (Exception e) {
- fail("TransactionStrategy.NEVER.finish() threw an unexpected exception");
- }
}
@Test
@@ -172,22 +152,16 @@ public class TranStrategyTest {
expect(tm.getStatus()).andReturn(invalids[i]);
expect(tm.getTransaction()).andReturn(null).anyTimes();
c.replay();
- try {
assertNull("TransactionStrategy.NOT_SUPPORTED.begin() did not return null when manager status value is " + invalids[i], TransactionAttribute.NOT_SUPPORTED.begin(tm).getActiveTransaction());
- } catch (Exception ise) {
- fail("TransactionStrategy.NOT_SUPPORTED.begin() threw unexpected exception when manager status value is " + invalids[i]);
- }
c.verify();
}
}
@Test
- public void testNotSupportedFinish()
- {
+ public void testNotSupportedFinish() throws Exception {
// If finish is called with a previously active transaction, then
// we expect this transaction to be resumed for a NOT_SUPPORTED strategy
- try {
tm.resume(t);
EasyMock.expectLastCall();
c.replay();
@@ -198,9 +172,6 @@ public class TranStrategyTest {
c.reset();
tranToken = new TransactionToken(null, null, TransactionAttribute.NOT_SUPPORTED);
TransactionAttribute.NOT_SUPPORTED.finish(tm, tranToken);
- } catch (Exception e) {
- fail("TransactionStrategy.NOT_SUPPORTED.finish() threw unexpected exception, " + e);
- }
}
@Test
@@ -227,11 +198,7 @@ public class TranStrategyTest {
expect(tm.getStatus()).andReturn(invalids[i]);
expect(tm.getTransaction()).andReturn(null);
c.replay();
- try {
assertNull("TransactionStrategy.REQUIRED.begin() did not return null when manager status value is " + invalids[i], TransactionAttribute.REQUIRED.begin(tm).getActiveTransaction());
- } catch (Exception ise) {
- fail("TransactionStrategy.REQUIRED.begin() threw unexpected exception when manager status value is " + invalids[i]);
- }
c.verify();
}
}
@@ -311,11 +278,7 @@ public class TranStrategyTest {
tm.begin();
expectLastCall();
c.replay();
- try {
assertNull("TransactionStrategy.REQUIRES_NEW.begin() did not return null when manager status value is " + manStatus[i], TransactionAttribute.REQUIRES_NEW.begin(tm).getActiveTransaction());
- } catch (Exception ise) {
- fail("TransactionStrategy.REQUIRES_NEW.begin() threw unexpected exception when manager status value is " + manStatus[i]);
- }
c.verify();
}
@@ -368,8 +331,6 @@ public class TranStrategyTest {
// or to be in here
} catch (Exception thrownE) {
fail("TransactionStrategy.REQUIRES_NEW.begin() threw unexpected exception when manager status is " + managerStatus);
- } finally {
- // If Status.STATUS_ACTIVE
}
c.verify();
c.reset();
@@ -391,25 +352,15 @@ public class TranStrategyTest {
tm.resume(EasyMock.anyObject(Transaction.class));
expectLastCall();
c.replay();
- try {
TransactionToken tranToken = new TransactionToken(t, t, TransactionAttribute.REQUIRES_NEW, true);
TransactionAttribute.REQUIRES_NEW.finish(tm, tranToken);
- } catch (Exception e) {
- fail("TransactionStrategy.REQUIRES_NEW.finish() threw unexpected exception when manager status is " + allStates[i]);
- }
c.verify();
c.reset();
- try {
expect(tm.getStatus()).andReturn(allStates[i]);
requiresNew_assertion(tm, allStates[i]);
c.replay();
- TransactionToken tranToken = new TransactionToken(t, null, TransactionAttribute.REQUIRES_NEW, true);
- TransactionAttribute.REQUIRES_NEW.finish(tm, tranToken);
- } catch (Throwable e) {
- e.printStackTrace();
- fail("TransactionStrategy.REQUIRES_NEW.finish() threw unexpected exception when manager status is " + allStates[i]);
- } finally {
- }
+ TransactionToken tranToken2 = new TransactionToken(t, null, TransactionAttribute.REQUIRES_NEW, true);
+ TransactionAttribute.REQUIRES_NEW.finish(tm, tranToken2);
c.verify();
}
diff --git a/util/src/test/java/org/apache/aries/util/VersionRangeTest.java b/util/src/test/java/org/apache/aries/util/VersionRangeTest.java
index f3298d421..ed7f11c61 100644
--- a/util/src/test/java/org/apache/aries/util/VersionRangeTest.java
+++ b/util/src/test/java/org/apache/aries/util/VersionRangeTest.java
@@ -23,8 +23,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import org.junit.Test;
import org.osgi.framework.Version;
@@ -148,30 +148,20 @@ public class VersionRangeTest
@Test
public void testExactVersion() throws Exception
{
- VersionRange vr;
- try {
- vr = new VersionRange("[1.0.0, 2.0.0]", true);
- fail("from 1 to 2 not excludsive is not an exact range");
- } catch (IllegalArgumentException e) {
- // expected
- }
-
- vr = new VersionRange("[1.0.0, 1.0.0]", true);
+ assertThrows(IllegalArgumentException.class, () -> {
+ new VersionRange("[1.0.0, 2.0.0]", true);
+ });
+
+ VersionRange vr = new VersionRange("[1.0.0, 1.0.0]", true);
assertTrue(vr.isExactVersion());
-
- try {
- vr = new VersionRange("(1.0.0, 1.0.0]", true);
- fail("from 1 (not including 1) to 1, is not valid");
- } catch (IllegalArgumentException e) {
- // expected
- }
-
- try {
- vr = new VersionRange("[1.0.0, 1.0.0)", true);
- fail("sfrom 1 to 1 (not including 1), is not valid");
- } catch (IllegalArgumentException e) {
- // expected
- }
+
+ assertThrows(IllegalArgumentException.class, () -> {
+ new VersionRange("(1.0.0, 1.0.0]", true);
+ });
+
+ assertThrows(IllegalArgumentException.class, () -> {
+ new VersionRange("[1.0.0, 1.0.0)", true);
+ });
vr = new VersionRange("1.0.0", true);
assertTrue(vr.isExactVersion());
diff --git a/util/src/test/java/org/apache/aries/util/filesystem/FileSystemTest.java b/util/src/test/java/org/apache/aries/util/filesystem/FileSystemTest.java
index f2af27c40..1b9c3ba59 100644
--- a/util/src/test/java/org/apache/aries/util/filesystem/FileSystemTest.java
+++ b/util/src/test/java/org/apache/aries/util/filesystem/FileSystemTest.java
@@ -23,8 +23,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileInputStream;
@@ -129,12 +129,9 @@ public class FileSystemTest
{
File baseDir = new File(getTestResourceDir(), "/app1");
File manifest = new File(baseDir, "META-INF/APPLICATION.MF");
- try {
+ assertThrows(IORuntimeException.class, () -> {
FileSystem.getFSRoot(manifest);
- fail("Should have thrown an IORuntimeException");
- } catch (IORuntimeException e) {
- // good!
- }
+ });
}
/**
diff --git a/util/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java b/util/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java
index ca5cbc435..be87c3d75 100644
--- a/util/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java
+++ b/util/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java
@@ -177,18 +177,12 @@ public class IOUtilsTest
@Override
public void write(int b) throws IOException
{
- if(b!=data[idx++]){
- fail("Data written to outputstream was not as expected");
- }
+ assertEquals(b, data[idx++]);
}
};
IOUtils.copy(is,os);
- if(is.available()!=123456789){
- fail("close was not invoked");
- }
-
-
+ assertEquals(is.available(),123456789);
}
@Test
@@ -218,9 +212,7 @@ public class IOUtilsTest
@Override
public void write(int b) throws IOException
{
- if(b!=data[idx++]){
- fail("Data written to outputstream was not as expected");
- }
+ assertEquals(b, data[idx++]);
}
};
diff --git a/util/src/test/java/org/apache/aries/util/manifest/ManifestHeaderProcessorTest.java b/util/src/test/java/org/apache/aries/util/manifest/ManifestHeaderProcessorTest.java
index a3c11faed..56d2dac43 100644
--- a/util/src/test/java/org/apache/aries/util/manifest/ManifestHeaderProcessorTest.java
+++ b/util/src/test/java/org/apache/aries/util/manifest/ManifestHeaderProcessorTest.java
@@ -23,8 +23,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.Arrays;
@@ -514,30 +514,20 @@ public class ManifestHeaderProcessorTest
@Test
public void testExactVersion() throws Exception
{
- VersionRange vr;
- try {
- vr = ManifestHeaderProcessor.parseVersionRange("[1.0.0, 2.0.0]", true);
- fail("should not get here 1");
- } catch (IllegalArgumentException e) {
- // expected
- }
+ assertThrows(IllegalArgumentException.class, () -> {
+ ManifestHeaderProcessor.parseVersionRange("[1.0.0, 2.0.0]", true);
+ });
- vr = ManifestHeaderProcessor.parseVersionRange("[1.0.0, 1.0.0]", true);
+ VersionRange vr = ManifestHeaderProcessor.parseVersionRange("[1.0.0, 1.0.0]", true);
assertTrue(vr.isExactVersion());
- try {
- vr = ManifestHeaderProcessor.parseVersionRange("(1.0.0, 1.0.0]", true);
- fail("should not get here 2");
- } catch (IllegalArgumentException e) {
- // expected
- }
+ assertThrows(IllegalArgumentException.class, () -> {
+ ManifestHeaderProcessor.parseVersionRange("(1.0.0, 1.0.0]", true);
+ });
- try {
- vr = ManifestHeaderProcessor.parseVersionRange("[1.0.0, 1.0.0)", true);
- fail("should not get here 3");
- } catch (IllegalArgumentException e) {
- // expected
- }
+ assertThrows(IllegalArgumentException.class, () -> {
+ ManifestHeaderProcessor.parseVersionRange("[1.0.0, 1.0.0)", true);
+ });
vr = ManifestHeaderProcessor.parseVersionRange("[1.0.0, 2.0.0]");
assertFalse(vr.isExactVersion());
diff --git a/versioning/versioning-checker/src/test/java/org/apache/aries/versioning/tests/FilterResultsTest.java b/versioning/versioning-checker/src/test/java/org/apache/aries/versioning/tests/FilterResultsTest.java
index b782e44f6..566ded897 100644
--- a/versioning/versioning-checker/src/test/java/org/apache/aries/versioning/tests/FilterResultsTest.java
+++ b/versioning/versioning-checker/src/test/java/org/apache/aries/versioning/tests/FilterResultsTest.java
@@ -18,8 +18,9 @@
*/
package org.apache.aries.versioning.tests;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.io.File;
import java.io.IOException;
@@ -44,9 +45,8 @@ public class FilterResultsTest {
* class, where the later versioned class has had a method removed.
*/
@Test
- public void testApiMethodErrorExcluded() {
+ public void testApiMethodErrorExcluded() throws IOException {
- try {
File oldBundleFile = new File("../src/test/resources/api_1.0.0.jar");
BundleInfo oldBundle = new BundleInfo(BundleManifest.fromBundle(oldBundleFile), oldBundleFile);
@@ -72,11 +72,7 @@ public class FilterResultsTest {
String bundleElement = bundleCompatibility.getBundleElement();
String pkgElement = bundleCompatibility.getPkgElements().toString();
- assertTrue("Unexpected bundle versioning issue", bundleElement==null);
- assertTrue("Unexpected package versioning issue", pkgElement.trim().length() == 0);
-
- } catch (IOException e) {
- fail("Unexpected IOException " + e);
- }
+ assertNull("Unexpected bundle versioning issue", bundleElement);
+ assertEquals("Unexpected package versioning issue", 0, pkgElement.trim().length());
}
}
diff --git a/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java b/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java
index e435aed6d..22d0e5243 100644
--- a/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java
+++ b/web/web-urlhandler/src/test/java/org/apache/aries/web/converter/impl/WabConverterTest.java
@@ -19,8 +19,8 @@
package org.apache.aries.web.converter.impl;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -224,15 +224,12 @@ public class WabConverterTest
attrs.putValue(Constants.BUNDLE_VERSION, "1.0");
attrs.putValue(Constants.IMPORT_PACKAGE, "org.apache.util,org.apache.test;version=1.0");
attrs.putValue(Constants.BUNDLE_CLASSPATH, "jsp/classes");
-
- try {
- convertWithProperties(m,
+
+ assertThrows(IOException.class, () -> {
+ convertWithProperties(m,
WarToWabConverter.WEB_CONTEXT_PATH, "WebFiles",
Constants.BUNDLE_SYMBOLICNAME, "foobar");
- fail("Conversion did not fail as expected");
- } catch (IOException e) {
- // that's expected
- }
+ });
}
private Attributes convertWithProperties(Manifest m, String ... props) throws Exception {