package org.argeo.slc.core.test;\r
\r
+import java.util.UUID;\r
+\r
import org.argeo.slc.core.deploy.DeployedSystem;\r
+import org.argeo.slc.core.process.SlcExecution;\r
+import org.argeo.slc.core.process.SlcExecutionStep;\r
\r
/**\r
* A basic bean implementation of a <code>WritableTestRun</code>, holding\r
* references to the various parts of a test run.\r
*/\r
public class SimpleTestRun implements WritableTestRun, ExecutableTestRun {\r
+ private String uuid;\r
+\r
+ private String slcExecutionUuid;\r
+ private String slcExecutionStepUuid;\r
+\r
private DeployedSystem deployedSystem;\r
private TestData testData;\r
private TestDefinition testDefinition;\r
\r
/** Executes the underlying test definition. */\r
public void execute() {\r
+ uuid = UUID.randomUUID().toString();\r
+ if (testResult != null)\r
+ testResult.notifyTestRun(this);\r
testDefinition.execute(this);\r
}\r
\r
- public DeployedSystem getDeployedSystem() {\r
- return deployedSystem;\r
+ public <T extends DeployedSystem> T getDeployedSystem() {\r
+ return (T) deployedSystem;\r
}\r
\r
public void setDeployedSystem(DeployedSystem deployedSystem) {\r
this.deployedSystem = deployedSystem;\r
}\r
\r
- public TestData getTestData() {\r
- return testData;\r
+ public <T extends TestData> T getTestData() {\r
+ return (T) testData;\r
}\r
\r
public void setTestData(TestData testData) {\r
this.testData = testData;\r
}\r
\r
- public TestDefinition getTestDefinition() {\r
- return testDefinition;\r
+ public <T extends TestDefinition> T getTestDefinition() {\r
+ return (T) testDefinition;\r
}\r
\r
public void setTestDefinition(TestDefinition testDefinition) {\r
this.testDefinition = testDefinition;\r
}\r
\r
- public TestResult getTestResult() {\r
- return testResult;\r
+ public <T extends TestResult> T getTestResult() {\r
+ return (T) testResult;\r
}\r
\r
public void setTestResult(TestResult testResult) {\r
this.testResult = testResult;\r
}\r
\r
+ public String getUuid() {\r
+ return uuid;\r
+ }\r
+\r
+ public void setUuid(String uuid) {\r
+ this.uuid = uuid;\r
+ }\r
+\r
+ public String getSlcExecutionUuid() {\r
+ return slcExecutionUuid;\r
+ }\r
+\r
+ public void setSlcExecutionUuid(String slcExecutionUuid) {\r
+ this.slcExecutionUuid = slcExecutionUuid;\r
+ }\r
+\r
+ public String getSlcExecutionStepUuid() {\r
+ return slcExecutionStepUuid;\r
+ }\r
+\r
+ public void setSlcExecutionStepUuid(String slcExecutionStepUuid) {\r
+ this.slcExecutionStepUuid = slcExecutionStepUuid;\r
+ }\r
+\r
+ public void notifySlcExecution(SlcExecution slcExecution) {\r
+ if (slcExecution != null) {\r
+ slcExecutionUuid = slcExecution.getUuid();\r
+ SlcExecutionStep step = slcExecution.currentStep();\r
+ if (step != null) {\r
+ slcExecutionStepUuid = step.getUuid();\r
+ }\r
+ }\r
+ }\r
+\r
}\r