Package csw.testkit
Class AlarmTestKit
- java.lang.Object
-
- csw.testkit.AlarmTestKit
-
- All Implemented Interfaces:
EmbeddedRedis
,RedisStore
public final class AlarmTestKit extends java.lang.Object implements RedisStore
AlarmTestKit supports starting Alarm server using embedded redis internally (sentinel + master) and registering it with location serviceExample:
private val testKit = AlarmTestKit() // starting alarm server (start sentinel and master on default ports specified in configuration file) // it will also register AlarmService with location service testKit.startAlarmService() // stopping alarm server testKit.shutdownAlarmService()
-
-
Constructor Summary
Constructors Constructor Description AlarmTestKit()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AlarmTestKit
apply(akka.actor.typed.ActorSystem<akka.actor.typed.SpawnProtocol.Command> actorSystem, io.lettuce.core.RedisClient redisClient, TestKitSettings testKitSettings)
Create a AlarmTestKitprotected Connection.TcpConnection
connection()
static AlarmTestKit
create(akka.actor.typed.ActorSystem<akka.actor.typed.SpawnProtocol.Command> actorSystem)
Java API to create a EventTestKitstatic AlarmTestKit
create(TestKitSettings testKitSettings)
Java API to create a AlarmTestKitstatic AlarmTestKit
create(io.lettuce.core.RedisClient redisClient)
Java API to create a EventTestKitscala.concurrent.ExecutionContext
ec()
FullAlarmSeverity
getCurrentSeverity(Key.AlarmKey alarmKey)
Fetches the severity of the given alarm from the alarm storeakka.Done
initAlarms(com.typesafe.config.Config config, boolean reset)
Loads data for all alarms in alarm store i.e.csw.location.api.scaladsl.LocationService
locationService()
protected java.lang.String
masterId()
void
shutdownAlarmService()
Shutdown Alarm servicecsw.location.api.scaladsl.RegistrationResult
startAlarmService(int sentinelPort, int serverPort)
Scala API to Start Alarm servicevoid
startAlarmService(java.util.Optional<java.lang.Object> sentinelPort, java.util.Optional<java.lang.Object> serverPort)
Java API to Start Alarm serviceakka.actor.typed.ActorSystem<akka.actor.typed.SpawnProtocol.Command>
system()
akka.util.Timeout
timeout()
akka.actor.ActorSystem
untypedSystem()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface csw.testkit.redis.EmbeddedRedis
addJvmShutdownHook, startSentinel, stopSentinel
-
Methods inherited from interface csw.testkit.redis.RedisStore
shutdown, start, start, stopRedis
-
-
-
-
Method Detail
-
apply
public static AlarmTestKit apply(akka.actor.typed.ActorSystem<akka.actor.typed.SpawnProtocol.Command> actorSystem, io.lettuce.core.RedisClient redisClient, TestKitSettings testKitSettings)
Create a AlarmTestKitWhen the test has completed you should shutdown the alarm service with
shutdownAlarmService()
.- Parameters:
actorSystem
- (undocumented)redisClient
- (undocumented)testKitSettings
- (undocumented)- Returns:
- handle to AlarmTestKit which can be used to start and stop alarm service
-
create
public static AlarmTestKit create(akka.actor.typed.ActorSystem<akka.actor.typed.SpawnProtocol.Command> actorSystem)
Java API to create a EventTestKit- Parameters:
actorSystem
- (undocumented)- Returns:
- handle to EventTestKit which can be used to start and stop event service
-
create
public static AlarmTestKit create(TestKitSettings testKitSettings)
Java API to create a AlarmTestKit- Parameters:
testKitSettings
- custom testKitSettings- Returns:
- handle to AlarmTestKit which can be used to start and stop alarm service
-
create
public static AlarmTestKit create(io.lettuce.core.RedisClient redisClient)
Java API to create a EventTestKit- Parameters:
redisClient
- (undocumented)- Returns:
- handle to EventTestKit which can be used to start and stop event service
-
untypedSystem
public akka.actor.ActorSystem untypedSystem()
- Specified by:
untypedSystem
in interfaceRedisStore
-
ec
public scala.concurrent.ExecutionContext ec()
- Specified by:
ec
in interfaceRedisStore
-
system
public akka.actor.typed.ActorSystem<akka.actor.typed.SpawnProtocol.Command> system()
- Specified by:
system
in interfaceRedisStore
-
timeout
public akka.util.Timeout timeout()
- Specified by:
timeout
in interfaceRedisStore
-
masterId
protected java.lang.String masterId()
- Specified by:
masterId
in interfaceRedisStore
-
connection
protected Connection.TcpConnection connection()
- Specified by:
connection
in interfaceRedisStore
-
locationService
public csw.location.api.scaladsl.LocationService locationService()
-
startAlarmService
public csw.location.api.scaladsl.RegistrationResult startAlarmService(int sentinelPort, int serverPort)
Scala API to Start Alarm serviceIt will start redis sentinel and redis server on provided ports and then register's Alarm service with location service
- Parameters:
sentinelPort
- (undocumented)serverPort
- (undocumented)- Returns:
- (undocumented)
-
startAlarmService
public void startAlarmService(java.util.Optional<java.lang.Object> sentinelPort, java.util.Optional<java.lang.Object> serverPort)
Java API to Start Alarm serviceIt will start redis sentinel and redis server on provided ports and then register's Alarm service with location service
- Parameters:
sentinelPort
- (undocumented)serverPort
- (undocumented)
-
shutdownAlarmService
public void shutdownAlarmService()
Shutdown Alarm serviceWhen the test has completed, make sure you shutdown Alarm service. This will terminate actor system and stop redis sentinel and redis server.
-
initAlarms
public akka.Done initAlarms(com.typesafe.config.Config config, boolean reset)
Loads data for all alarms in alarm store i.e. metadata of alarms for e.g. subsystem, component, name, etc. and status of alarms for e.g. acknowledgement status, latch status, etc.- Parameters:
config
- represents the data for all alarms to be loaded in alarm storereset
- the alarm store before loading the data- Returns:
- Done when data is loaded successfully in alarm store or fails with
ConfigParseException
-
getCurrentSeverity
public FullAlarmSeverity getCurrentSeverity(Key.AlarmKey alarmKey)
Fetches the severity of the given alarm from the alarm store- Parameters:
alarmKey
- represents a unique alarm in alarm store- Returns:
- the alarm severity or fails with
KeyNotFoundException
-
-