Class AkkaServerlessTestKitResource
- java.lang.Object
-
- org.junit.rules.ExternalResource
-
- com.akkaserverless.javasdk.testkit.junit.AkkaServerlessTestKitResource
-
- All Implemented Interfaces:
org.junit.rules.TestRule
public final class AkkaServerlessTestKitResource extends org.junit.rules.ExternalResourceA JUnit external resource forAkkaServerlessTestKit, which automatically manages the lifecycle of the testkit. The testkit will be automatically stopped when the test completes or fails.Note: JUnit is not provided as a transitive dependency of the Java SDK testkit module but must be added explicitly to your project.
Example:
import com.akkaserverless.javasdk.testkit.junit.AkkaServerlessTestKitResource; public class MyAkkaServerlessIntegrationTest { private static final AkkaServerless MY_AKKA_SERVERLESS = new AkkaServerless(); // with registered services @ClassRule public static final AkkaServerlessTestKitResource testKit = new AkkaServerlessTestKitResource(MY_AKKA_SERVERLESS); private final MyServiceClient client; // generated Akka gRPC client public MyAkkaServerlessIntegrationTest() { this.client = MyServiceClient.create(testKit.getGrpcClientSettings(), testKit.getActorSystem()); } @Test public void test() { // use client to test service } }
-
-
Constructor Summary
Constructors Constructor Description AkkaServerlessTestKitResource(com.akkaserverless.javasdk.AkkaServerless akkaServerless)AkkaServerlessTestKitResource(com.akkaserverless.javasdk.AkkaServerless akkaServerless, AkkaServerlessTestKit.Settings settings)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidafter()protected voidbefore()akka.actor.ActorSystemgetActorSystem()Get anActorSystemfor creating Akka HTTP clients.<T> TgetGrpcClient(java.lang.Class<T> clientClass)Get an Akka gRPC client for the given service name.akka.grpc.GrpcClientSettingsgetGrpcClientSettings()Deprecated, for removal: This API element is subject to removal in a future version.UsegetGrpcClientinstead.java.lang.StringgetHost()Get the host name/IP address where the Akka Serverless service is available.akka.stream.MaterializergetMaterializer()An Akka Stream materializer to use for running streams.intgetPort()Get the local port where the Akka Serverless service is available.
-
-
-
Constructor Detail
-
AkkaServerlessTestKitResource
public AkkaServerlessTestKitResource(com.akkaserverless.javasdk.AkkaServerless akkaServerless)
-
AkkaServerlessTestKitResource
public AkkaServerlessTestKitResource(com.akkaserverless.javasdk.AkkaServerless akkaServerless, AkkaServerlessTestKit.Settings settings)
-
-
Method Detail
-
before
protected void before()
- Overrides:
beforein classorg.junit.rules.ExternalResource
-
getHost
public java.lang.String getHost()
Get the host name/IP address where the Akka Serverless service is available. This is relevant in certain Continuous Integration environments.- Returns:
- Akka Serverless host
-
getPort
public int getPort()
Get the local port where the Akka Serverless service is available.- Returns:
- local Akka Serverless port
-
getGrpcClient
public <T> T getGrpcClient(java.lang.Class<T> clientClass)
Get an Akka gRPC client for the given service name. The same client instance is shared for the test. The lifecycle of the client is managed by the SDK and it should not be stopped by user code.- Type Parameters:
T- The "service" interface generated for the service by Akka gRPC- Parameters:
clientClass- The class of a gRPC service generated by Akka gRPC
-
getMaterializer
public akka.stream.Materializer getMaterializer()
An Akka Stream materializer to use for running streams. Needed for example in a command handler which accepts streaming elements but returns a single async reply once all streamed elements has been consumed.
-
getActorSystem
public akka.actor.ActorSystem getActorSystem()
Get anActorSystemfor creating Akka HTTP clients.- Returns:
- test actor system
-
getGrpcClientSettings
@Deprecated(since="0.8.1", forRemoval=true) public akka.grpc.GrpcClientSettings getGrpcClientSettings()Deprecated, for removal: This API element is subject to removal in a future version.UsegetGrpcClientinstead.GetGrpcClientSettingsfor creating Akka gRPC clients.- Returns:
- test gRPC client settings
-
after
protected void after()
- Overrides:
afterin classorg.junit.rules.ExternalResource
-
-