Class AkkaServerlessTestKit
- java.lang.Object
-
- com.akkaserverless.javasdk.testkit.AkkaServerlessTestKit
-
public class AkkaServerlessTestKit extends java.lang.ObjectTestkit for running Akka Serverless services locally.Requires Docker for starting a local instance of the Akka Serverless proxy.
Create an AkkaServerlessTestkit with an
AkkaServerlessservice descriptor, and thenstart()the testkit before testing the service with gRPC or HTTP clients. Callstop()after tests are complete.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAkkaServerlessTestKit.SettingsSettings for AkkaServerlessTestkit.
-
Constructor Summary
Constructors Constructor Description AkkaServerlessTestKit(com.akkaserverless.javasdk.AkkaServerless akkaServerless)Create a new testkit for an AkkaServerless service descriptor.AkkaServerlessTestKit(com.akkaserverless.javasdk.AkkaServerless akkaServerless, AkkaServerlessTestKit.Settings settings)Create a new testkit for an AkkaServerless service descriptor with custom settings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static intavailableLocalPort()Get an available local port for testing.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.AkkaServerlessTestKitstart()Start this testkit with default configuration (loaded fromapplication.conf).AkkaServerlessTestKitstart(com.typesafe.config.Config config)Start this testkit with custom configuration (overridesapplication.conf).voidstop()Stop the testkit and local Akka Serverless.
-
-
-
Constructor Detail
-
AkkaServerlessTestKit
public AkkaServerlessTestKit(com.akkaserverless.javasdk.AkkaServerless akkaServerless)
Create a new testkit for an AkkaServerless service descriptor.- Parameters:
akkaServerless- AkkaServerless service descriptor
-
AkkaServerlessTestKit
public AkkaServerlessTestKit(com.akkaserverless.javasdk.AkkaServerless akkaServerless, AkkaServerlessTestKit.Settings settings)Create a new testkit for an AkkaServerless service descriptor with custom settings.- Parameters:
akkaServerless- AkkaServerless service descriptorsettings- custom testkit settings
-
-
Method Detail
-
start
public AkkaServerlessTestKit start()
Start this testkit with default configuration (loaded fromapplication.conf).- Returns:
- this AkkaServerlessTestkit
-
start
public AkkaServerlessTestKit start(com.typesafe.config.Config config)
Start this testkit with custom configuration (overridesapplication.conf).- Parameters:
config- custom test configuration for the AkkaServerlessRunner- Returns:
- this AkkaServerlessTestkit
-
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
-
stop
public void stop()
Stop the testkit and local Akka Serverless.
-
availableLocalPort
public static int availableLocalPort()
Get an available local port for testing.- Returns:
- available local port
-
-