Package de.xima.fc.e2e.environment.impl
Class FormcycleProvisioner
- java.lang.Object
-
- de.xima.fc.e2e.environment.impl.FormcycleProvisioner
-
- All Implemented Interfaces:
IFormcycleProvisioner,AutoCloseable
public final class FormcycleProvisioner extends Object implements IFormcycleProvisioner
Provisions the FORMCYVLE app to meet the necessary preconditions before a test case can be executed.- Author:
- XIMA MEDIA GmbH
-
-
Constructor Summary
Constructors Constructor Description FormcycleProvisioner(de.xima.e2e.test_harness_selenium.environment.api.IE2EEnvironment<IFormcycleEnvironmentLifecycleState> environment)Creates a new provisioner for a formcycle app environment.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()IFormcycleAppStatecombine(Iterable<IFormcycleProvisionAction> actions)Runs multiple setup actions and returns the combined result.IFormcycleAppStatecreateNewDefaultClient(IExternalClientServices services)Creates a new default tenant with default settings, similar to how a new tenant would be created in the UI.IFormcycleAppStatecreateSystem()Ensures the formcycle system is up and running, but does not create any tenants.IFormcycleAppStateimportClient(URI pathToExportDir, IExternalClientServices services)Reads a tenant export file and creates a new tenant with the data from that export file.IFormcycleAppStateimportProject(URI pathToExportDir, Long tenantId, IExternalClientServices services)Reads a project export file, creates a new tenant and import the project contained in the export file.IFormcycleAppStateinstallClientPlugin(URI pathToPluginDir, Long tenantId, Properties properties)Installs a plugin in the running formcycle application.IFormcycleUriManagernewUriManager(FormcycleSetupResult setupResult)Creates a URI manager for formcycle URLs with the results of a certain setup result.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.xima.fc.e2e.environment.api.IFormcycleProvisioner
combine, createNewDefaultClient, importClient, importProject, installClientPlugin
-
-
-
-
Constructor Detail
-
FormcycleProvisioner
public FormcycleProvisioner(de.xima.e2e.test_harness_selenium.environment.api.IE2EEnvironment<IFormcycleEnvironmentLifecycleState> environment)
Creates a new provisioner for a formcycle app environment.- Parameters:
environment- E2E environment for the formcycle app.
-
-
Method Detail
-
close
public void close() throws InterruptedException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceIFormcycleProvisioner- Throws:
InterruptedException
-
combine
public IFormcycleAppState combine(Iterable<IFormcycleProvisionAction> actions) throws de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException
Description copied from interface:IFormcycleProvisionerRuns multiple setup actions and returns the combined result.- Specified by:
combinein interfaceIFormcycleProvisioner- Parameters:
actions- Actions to run.- Returns:
- Context with data about the state of the formcycle app after the setup.
- Throws:
de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException- When any of the actions failed.
-
createNewDefaultClient
public IFormcycleAppState createNewDefaultClient(IExternalClientServices services) throws de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException
Description copied from interface:IFormcycleProvisionerCreates a new default tenant with default settings, similar to how a new tenant would be created in the UI.- Specified by:
createNewDefaultClientin interfaceIFormcycleProvisioner- Parameters:
services- External services to use for the new tenant.- Returns:
- Context with data about the created tenant.
- Throws:
de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException- When the tenant could not be created.
-
createSystem
public IFormcycleAppState createSystem() throws de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException
Description copied from interface:IFormcycleProvisionerEnsures the formcycle system is up and running, but does not create any tenants.- Specified by:
createSystemin interfaceIFormcycleProvisioner- Returns:
- Context with data about the performed setup.
- Throws:
de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException- When the system could not be prepared.
-
importClient
public IFormcycleAppState importClient(URI pathToExportDir, IExternalClientServices services) throws de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException
Description copied from interface:IFormcycleProvisionerReads a tenant export file and creates a new tenant with the data from that export file.- Specified by:
importClientin interfaceIFormcycleProvisioner- Parameters:
pathToExportDir- Path to the directory containing the tenant export.services- External services to use for the new tenant.- Returns:
- Context with data about the imported data.
- Throws:
de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException- When the tenant could not be imported.
-
importProject
public IFormcycleAppState importProject(URI pathToExportDir, Long tenantId, IExternalClientServices services) throws de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException
Description copied from interface:IFormcycleProvisionerReads a project export file, creates a new tenant and import the project contained in the export file.- Specified by:
importProjectin interfaceIFormcycleProvisioner- Parameters:
pathToExportDir- Either a URI pointing to the project export file itself, or a path to the directory containing the project export file namedproject-export.zip.tenantId- ID of the tenant where to create the project. Whennull, a new tenant is created.services- External services to use for the new tenant.- Returns:
- Context with data about the imported data.
- Throws:
de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException- When the project could not be imported.
-
installClientPlugin
public IFormcycleAppState installClientPlugin(URI pathToPluginDir, Long tenantId, Properties properties) throws de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException
Description copied from interface:IFormcycleProvisionerInstalls a plugin in the running formcycle application.- Specified by:
installClientPluginin interfaceIFormcycleProvisioner- Parameters:
pathToPluginDir- Either a URI pointing to the JAR file itself, or a URI pointing to the directory with theplugin.jsondescriptor.tenantId- ID of the tenant scope where the plugin should be installed. Whennull, a new tenant is created.properties- Optional properties for the plugin.- Returns:
- Context with data about the imported plugin.
- Throws:
de.xima.e2e.test_harness_selenium.common.exception.TestCaseSetupFailedException- When the plugin could not be installed.
-
newUriManager
public IFormcycleUriManager newUriManager(FormcycleSetupResult setupResult)
Description copied from interface:IFormcycleProvisionerCreates a URI manager for formcycle URLs with the results of a certain setup result.- Specified by:
newUriManagerin interfaceIFormcycleProvisioner- Parameters:
setupResult- Setup result obtained by a provisioner.- Returns:
- A URI manager for the given setup result.
-
-