private String calculateName(FeatureToken featureToken, ScenarioToken scenarioToken, Set<String> scenarioNames) { String conf = featureToken.getConfigurationName().equals(FeatureToken.BASE_CONFIGURATION) ? "" : " [" + featureToken.getConfigurationName() + "]"; String name = scenarioToken.getName() + conf; int instance = 2; while ( ! scenarioNames.add(name)) { name = scenarioToken.getName() + " (" + instance++ + ")"; } return name; }
public boolean isFeatureStartScenarioFailed() { boolean result = false; if (!scenarios.isEmpty()) { ScenarioToken scenarioToken = scenarios.get(0); result = scenarioToken.getName().equals("Feature-Start") && scenarioToken.getEndState() == EndState.FAILED; } return result; }
public void printScenario(ScenarioToken scenario) { getPrintWriter().printf(" Scenario: %s%n", scenario.getName()); getPrintWriter().flush(); }
@Override public void scenarioCompleted(ExecutionToken testExecutionToken, ScenarioToken scenario) { if ( shouldPrompt(scenario)) { ChorusOut.out.println("Scenario " + scenario.getName() + " " + scenario.getEndState()); ChorusOut.out.println("Do you want to proceed? (y/n)"); Console console = System.console(); String l = console.readLine(); if ( ! "y".equalsIgnoreCase(l)) { log.error("Exiting early on user request"); System.exit(1); } } }
@Step("the scenario.token resource is set to (.*) in a feature scoped handler") public void checkScenarioToken(String name) { ChorusAssert.assertEquals(name, scenarioToken.getName()); }
@Step("the abstract superclass scenario.token resource is set to (.*) in a scenario scoped handler") public void abstractCheckScenarioToken(String name) { ChorusAssert.assertEquals(name, scenarioToken.getName()); }
@Step("the abstract superclass scenario.token resource is set to (.*) in a feature scoped handler") public void abstractCheckScenarioToken(String name) { ChorusAssert.assertEquals(name, scenarioToken.getName()); }
@Step("the scenario.token resource is set to (.*) in a scenario scoped handler") public void checkScenarioToken(String name) { ChorusAssert.assertEquals(name, scenarioToken.getName()); }
@Override public ScenarioTokenBean marshal(ScenarioToken s) throws Exception { ScenarioTokenBean result = new ScenarioTokenBean(); result.setTokenId(s.getTokenId()); result.setName(s.getName()); result.setSteps(s.getSteps()); List<String> tags = s.getTags(); result.setTags(tags.size() == 0 ? null : FormattingUtils.getAsCsv(s.getTags())); result.setEndState(s.getEndState()); return result; }
private void runScenario(ExecutionToken executionToken, HandlerManager handlerManager, ScenarioToken scenario, boolean skipScenario) throws Exception { executionListenerSupport.notifyScenarioStarted(executionToken, scenario); log.info(String.format("Processing scenario: %s", scenario.getName())); //reset the ChorusContext for the scenario ChorusContext.destroy(); handlerManager.setCurrentScenario(scenario); List<Object> handlerInstances = Collections.emptyList(); if ( ! skipScenario) { handlerInstances = handlerManager.getOrCreateHandlersForScenario(); } handlerManager.processStartOfScope(Scope.SCENARIO, handlerInstances); StepInvokerProvider p = getStepInvokers(handlerInstances); createTimeoutTasks(Thread.currentThread()); //will interrupt or eventually kill thread / interpreter if blocked log.debug((skipScenario ? "Skipping" : "Running") + " scenario steps for Scenario " + scenario); stepProcessor.runSteps(executionToken, p, scenario.getSteps(), stepCatalogue, skipScenario); stopTimeoutTasks(); //the special start or end scenarios don't count in the execution stats if ( ! scenario.isStartOrEndScenario() ) { updateExecutionStats(executionToken, scenario); } handlerManager.processEndOfScope(Scope.SCENARIO, handlerInstances); executionListenerSupport.notifyScenarioCompleted(executionToken, scenario); }
String scenarioName = String.format("%s [%s]", outlineScenario.getName(), examplesCounter); if (values.size() != examplesTableHeaders.size()) { log.warn(