diff --git a/.travis.yml b/.travis.yml index de2a1c7..7a1d0fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: java jdk: - - oraclejdk7 - oraclejdk8 after_success: - mvn clean test jacoco:report coveralls:report diff --git a/pom.xml b/pom.xml index 8a60a76..1dfade1 100755 --- a/pom.xml +++ b/pom.xml @@ -3,12 +3,12 @@ 4.0.0 org.zapodot akka-test-junit - 1.3.1-SNAPSHOT + 2.0-SNAPSHOT Useful JUnit hooks for testing Akka actors ${project.artifactId} https://github.com/zapodot/akka-test-junit - 3.0.4 + 3.2.0 @@ -38,12 +38,12 @@ UTF-8 4.12 - 2.3.15 - 1.7.21 + 2.5.11 + 1.7.25 0.2.1 1.6 2.10.2 - 1.6.5 + 1.6.8 2.4 3.1.0 0.7.5.201505241946 @@ -140,8 +140,8 @@ maven-compiler-plugin 3.1 - 1.7 - 1.7 + 1.8 + 1.8 @@ -174,7 +174,7 @@ UTF-8 http://junit.org/junit4/javadoc/latest/ - http://docs.oracle.com/javase/7/docs/api/ + http://docs.oracle.com/javase/8/docs/api/ http://doc.akka.io/japi/akka/${akka.version}/ en diff --git a/src/main/java/org/zapodot/akka/junit/ActorSystemRule.java b/src/main/java/org/zapodot/akka/junit/ActorSystemRule.java index cd66f97..a06bdbc 100644 --- a/src/main/java/org/zapodot/akka/junit/ActorSystemRule.java +++ b/src/main/java/org/zapodot/akka/junit/ActorSystemRule.java @@ -1,7 +1,7 @@ package org.zapodot.akka.junit; import akka.actor.ActorSystem; -import akka.testkit.JavaTestKit; +import akka.testkit.javadsl.TestKit; import org.junit.rules.TestRule; /** @@ -38,10 +38,10 @@ public interface ActorSystemRule extends TestRule { ActorSystem system(); /** - * Convienience method that provides easy access to a {@link JavaTestKit} instance. + * Convienience method that provides easy access to a {@link TestKit} instance. * - * @return the {@link JavaTestKit} instance that was created before the test ran + * @return the {@link TestKit} instance that was created before the test ran */ - JavaTestKit testKit(); + TestKit testKit(); } diff --git a/src/main/java/org/zapodot/akka/junit/ActorSystemRuleBuilder.java b/src/main/java/org/zapodot/akka/junit/ActorSystemRuleBuilder.java index 71c6f66..a333434 100755 --- a/src/main/java/org/zapodot/akka/junit/ActorSystemRuleBuilder.java +++ b/src/main/java/org/zapodot/akka/junit/ActorSystemRuleBuilder.java @@ -131,7 +131,7 @@ public ActorSystemRuleBuilder enableInmemoryJournal() { * Allows the developer to tune the shutdown timeout which is the maximum number of seconds to wait while shutting * down the ActorSystem. Will default to {@link ActorSystemRule#DEFAULT_SHUTDOWN_TIMEOUT} if this method is not called. * - * @param shutdownTimeoutInSeconds + * @param shutdownTimeoutInSeconds the number of seconds before ActorSystem shutdown will time out * @return the same builder with the shutdown timeout set */ public ActorSystemRuleBuilder withShutdownTimeoutInSeconds(final long shutdownTimeoutInSeconds) { diff --git a/src/main/java/org/zapodot/akka/junit/ActorSystemRuleImpl.java b/src/main/java/org/zapodot/akka/junit/ActorSystemRuleImpl.java index 7da4950..32d731e 100755 --- a/src/main/java/org/zapodot/akka/junit/ActorSystemRuleImpl.java +++ b/src/main/java/org/zapodot/akka/junit/ActorSystemRuleImpl.java @@ -3,8 +3,8 @@ import akka.actor.ActorSystem; import akka.actor.Props; import akka.actor.UnhandledMessage; -import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; +import akka.testkit.javadsl.TestKit; import com.typesafe.config.Config; import org.junit.rules.ExternalResource; import org.slf4j.Logger; @@ -29,7 +29,7 @@ public class ActorSystemRuleImpl extends ExternalResource implements ActorSystem private ActorSystem actorSystem; private Config config = null; private TestActorRef unhandledMessagesConsumer; - private JavaTestKit javaTestKit; + private TestKit javaTestKit; private final long shutdownTimeoutSeconds; @@ -90,18 +90,18 @@ public ActorSystem system() { } @Override - public JavaTestKit testKit() { + public TestKit testKit() { return javaTestKit; } @Override - protected void before() throws Throwable { + protected void before() { LOGGER.debug("Instantiating ActorSystem \"{}\"", name); actorSystem = config == null ? ActorSystem.create(name) : ActorSystem.create(name, config); unhandledMessagesConsumer = TestActorRef.create(actorSystem, Props.create(ConsumingActor.class), "unhandledMessagesConsumer"); actorSystem.eventStream().subscribe(unhandledMessagesConsumer, UnhandledMessage.class); - javaTestKit = new JavaTestKit(actorSystem); + javaTestKit = new TestKit(actorSystem); } @@ -109,10 +109,7 @@ protected void before() throws Throwable { protected void after() { javaTestKit = null; - if (!actorSystem.isTerminated()) { - LOGGER.debug("Shutting down ActorSystem \"{}\"", name); - JavaTestKit.shutdownActorSystem(actorSystem, Duration.apply(shutdownTimeoutSeconds, TimeUnit.SECONDS), true); - } + TestKit.shutdownActorSystem(actorSystem, Duration.apply(shutdownTimeoutSeconds, TimeUnit.SECONDS), true); actorSystem = null; } diff --git a/src/main/java/org/zapodot/akka/junit/actor/ConsumingActor.java b/src/main/java/org/zapodot/akka/junit/actor/ConsumingActor.java index b6ee76c..b899f44 100755 --- a/src/main/java/org/zapodot/akka/junit/actor/ConsumingActor.java +++ b/src/main/java/org/zapodot/akka/junit/actor/ConsumingActor.java @@ -1,6 +1,6 @@ package org.zapodot.akka.junit.actor; -import akka.actor.UntypedActor; +import akka.actor.AbstractActor; import akka.event.Logging; import akka.event.LoggingAdapter; @@ -10,13 +10,19 @@ /** * A simple consuming actor that stores all messages that was received */ -public class ConsumingActor extends UntypedActor { +public class ConsumingActor extends AbstractActor { public List messagesReceived = new LinkedList<>(); private LoggingAdapter logger = Logging.getLogger(context().system(), self()); @Override - public void onReceive(final Object message) throws Exception { + public Receive createReceive() { + return receiveBuilder() + .matchAny(this::onReceive) + .build(); + } + + private void onReceive(final Object message) { logger.debug("Received message \"{}\". Adding it to the list of received messages"); messagesReceived.add(message); diff --git a/src/test/java/org/zapodot/akka/junit/TestKitTest.java b/src/test/java/org/zapodot/akka/junit/TestKitTest.java index b5f07f2..c331b01 100755 --- a/src/test/java/org/zapodot/akka/junit/TestKitTest.java +++ b/src/test/java/org/zapodot/akka/junit/TestKitTest.java @@ -3,7 +3,7 @@ import akka.actor.ActorRef; import akka.actor.Props; import akka.actor.UntypedActor; -import akka.testkit.JavaTestKit; +import akka.testkit.javadsl.TestKit; import org.junit.Rule; import org.junit.Test; import scala.concurrent.duration.FiniteDuration; @@ -35,7 +35,7 @@ public void onReceive(final Object message) throws Exception { @Test public void testRule() throws Exception { - final JavaTestKit javaTestKit = testKitRule.testKit(); + final TestKit javaTestKit = testKitRule.testKit(); final ActorRef testActor = javaTestKit.getTestActor(); final String message = "test"; @@ -48,7 +48,7 @@ public void testRule() throws Exception { public void testRuleAsync() throws Exception { final Props simpleActorProps = Props.create(SimpleActor.class); final ActorRef simpleActorRef = testKitRule.system().actorOf(simpleActorProps); - final JavaTestKit testProbe = testKitRule.testKit(); + final TestKit testProbe = testKitRule.testKit(); final String msg = "Hello AKKA"; simpleActorRef.tell(msg, testProbe.getTestActor());