Class SingleDavStarter
- java.lang.Object
-
- de.kappich.pat.testumg.util.SingleDavStarter
-
- All Implemented Interfaces:
DavInformation
,DafApplicationEnvironment
- Direct Known Subclasses:
MultiDavTestEnvironment.MultiDavStarter
public class SingleDavStarter extends java.lang.Object implements DavInformation, DafApplicationEnvironment
Klasse, die das Testen von Applikationen und sonstigem Code innerhalb einer Datenverteilerumgebung erlaubt.Ein Beispiel für einen einfachen Testfall ist de.kappich.pat.testumg.util.TestSample.
-
-
Field Summary
Fields Modifier and Type Field Description protected ConfigurationController
_configurationController
-
Constructor Summary
Constructors Constructor Description SingleDavStarter()
Erstellt eine neue Testumgebung mit einem einzelnen Datenverteiler und mit Standard-ParameternSingleDavStarter(de.bsvrz.dav.daf.accessControl.AccessControlMode accessControlType, java.lang.String... accessControlPlugIns)
Erstellt eine neue Testumgebung mit der angegebenen RechteprüfungSingleDavStarter(java.lang.String name, java.lang.String remoteConf, java.lang.String[] accessControlPlugIns, de.bsvrz.dav.daf.accessControl.AccessControlMode accessControlType, int appPort, int davPort, int passivePort)
Erstellt eine neue TestumgebungSingleDavStarter(java.lang.String name, java.lang.String remoteConf, java.lang.String[] accessControlPlugIns, de.bsvrz.dav.daf.accessControl.AccessControlMode accessControlType, int appPort, int davPort, int passivePort, java.lang.Class<?> testClass, java.nio.file.Path workingDir)
Erstellt eine neue Testumgebung
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
activate(java.lang.String... configurationAreaPids)
Importiert und aktiviert die angegebenen Konfigurationsbereiche in den angegebenen Versionen.void
activateAndReleaseForActivation(java.lang.String... configurationAreaPids)
Diese Methode tut das selbe wieactivate(String...)
, mit dem Unterschied, dass die Bereiche nicht nur aktiviert, sondern auch für die Aktivierung durch andere freigegeben werden.protected DaVStarter
configureDaVStarter(DaVStarter daVStarter)
Konfiguriert den DaV-Starter.de.bsvrz.dav.daf.main.ClientDavInterface
connect()
Erstellt eine Verbindung, wartet gegebenenfalls auf das Laden des Datenverteilers.de.bsvrz.dav.daf.main.ClientDavInterface
connect(de.bsvrz.dav.daf.main.ClientDavParameters clientDavParameters)
de.bsvrz.dav.daf.main.ClientDavInterface
connect(java.lang.String user, de.bsvrz.dav.daf.main.authentication.ClientCredentials password)
Erstellt eine Verbindung, wartet gegebenenfalls auf das Laden des Datenverteilers.de.bsvrz.dav.daf.main.ClientDavInterface
connect(java.lang.String user, de.bsvrz.dav.daf.main.authentication.ClientCredentials password, de.bsvrz.dav.daf.main.ClientDavParameters clientDavParameters)
Erstellt eine Verbindung, wartet gegebenenfalls auf das Laden des Datenverteilers.java.nio.file.Path
copyResources(java.lang.String resourceNamePrefix, java.lang.String destinationDirectoryName)
Kopiert Resourcedateien mit einem angegebenen Präfix in ein neues Verzeichnis.<T> DafApplication<T>
createApplication(java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.<T> DafApplication<T>
createApplication(java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args, java.lang.String user)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.protected DaVStarter
createDavStarter()
Erstellt einen Dav-Starter und initialisiert ihn mit den Test-Einstellungen<T extends de.bsvrz.sys.funclib.application.StandardApplication>
DafApplication<T>createStandardApplication(T application, java.util.List<java.lang.String> args)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.<T extends de.bsvrz.sys.funclib.application.StandardApplication>
DafApplication<T>createStandardApplication(T application, java.util.List<java.lang.String> args, java.lang.String user)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.protected void
finalize()
java.lang.String[]
getAccessControlPlugIns()
Gibt die verwendeten Rechteprüfungs-Plugins zurückde.bsvrz.dav.daf.accessControl.AccessControlMode
getAccessControlType()
Gibt die Art der Rechteprüfung zurückint[]
getActivePorts()
Gibt die Ports zurück, zu denen der Datenverteiler aktiv Applikationsverbindungen aufbautjava.lang.String
getAddress()
int
getAppPort()
Gibt den Anwendungs-Port zurückcom.google.common.collect.ImmutableMap<java.lang.String,de.bsvrz.dav.daf.main.authentication.ClientCredentials>
getAuthenticationFile()
Gibt die Inhalte der Passwort-Datei zurückjava.lang.String[]
getClassPath()
Gibt den zusätzlichen ClassPath zurückjava.lang.String
getConfigurationAuthority()
Gibt den KV zurückjava.lang.String
getConfigurationDebugLevel()
Gibt den Debug-Level der Konfiguration (puk.config) zurückjava.lang.String
getConfigUser()
Gibt den Konfigurationsbenutzer zurückint
getDavPort()
Gibt den Datenverteiler-Port zurückjava.lang.String
getDavUser()
Gibt den Datenverteiler-Benutzer zurückFakeParamApp
getFakeParamApp()
Gibt die Fake-Parametrierung zurück.de.bsvrz.puk.config.main.managementfile.ManagementFile
getManagementFile()
Gibt die Verwaltungsdaten zurückjava.lang.String
getName()
Gibt den Namen dieses Datenverteilers zurückjava.lang.String
getParamDebugLevel()
Gibt den Debug-Level der Parameterierung zurückint
getPassivePort()
Gibt den Port zurück, dem dem der Datenverteiler auf den aktiven Applikations-Verbindungsaufbau eines anderen Datenverteilers wartet.int
getPort()
ReleaseVersion
getReleaseVersion()
Gibt das verwendete Release der Kernsoftware zurückjava.lang.String
getRemoteConf()
Gibt die im Konstruktor übergebene Remote-Konfiguration zurück, mit der sich der datenverteiler verbinden solljava.nio.file.Path
getRootDir()
Gibt das Wurzelverzeichnis der Testumgebung zurück.static java.lang.Class<?>
getTestClass(java.lang.Class<?> testerClass)
de.bsvrz.dav.dav.main.Transmitter
getTransmitter()
Gibt das Transmitter-Objekt des Datenverteilers zurückjava.lang.String
getTransmitterDebugLevel()
Gibt den Debug-Level des Datenverteilersjava.util.List<UserAccount>
getUserAccounts()
Gibt die Inhalte der Benutzerverwaltung zurückjava.nio.file.Path
getWorkingDirectory()
Gibt das datenverteilerspezifische Verzeichnis der Testumgebung zurückboolean
isRunning()
Gibt zurück, ob der Datenverteiler gestartet wurde, also entweder gerade startet oder schon läuft.protected void
onSuccessfulStart()
void
setActivePorts(int... activePorts)
Setzt die aktiven Portsvoid
setAuthenticationFile(java.util.Map<java.lang.String,de.bsvrz.dav.daf.main.authentication.ClientCredentials> authenticationFile)
Setzt die Inhalte der Passwort-Datei (passwd.properties)void
setConfigurationDebugLevel(java.lang.String configurationDebugLevel)
Setzt den Konfigurations-Debug-Level.void
setConfigUser(java.lang.String configUser)
Setzt den Benutzer, mit dem die Konfiguration gestartet wirdvoid
setDavUser(java.lang.String davUser)
Setzt den Benutzer, mit dem der Datenverteiler gestartet wirdvoid
setParamAppType(ParamAppType paramAppType)
Setzt den Typ der zu startenden Parametrierung.void
setParamDebugLevel(java.lang.String paramDebugLevel)
Setzt den Parametrierungs-Debug-Level.void
setTransmitterDebugLevel(java.lang.String transmitterDebugLevel)
Setzt den Datenverteiler-Debug-Level.void
setUserAccounts(UserAccount... userAccounts)
Setzt die Inhalte der Benutzerverwaltung.xmlvoid
start(java.lang.String... configurationAreas)
Startet den Datenverteiler, sowie Konfiguration und Parameterierung (wenn entsprechend konfiguriert).void
startWithoutWaiting()
Startet den Datenverteiler ohne auf Fertigstellung zu wartenvoid
stop()
Stoppt den Datenverteiler (ohne das Verzeichnis zu löschen)void
stopWithoutFileDeletion()
Deprecated.java.lang.String
toString()
void
waitUntilReady()
Wartet bis der Datenverteiler fertig geladen ist.SingleDavStarter
withClassPath(java.lang.String... classPath)
Erweitert den Classpath um die angegebenen Dateien.SingleDavStarter
withParam(ParamAppType paramAppType)
Setzt die Art der Parametrierung an diesem DatenverteilerSingleDavStarter
withReleaseVersion(ReleaseVersion version)
Setzt die Version von Datenverteiler, Konfiguration und ggf.
-
-
-
Field Detail
-
_configurationController
protected final ConfigurationController _configurationController
-
-
Constructor Detail
-
SingleDavStarter
public SingleDavStarter()
Erstellt eine neue Testumgebung mit einem einzelnen Datenverteiler und mit Standard-ParameternEin Beispiel für einen einfachen Testfall ist `de.kappich.pat.testumg.util.TestSample`.
-
SingleDavStarter
public SingleDavStarter(de.bsvrz.dav.daf.accessControl.AccessControlMode accessControlType, java.lang.String... accessControlPlugIns)
Erstellt eine neue Testumgebung mit der angegebenen Rechteprüfung- Parameters:
accessControlType
- Art der RechteprüfungaccessControlPlugIns
- Rechteprüfungs-Plugins (Optional, Klassennamen)
-
SingleDavStarter
public SingleDavStarter(java.lang.String name, @Nullable java.lang.String remoteConf, java.lang.String[] accessControlPlugIns, de.bsvrz.dav.daf.accessControl.AccessControlMode accessControlType, int appPort, int davPort, int passivePort)
Erstellt eine neue Testumgebung- Parameters:
accessControlType
- Art der RechteprüfungaccessControlPlugIns
- Rechteprüfungs-Plugins (Optional, Klassennamen)appPort
- Applikations-PortdavPort
- Datenverteiler-PortpassivePort
- Port for passiven Verbindungaufbau (oder 0 bei aktivem Verbindungsaufbau)name
- Name der TestumgebungremoteConf
- Remote-Konfiguration (wird vomMultiDavTestEnvironment.MultiDavStarter
bei Bedarf gesetzt, falls true wird keine eigene Konfiguration gestartet)
-
SingleDavStarter
public SingleDavStarter(java.lang.String name, @Nullable java.lang.String remoteConf, java.lang.String[] accessControlPlugIns, de.bsvrz.dav.daf.accessControl.AccessControlMode accessControlType, int appPort, int davPort, int passivePort, java.lang.Class<?> testClass, java.nio.file.Path workingDir)
Erstellt eine neue Testumgebung- Parameters:
name
- Name der TestumgebungremoteConf
- Remote-Konfiguration (wird vomMultiDavTestEnvironment.MultiDavStarter
bei Bedarf gesetzt, falls true wird keine eigene Konfiguration gestartet)accessControlPlugIns
- Rechteprüfungs-Plugins (Optional, Klassennamen)accessControlType
- Art der RechteprüfungappPort
- Applikations-PortdavPort
- Datenverteiler-PortpassivePort
- Port for passiven Verbindungaufbau (oder 0 bei aktivem Verbindungsaufbau)testClass
- Klasse des TestfallsworkingDir
- Arbeitsverzeichnis
-
-
Method Detail
-
getTestClass
@NotNull public static java.lang.Class<?> getTestClass(java.lang.Class<?> testerClass)
-
getConfigurationDebugLevel
public final java.lang.String getConfigurationDebugLevel()
Gibt den Debug-Level der Konfiguration (puk.config) zurück- Returns:
- den Debug-Level
- See Also:
setConfigurationDebugLevel(String)
-
setConfigurationDebugLevel
public final void setConfigurationDebugLevel(java.lang.String configurationDebugLevel)
Setzt den Konfigurations-Debug-Level. Diese Methode muss vor dem Start der Umgebung aufgerufen werden, um wirksam zu sein.- Parameters:
configurationDebugLevel
- Einer der folgenden Werte: "ERROR" "WARNING" "CONFIG" "INFO" "FINE" "FINER" "FINEST" "ALL".
-
getTransmitterDebugLevel
public final java.lang.String getTransmitterDebugLevel()
Gibt den Debug-Level des Datenverteilers- Returns:
- den Debug-Level
- See Also:
setTransmitterDebugLevel(String)
-
setTransmitterDebugLevel
public final void setTransmitterDebugLevel(java.lang.String transmitterDebugLevel)
Setzt den Datenverteiler-Debug-Level. Diese Methode muss vor dem Start der Umgebung aufgerufen werden, um wirksam zu sein.- Parameters:
transmitterDebugLevel
- Einer der folgenden Werte: "ERROR" "WARNING" "CONFIG" "INFO" "FINE" "FINER" "FINEST" "ALL".
-
getParamDebugLevel
public final java.lang.String getParamDebugLevel()
Gibt den Debug-Level der Parameterierung zurück- Returns:
- den Debug-Level
- See Also:
setParamDebugLevel(String)
-
setParamDebugLevel
public final void setParamDebugLevel(java.lang.String paramDebugLevel)
Setzt den Parametrierungs-Debug-Level. Diese Methode muss vor dem Start der Umgebung aufgerufen werden, um wirksam zu sein.- Parameters:
paramDebugLevel
- Einer der folgenden Werte: "ERROR" "WARNING" "CONFIG" "INFO" "FINE" "FINER" "FINEST" "ALL".
-
isRunning
public final boolean isRunning()
Gibt zurück, ob der Datenverteiler gestartet wurde, also entweder gerade startet oder schon läuft.- Returns:
- Ob der Datenverteiler gestartet wurde
-
createDavStarter
protected DaVStarter createDavStarter() throws java.lang.Exception
Erstellt einen Dav-Starter und initialisiert ihn mit den Test-Einstellungen- Returns:
- DavStarter
- Throws:
java.lang.Exception
- Allgemeine Exception, wird nur für Testfälle gebraucht.
-
configureDaVStarter
@NotNull protected final DaVStarter configureDaVStarter(DaVStarter daVStarter) throws java.io.IOException
Konfiguriert den DaV-Starter. Dabei werden Classpath, Passwortdatei und benutzerverwaltung.xml geschrieben.- Parameters:
daVStarter
- Zu konfigurierendes Objekt- Returns:
- Konfiguriertes Objekt (identisch zum Parameter)
- Throws:
java.io.IOException
- IO-Fehler
-
createApplication
public <T> DafApplication<T> createApplication(java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.- Type Parameters:
T
- Beliebiger, für den Test relevanter Typ der Applikation- Parameters:
creator
- Vom Anwender der Klasse festzulegender Ausdruck, der eine Instanz der Applikation erstellt. Der Parameter der Funktion sind dabei die Aufrufargumente. Die Rückgabe der Funktion ist ein beliebiges Objekt, zum Beispiel die Main-Klasse oder Hauptklasse der Applikation. Sie kann später abgefragt werden.args
- Zusätzliche applikationsspezifische Start-Argumente (Standard-Argumente wie "-benutzer" können weggelassen werden und werden automatisch erzeugt)- Returns:
- Objekt, das die zu testende Applikation kapselt und Befehle wie Starten und Stoppen ermöglicht.
-
createApplication
public <T> DafApplication<T> createApplication(java.util.function.Function<java.lang.String[],T> creator, java.util.List<java.lang.String> args, java.lang.String user)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.- Type Parameters:
T
- Beliebiger, für den Test relevanter Typ der Applikation- Parameters:
creator
- Vom Anwender der Klasse festzulegender Ausdruck, der eine Instanz der Applikation erstellt. Der Parameter der Funktion sind dabei die Aufrufargumente. Die Rückgabe der Funktion ist ein beliebiges Objekt, zum Beispiel die Main-Klasse oder Hauptklasse der Applikation. Sie kann später abgefragt werden.args
- Zusätzliche applikationsspezifische Start-Argumente (Standard-Argumente wie "-benutzer" können weggelassen werden und werden automatisch erzeugt)user
- Benutzer der Applikation (muss in passwd und Benutzerverwaltung vorhanden sein, siehesetAuthenticationFile(Map)
undsetUserAccounts(UserAccount...)
).- Returns:
- Objekt, das die zu testende Applikation kapselt und Befehle wie Starten und Stoppen ermöglicht.
-
createStandardApplication
public <T extends de.bsvrz.sys.funclib.application.StandardApplication> DafApplication<T> createStandardApplication(T application, java.util.List<java.lang.String> args)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.- Type Parameters:
T
- Implementierugn von StandardApplication- Parameters:
application
- Neue, bisher nicht initialisierte Instant einerStandardApplication
.args
- Zusätzliche applikationsspezifische Start-Argumente (Standard-Argumente wie "-benutzer" können weggelassen werden und werden automatisch erzeugt)- Returns:
- Objekt, das die zu testende Applikation kapselt und Befehle wie Starten und Stoppen ermöglicht.
-
createStandardApplication
public <T extends de.bsvrz.sys.funclib.application.StandardApplication> DafApplication<T> createStandardApplication(T application, java.util.List<java.lang.String> args, java.lang.String user)
Diese Funktion erlaubt es, eine Instanz einer Dav-Applikation zu erzeugen und diese dann im laufenden Betrieb zu testen und fernzusteuern.- Type Parameters:
T
- Implementierugn von StandardApplication- Parameters:
application
- Neue, bisher nicht initialisierte Instant einerStandardApplication
.args
- Zusätzliche applikationsspezifische Start-Argumente (Standard-Argumente wie "-benutzer" können weggelassen werden und werden automatisch erzeugt)user
- Benutzer der Applikation (muss in passwd und Benutzerverwaltung vorhanden sein, siehesetAuthenticationFile(Map)
undsetUserAccounts(UserAccount...)
).- Returns:
- Objekt, das die zu testende Applikation kapselt und Befehle wie Starten und Stoppen ermöglicht.
-
getAddress
public java.lang.String getAddress()
- Specified by:
getAddress
in interfaceDavInformation
-
getPort
public final int getPort()
- Specified by:
getPort
in interfaceDavInformation
-
getAppPort
public final int getAppPort()
Gibt den Anwendungs-Port zurück- Specified by:
getAppPort
in interfaceDafApplicationEnvironment
- Returns:
- Anwendungs-Port
-
getDavPort
public int getDavPort()
Gibt den Datenverteiler-Port zurück- Returns:
- Datenverteiler-Port
-
getName
public java.lang.String getName()
Gibt den Namen dieses Datenverteilers zurück- Specified by:
getName
in interfaceDavInformation
- Returns:
- Name
-
startWithoutWaiting
public void startWithoutWaiting()
Startet den Datenverteiler ohne auf Fertigstellung zu warten
-
onSuccessfulStart
protected void onSuccessfulStart()
-
stop
public void stop()
Stoppt den Datenverteiler (ohne das Verzeichnis zu löschen)
-
stopWithoutFileDeletion
@Deprecated public void stopWithoutFileDeletion()
Deprecated.Stoppt den Datenverteiler ohne das Verzeichnis zu löschen
-
connect
public de.bsvrz.dav.daf.main.ClientDavInterface connect()
Erstellt eine Verbindung, wartet gegebenenfalls auf das Laden des Datenverteilers. Er muss aber vorher gestartet worden sein.- Specified by:
connect
in interfaceDafApplicationEnvironment
- Returns:
- Verbindung
-
connect
public de.bsvrz.dav.daf.main.ClientDavInterface connect(de.bsvrz.dav.daf.main.ClientDavParameters clientDavParameters)
-
connect
public de.bsvrz.dav.daf.main.ClientDavInterface connect(java.lang.String user, de.bsvrz.dav.daf.main.authentication.ClientCredentials password)
Erstellt eine Verbindung, wartet gegebenenfalls auf das Laden des Datenverteilers. Er muss aber vorher gestartet worden sein.- Parameters:
user
- Benutzername zur Authentifizierungpassword
- Passwort zur Authentifizierung- Returns:
- Verbindung
-
connect
public de.bsvrz.dav.daf.main.ClientDavInterface connect(java.lang.String user, de.bsvrz.dav.daf.main.authentication.ClientCredentials password, @Nullable de.bsvrz.dav.daf.main.ClientDavParameters clientDavParameters)
Erstellt eine Verbindung, wartet gegebenenfalls auf das Laden des Datenverteilers. Er muss aber vorher gestartet worden sein.- Parameters:
user
- Benutzername zur Authentifizierungpassword
- Passwort zur AuthentifizierungclientDavParameters
-- Returns:
- Verbindung
-
getTransmitter
@Nullable public de.bsvrz.dav.dav.main.Transmitter getTransmitter()
Gibt das Transmitter-Objekt des Datenverteilers zurück- Returns:
- Transmitter-Objekt oder null falls nicht vorhanden
-
getFakeParamApp
public FakeParamApp getFakeParamApp()
Gibt die Fake-Parametrierung zurück. Der Datenverteiler muss vorher erzeugt worden sein.- Specified by:
getFakeParamApp
in interfaceDafApplicationEnvironment
- Returns:
- FakeParamApp oder null falls nicht mit
setParamAppType(ParamAppType)
aktiviert.
-
getConfigurationAuthority
public java.lang.String getConfigurationAuthority()
Description copied from interface:DafApplicationEnvironment
Gibt den KV zurück- Specified by:
getConfigurationAuthority
in interfaceDafApplicationEnvironment
- Returns:
- KV-Pid
-
waitUntilReady
public void waitUntilReady()
Wartet bis der Datenverteiler fertig geladen ist.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getWorkingDirectory
public java.nio.file.Path getWorkingDirectory()
Description copied from interface:DafApplicationEnvironment
Gibt das datenverteilerspezifische Verzeichnis der Testumgebung zurück- Specified by:
getWorkingDirectory
in interfaceDafApplicationEnvironment
- Returns:
- datenverteilerspezifische Verzeichnis der Testumgebung
-
getRootDir
public java.nio.file.Path getRootDir()
Description copied from interface:DafApplicationEnvironment
Gibt das Wurzelverzeichnis der Testumgebung zurück. Hier können allgemeien daten abgelegt werden- Specified by:
getRootDir
in interfaceDafApplicationEnvironment
- Returns:
- Wurzelverzeichnis
-
setParamAppType
public void setParamAppType(ParamAppType paramAppType)
Setzt den Typ der zu startenden Parametrierung.- Specified by:
setParamAppType
in interfaceDafApplicationEnvironment
- Parameters:
paramAppType
- Typ der Parametrierung.
-
getManagementFile
public de.bsvrz.puk.config.main.managementfile.ManagementFile getManagementFile()
Gibt die Verwaltungsdaten zurück- Returns:
- verwaltungsdaten
-
withClassPath
public SingleDavStarter withClassPath(java.lang.String... classPath)
Erweitert den Classpath um die angegebenen Dateien. Bei wiederholten Aufruf dieser Methode werden die vorherigen Erweiterungen ersetzt.- Parameters:
classPath
- ClassPath-Erweiterungen- Returns:
- this
-
withReleaseVersion
public SingleDavStarter withReleaseVersion(ReleaseVersion version)
Setzt die Version von Datenverteiler, Konfiguration und ggf. Parametrierung für diesen Datenverteiler- Parameters:
version
- Version- Returns:
- this
-
withParam
public SingleDavStarter withParam(ParamAppType paramAppType)
Setzt die Art der Parametrierung an diesem Datenverteiler- Parameters:
paramAppType
- Art- Returns:
- this
-
getAuthenticationFile
public com.google.common.collect.ImmutableMap<java.lang.String,de.bsvrz.dav.daf.main.authentication.ClientCredentials> getAuthenticationFile()
Gibt die Inhalte der Passwort-Datei zurück- Returns:
- die Inhalte der Passwort-Datei, falls null wird die Standard-Passwortdatei benutzt
- See Also:
setAuthenticationFile(Map)
-
setAuthenticationFile
public void setAuthenticationFile(java.util.Map<java.lang.String,de.bsvrz.dav.daf.main.authentication.ClientCredentials> authenticationFile)
Setzt die Inhalte der Passwort-Datei (passwd.properties)- Parameters:
authenticationFile
- Inhalte. Der Key ist der Benutzername, der Value das Passwort bzw. der verschlüsselte SRP-Login-Token
-
getUserAccounts
public java.util.List<UserAccount> getUserAccounts()
Gibt die Inhalte der Benutzerverwaltung zurück- Returns:
- die Inhalte der Benutzerverwaltung, falls null wird die Standard-Benutzerverwaltung benutzt
-
setUserAccounts
public void setUserAccounts(UserAccount... userAccounts)
Setzt die Inhalte der Benutzerverwaltung.xml- Parameters:
userAccounts
- Liste mit Benutzerkonten (Accounts)
-
getDavUser
public java.lang.String getDavUser()
Gibt den Datenverteiler-Benutzer zurück- Returns:
- den Datenverteiler-Benutzer
-
setDavUser
public void setDavUser(java.lang.String davUser)
Setzt den Benutzer, mit dem der Datenverteiler gestartet wird- Parameters:
davUser
- Dav-Benutzer
-
getConfigUser
public java.lang.String getConfigUser()
Gibt den Konfigurationsbenutzer zurück- Returns:
- den Konfigurationsbenutzer
-
setConfigUser
public void setConfigUser(java.lang.String configUser)
Setzt den Benutzer, mit dem die Konfiguration gestartet wird- Parameters:
configUser
- Konfigurations-Benutzer
-
start
public void start(java.lang.String... configurationAreas)
Startet den Datenverteiler, sowie Konfiguration und Parameterierung (wenn entsprechend konfiguriert).- Parameters:
configurationAreas
- Optional vor dem Start zu aktivierende Konfigurationsbereiche. Die Konfigurationsbereiche können mit Versionsnummern versehen sein, das Verhalten ist in deractivate
-Methode beschrieben.
-
activate
public void activate(java.lang.String... configurationAreaPids)
Importiert und aktiviert die angegebenen Konfigurationsbereiche in den angegebenen Versionen.Die Konfigurationsbereiche müssen sich als Resource im Package des Testfalls befinden. Es kann entweder nur die Pid angegeben werden, dann wird die Datei einfach importiert. Z. B. die Angabe von "kb.testObjekte" importiert den Bereich mit der Pid "kb.testObjekte" aus der Datei "kb.testObjekte.xml".
Bei manchen Tests ist es sinnvoll nacheinander verschiedene Versionen eines Bereiches zu aktivieren, dafür kann zusätzlich eine Versionsangabe getrennt mit einem Doppelpunkt nach der Pid gemacht werden. Beispiel:
- Die Angabe von "kb.testObjekte:1" importiert den Bereich mit der id "kb.testObjekte" aus der Datei "kb.testObjekte1.xml"
- Die Angabe von "kb.testObjekte:2" importiert den Bereich mit der Pid "kb.testObjekte" aus der Datei "kb.testObjekte2.xml"
- usw.
Die Versionsangabe korreliert nicht notwendigerweise mit der resultierten Version der Konfigurationsdatei, es kann also auch z. B. erst "kb.testObjekte:2" importiert und aktiviert werden und danach "kb.testObjekte:1".
Für manche Testfälle können die Konfigurationsdateien nicht gleichzeitig importiert werden, sondern müssen nacheinander oder Blockweise importiert werden. Durch die Einfügung eines
null
-Elements können verschiedene Blöcke getrennt werden. Beispiel:activate("kb.test1", "kb.test2", null, "kb.test3");
importiert und aktiviert zuerst gemeinsam die Bereiche "test1" und "test2", startet dann die Konfiguration neu und importiert und aktiviert "test3.- Parameters:
configurationAreaPids
- die Pids der Konfigurationsbereiche, optional mit Version. Die String sollten (wenn sie eine Version enthalten) das Format "kb.bereich:2" oder ähnlich haben, also die Version mit einem Doppelpunkt getrennt enthalten. Null-Elemente sorgen für einen Neustart der Konfiguration nach Import und aktivierung der bisherigen Elemente.
-
activateAndReleaseForActivation
public void activateAndReleaseForActivation(java.lang.String... configurationAreaPids)
Diese Methode tut das selbe wieactivate(String...)
, mit dem Unterschied, dass die Bereiche nicht nur aktiviert, sondern auch für die Aktivierung durch andere freigegeben werden.- Parameters:
configurationAreaPids
- die Pids der Konfigurationsbereiche, optional mit Version. Die String sollten (wenn sie eine Version enthalten) das Format "kb.bereich:2" oder ähnlich haben, also die Version mit einem Doppelpunkt getrennt enthalten. Null-Elemente sorgen für einen Neustart der Konfiguration nach Import und aktivierung der bisherigen Elemente.
-
getRemoteConf
public java.lang.String getRemoteConf()
Gibt die im Konstruktor übergebene Remote-Konfiguration zurück, mit der sich der datenverteiler verbinden soll- Returns:
- Remote-Konfiguration
- See Also:
MultiDavTestEnvironment
-
getAccessControlType
public de.bsvrz.dav.daf.accessControl.AccessControlMode getAccessControlType()
Gibt die Art der Rechteprüfung zurück- Returns:
- die Art der Rechteprüfung
-
getAccessControlPlugIns
public java.lang.String[] getAccessControlPlugIns()
Gibt die verwendeten Rechteprüfungs-Plugins zurück- Returns:
- die verwendeten Rechteprüfungs-Plugins
-
getClassPath
@Nullable public java.lang.String[] getClassPath()
Gibt den zusätzlichen ClassPath zurück- Returns:
- den zusätzlichen ClassPath
- See Also:
withClassPath(String...)
-
getReleaseVersion
public ReleaseVersion getReleaseVersion()
Gibt das verwendete Release der Kernsoftware zurück- Returns:
- Kernsoftware-Release
-
copyResources
public java.nio.file.Path copyResources(java.lang.String resourceNamePrefix, java.lang.String destinationDirectoryName)
Kopiert Resourcedateien mit einem angegebenen Präfix in ein neues Verzeichnis. Die Resourcedateien müssen im Classpath auffindbar sein. Die Methode kann sowohl mit wirklichen Dateien, als auch mit Resourcen in JAR-Dateien umgehen. Dabei geht die Methode davon aus, dass alle Resource-Dateien in der gleichen JAR-Datei enthalten sind.- Parameters:
resourceNamePrefix
- Prefix der zu kopierenden Resourcen. Resourcenamen entsprechen Packagenamen, bei denen die Punkte durch Slashes (/) ersetzt wurden. Beispielsweise: 'de/kappich/pat/testumg/util'.destinationDirectoryName
- Name des zu erzeugenden Verzeichnis, das innerhalb eines temporären Verzeichnisses (siehe @{link #getTemporaryDirectory}) angelegt wird.- Returns:
- Erzeugtes Verzeichnis mit den kopierten Resource-Dateien
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
getPassivePort
public int getPassivePort()
Gibt den Port zurück, dem dem der Datenverteiler auf den aktiven Applikations-Verbindungsaufbau eines anderen Datenverteilers wartet. Fall 0, wird die datenverteilerinterne Applikations-Verbindung zum anderen Datenverteiler aktiv aufgebaut.- Returns:
- Port-Nummer oder 0
-
getActivePorts
public int[] getActivePorts()
Gibt die Ports zurück, zu denen der Datenverteiler aktiv Applikationsverbindungen aufbaut- Returns:
- Ports
-
setActivePorts
public void setActivePorts(int... activePorts)
Setzt die aktiven Ports- Parameters:
activePorts
- Ports, zu denen der Datenverteiler aktiv Applikationsverbindungen aufbaut
-
-