public EndState getEndState() { return executionToken.getEndState(); }
public long getExecutionStartTime() { return executionToken.getExecutionStartTime(); }
public ResultsSummary getResultsSummary() { return executionToken.getResultsSummary(); }
@Override public ExecutionTokenBean marshal(ExecutionToken arg0) throws Exception { ExecutionTokenBean ret = new ExecutionTokenBean(); ret.setExecutionStartTimestamp(arg0.getExecutionStartTime()); ret.setExecutionStartTime(FormattingUtils.getStartTimeFormatter().format(new Date(arg0.getExecutionStartTime()))); ret.setResultsSummary(arg0.getResultsSummary()); ret.setTestSuiteName(arg0.getTestSuiteName()); ret.setExecutionHost(arg0.getExecutionHost()); return ret; }
public ExecutionToken deepCopy() { ExecutionToken t = new ExecutionToken( testSuiteName, executionStartTime, executionHost ); super.deepCopy(t); t.resultsSummary = resultsSummary.deepCopy(); return t; }
public ExecutionToken unmarshal(ExecutionTokenBean t) throws Exception { ExecutionToken e = new ExecutionToken( t.getTestSuiteName(), t.getExecutionStartTimestamp() ); e.setResultsSummary(t.getResultsSummary()); e.setExecutionHost(t.getExecutionHost()); return e; }
log.warn("The following handlers were not available, failing feature " + feature.getName() + " " + unavailableHandlersMessage); feature.setUnavailableHandlersMessage(unavailableHandlersMessage.toString()); executionToken.incrementUnavailableHandlers(); } else { log.debug("The following handlers will be used " + orderedHandlerClasses); HandlerManager handlerManager = new HandlerManager(feature, orderedHandlerClasses, springContextSupport, subsystemManager, executionToken.getProfile()); if ( ! skipAllScenarios) { handlerManager.createFeatureScopedHandlers(); executionToken.incrementFeaturesPassed(); } else if ( feature.getEndState() == EndState.PENDING ) { executionToken.incrementFeaturesPending(); } else { executionToken.incrementFeaturesFailed();
ExecutionToken createExecutionToken() { ExecutionToken executionToken = new ExecutionToken(getSuiteName()); executionToken.setProfile(configReader.getValue(ChorusConfigProperty.PROFILE)); return executionToken; }
public int getTotalFeatures() { return executionToken.getTotalFeatures(); }
public void runFeatures(ExecutionToken executionToken, List<FeatureToken> features) { //RUN EACH FEATURE for (FeatureToken feature : features) { try { runFeature( executionToken, feature ); } catch (Throwable t) { log.error("Exception while running feature " + feature, t); executionToken.incrementFeaturesFailed(); } } }
public void testsStarted(ExecutionToken testExecutionToken, List<FeatureToken> features) { currentProfile = testExecutionToken.getProfile(); loadSessionProperties(); }
public String getTestSuiteName() { return executionToken.getTestSuiteName(); }
public String getExecutionHost() { return executionToken.getExecutionHost(); }
@Test //just testing that the tokens are all serializable public void testTokenSerialization() throws Exception { File f = getFileResourceWithName(TEST_FEATURE_FILE); FeatureFileParser p = new FeatureFileParser(); List<FeatureToken> features = p.parse(new FileReaderSupplier(f)); ExecutionToken t = new ExecutionToken("Larry"); ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(features); oos.writeObject(t); oos.flush(); oos.close(); byte[] serialized = out.toByteArray(); ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(serialized)); List<FeatureToken> deserialized = (List<FeatureToken>)ois.readObject(); //are not equal currently since equals() hashcode() not defined for all //probably should be defined but only taking into account final fields / id --> //a step or scenario with updated runtime state is the same logical step or scenario //assertEquals(deserialized, features); t = (ExecutionToken)ois.readObject(); ois.close(); }
private TestSuite runInterpreter() throws Exception { String baseDir = findProjectBaseDir(); String featureDirPath = FileUtils.getFilePath(baseDir, "chorus-mocksuite", "src", "main", "java", "org", "chorusbdd", "chorus", "tools", "mocksuite", "mocksuiteone"); Chorus chorus = new Chorus(new String[] {"-f", featureDirPath, "-h", "org.chorusbdd.chorus.tools.mocksuite.mocksuiteone","-l", "info", "-x", "org.chorusbdd.chorus.tools.xml.writer.MockExecutionListener"}); chorus.run(); assertTrue("Chorus interpreter found some features", MockExecutionListener.testExecutionToken.getTotalFeatures() > 0); return new TestSuite(MockExecutionListener.testExecutionToken, MockExecutionListener.featureTokens); }
private List<FeatureToken> parseFeatures(final File featureFile, ExecutionToken executionToken, List<StepMacro> globalStepMacro) { List<FeatureToken> features = null; ChorusParser<FeatureToken> parser = new FeatureFileParser(globalStepMacro); try { log.debug(String.format("Loading feature from file: %s", featureFile)); features = parser.parse(new FileReaderSupplier(featureFile)); for (FeatureToken f : features) { f.setFeatureFile(featureFile); } if (features.isEmpty()) { log.warn("Did not find a feature definition in file " + featureFile + ", will be skipped"); } //we can end up with more than one feature per file if using Chorus 'configurations' } catch (Throwable t) { log.warn("Failed to parse feature file " + featureFile + " will skip this feature file"); if ( t.getMessage() != null ) { log.warn(t.getMessage()); } //failure to parse is considered a failed feature executionToken.incrementFeaturesFailed(); } return features; }
@Before public void doBefore() { scenarioToken = new ScenarioToken(); scenarioToken.setName("Test Scenario"); stepOne = scenarioToken.addStep(StepToken.createStep("If", "I create a step")); stepTwo = scenarioToken.addStep(StepToken.createStep("If", "I create a second step")); stepThree = StepToken.createStep("If", "I create a step macro child step"); stepTwo.addChildStep(stepThree); scenarioTwo = new ScenarioToken(); stepFour = scenarioTwo.addStep(StepToken.createStep("If", "I add a step to scenario 2")); featureToken = new FeatureToken(); featureToken.addScenario(scenarioToken); featureToken.addScenario(scenarioTwo); featureTwo = new FeatureToken(); executionToken = new ExecutionToken("My test suite name"); testSuite = new TestSuite(executionToken, Arrays.asList(featureToken, featureTwo)); }
public String getEndStateString() { switch (getExecutionToken().getEndState()) { case PASSED: return "Passed"; case PENDING: return "Pending"; case FAILED: return "Failed"; default: throw new UnsupportedOperationException("Unknown end state " + getExecutionToken().getEndState()); } } public String getSuiteNameWithTime() {
@Override public void testsCompleted(ExecutionToken testExecutionToken, List<FeatureToken> features, Set<CataloguedStep> cataloguedSteps) { if (showSummary) { printResults(testExecutionToken.getResultsSummary(), features, cataloguedSteps); } }
public WebAgentTestSuite(TestSuite testSuite) { this.testSuite = testSuite; this.suiteTime = FormattingUtils.getStartTimeFormatter().format( testSuite.getExecutionToken().getExecutionStartTime() ); }