@ChorusResource("subsystem.configurationManager") private ConfigurationManager configurationManager; @ChorusResource("scenario.token") private ScenarioToken scenarioToken; @ChorusResource("subsystem.sqlManager") private SqlManager sqlManager;
private void setChorusResource(Object handler, Iterable<Object> handlerInstances, Field field, Set<Scope> scopes) { ChorusResource a = field.getAnnotation(ChorusResource.class); if (a != null) { String resourceName = a.value(); log.debug("Found ChorusResource annotation " + resourceName + " on field " + field); field.setAccessible(true); Object o = null; if ( scopes.contains(Scope.FEATURE)) { o = getFeatureResource(resourceName, handlerInstances); } if ( o == null && scopes.contains(Scope.SCENARIO)) { o = getScenarioResource(resourceName); } if (o != null) { try { field.set(handler, o); } catch (IllegalAccessException e) { log.error("Failed to set @ChorusResource (" + resourceName + ") with object of type: " + o.getClass(), e); } } else { log.trace("Set field to value " + o); } } }
@ChorusResource("feature.dir") private File featureDir; @ChorusResource("feature.file") private File featureFile; @ChorusResource("feature.token") private FeatureToken featureToken; @ChorusResource("scenario.token") private ScenarioToken scenarioToken; @ChorusResource("subsystem.webSocketsManager") private WebSocketsManager webSocketsManager; @ChorusResource("subsystem.configurationManager") private ConfigurationManager configurationManager;
@ChorusResource("feature.dir") private File featureDir; @ChorusResource("feature.file") private File featureFile; @ChorusResource("feature.token") private FeatureToken featureToken; @ChorusResource("scenario.token") private ScenarioToken scenarioToken; @ChorusResource("subsystem.processManager") private ProcessManager processManager; @ChorusResource("subsystem.remotingManager") @ChorusResource("subsystem.configurationManager") private ConfigurationManager configurationManager;
@ChorusResource("feature.dir") private File featureDir; @ChorusResource("feature.file") private File featureFile; @ChorusResource("feature.token") private FeatureToken featureToken; @ChorusResource("scenario.token") private ScenarioToken scenarioToken; @ChorusResource("subsystem.webSocketsManager") private WebSocketsManager webSocketsManager; @ChorusResource("subsystem.configurationManager") private ConfigurationManager configurationManager;
@ChorusResource("feature.dir") private File featureDir; @ChorusResource("feature.file") private File featureFile; @ChorusResource("feature.token") private FeatureToken featureToken; @ChorusResource("scenario.token") private ScenarioToken scenarioToken; @ChorusResource("subsystem.processManager") private ProcessManager processManager; @ChorusResource("subsystem.remotingManager") private RemotingManager remotingManager; @ChorusResource("subsystem.configurationManager") private ConfigurationManager configurationManager;
@ChorusResource("feature.token") FeatureToken featureToken; @ChorusResource("feature.dir") File featureDir; @ChorusResource("feature.file") File featureFile; @ChorusResource("scenario.token") ScenarioToken scenarioToken; @ChorusResource("handler.Timers") TimersHandler timersHandler;
@ChorusResource("feature.token") FeatureToken featureToken; @ChorusResource("feature.dir") File featureDir; @ChorusResource("feature.file") File featureFile; @ChorusResource("scenario.token") ScenarioToken scenarioToken; @ChorusResource("handler.Timers") TimersHandler timersHandler;
public class ChorusResourceHandlerFeatureScoped extends AbstractFeatureHandler { @ChorusResource("feature.token") FeatureToken featureToken; @ChorusResource("feature.dir") File featureDir; @ChorusResource("feature.file") File featureFile; @ChorusResource("scenario.token") ScenarioToken scenarioToken; @ChorusResource("handler.Timers") TimersHandler timersHandler;
public class ChorusResourceHandlerScenarioScoped extends AbstractScenarioHandler { @ChorusResource("feature.token") FeatureToken featureToken; @ChorusResource("feature.dir") File featureDir; @ChorusResource("feature.file") File featureFile; @ChorusResource("scenario.token") ScenarioToken scenarioToken; @ChorusResource("handler.Timers") TimersHandler timersHandler;
@Handler(value = "Chrome Driver Connection") public class ChromeDriverConnectionHandler { @ChorusResource("feature.dir") File featureDir; @Step(".* set the chorus context variable pathToTestHtmlFile") public void setAFilePath() { ChorusContext.getContext().put("pathToTestHtmlFile", "file://" + new File(featureDir, "testHtml.html").getAbsolutePath()); } }
/** * Created by IntelliJ IDEA. * User: Nick Ebbutt * Date: 14/06/12 * Time: 09:21 */ @Handler("Remoting With Local Process") public class RemotingWithLocalProcessHandler extends ChorusAssert{ @ChorusResource("subsystem.processManager") ProcessManager processManager; @Step("I can get the (debug port|jmx port) for (.*) from processes manager") public String checkDebugPort(String property, String processName) { Properties processConfig = processManager.getProcessProperties(processName); return "debug port".equals(property) ? processConfig.getProperty("debugPort") : processConfig.getProperty("remotingPort"); } }
/** * Created by IntelliJ IDEA. * User: Nick Ebbutt * Date: 14/06/12 * Time: 09:21 */ @Handler(value = "Load Config From Database", scope = Scope.FEATURE) public class LoadConfigFromDatabaseHandler { @ChorusResource("feature.dir") File featureDir; @Step("I create a javadb database and insert processes config") public void featureStart() throws Exception { } @Step("I insert a configuration for the myProcess process") public void insertConfig() throws Exception { } }
/** * User: nick * Date: 15/08/13 * Time: 09:11 * */ @Handler("Capture With Log") public class CaptureWithLogModeHandler { @ChorusResource("feature.dir") private File featureDir; @Step("the std out log contains the string (.*)") public void logContains(String s) throws IOException { File file = new File(featureDir, "logs/capturewithlog-capturewithlog-out.log"); SelftestUtils.checkFileContainsLine(s, file.getPath()); } @Step("the std err log contains the string (.*)") public void errLogContains(String s) throws IOException { File file = new File(featureDir, "logs/capturewithlog-capturewithlog-err.log"); SelftestUtils.checkFileContainsLine(s, file.getPath()); } }
/** * Created by IntelliJ IDEA. * User: Nick Ebbutt * Date: 14/06/12 * Time: 09:21 */ @Handler("Process With Log4j") public class ProcessWithLog4jHandler extends ChorusAssert { @ChorusResource("feature.dir") File featureDir; @Step("log4j has written to the (.*) file") public void checkLogFile(String name) { File f = new File(featureDir.getAbsolutePath() + File.separatorChar + "logs" + File.separatorChar + name ); ChorusAssert.assertTrue("Log file does not exist", f.exists()); } @Step("I can delete the log file (.*)") public void deleteLogFile(String name) { File f = new File(featureDir.getAbsolutePath() + File.separatorChar + "logs" + File.separatorChar + name ); ChorusAssert.assertTrue("Log file does not exist", f.exists()); assertTrue("Could not delete log", f.delete()); } }
public class PropertiesInFeatureDirHandler extends ChorusAssert { @ChorusResource("feature.dir") private File featureDir;
public class Log4jConfigInFeatureDirHandler extends ChorusAssert { @ChorusResource("feature.dir") File featureDir;
public class SessionPropertiesHandler { @ChorusResource("subsystem.configurationManager") ConfigurationManager configManager;
@ChorusResource("subsystem.configurationManager") ConfigurationManager configurationManager;
public class ProfilePropertiesHandler { @ChorusResource("subsystem.configurationManager") ConfigurationManager configManager;