diff --git a/api/src/main/java/com/technophobia/substeps/execution/ExecutionNodeResult.java b/api/src/main/java/com/technophobia/substeps/execution/ExecutionNodeResult.java index f6e05db0..a2d07acd 100644 --- a/api/src/main/java/com/technophobia/substeps/execution/ExecutionNodeResult.java +++ b/api/src/main/java/com/technophobia/substeps/execution/ExecutionNodeResult.java @@ -98,7 +98,7 @@ public long getExecutionNodeId() { public Long getRunningDuration() { - return startedAt != null && completedAt != null ? completedAt - startedAt : null; + return startedAt != null && completedAt != null ? completedAt - startedAt : -1L; } private void recordComplete() { diff --git a/api/src/main/java/com/technophobia/substeps/model/Configuration.java b/api/src/main/java/com/technophobia/substeps/model/Configuration.java index 89b968f7..ae8b3f71 100644 --- a/api/src/main/java/com/technophobia/substeps/model/Configuration.java +++ b/api/src/main/java/com/technophobia/substeps/model/Configuration.java @@ -21,6 +21,7 @@ import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; +import com.typesafe.config.ConfigRenderOptions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -66,7 +67,12 @@ public void addDefaultProperties(final URL url, final String name) { public String getConfigurationInfo() { - return config.root().render(); + + ConfigRenderOptions options = + ConfigRenderOptions.defaults().setComments(false).setFormatted(true).setJson(false).setOriginComments(false); + + return config.withoutPath("java") + .withoutPath("sun").withoutPath("awt").withoutPath("idea").withoutPath("line.separator").withoutPath("os").withoutPath("path.separator").root().render(options); } diff --git a/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala b/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala index 670ed62a..2db935ca 100644 --- a/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala +++ b/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala @@ -62,7 +62,7 @@ ExecutionResultsCollector extends IExecutionResultsCollector { node match { case scenarioNode : BasicScenarioNode => { - log.debug("basic scenario failed") + log.debug(s"basic scenario id ${scenarioNode.getId} failed") val feature = getFeatureFromNode(scenarioNode) @@ -136,7 +136,7 @@ ExecutionResultsCollector extends IExecutionResultsCollector { node match { case scenarioNode : BasicScenarioNode => { - log.debug("basic scenario finished") + log.debug(s"basic scenario id ${scenarioNode.getId} finished") val feature = getFeatureFromNode(scenarioNode) featureToResultsDirMap.get(feature.getId) match { @@ -239,9 +239,19 @@ ExecutionResultsCollector extends IExecutionResultsCollector { childNode match { case basicScenarioNode : BasicScenarioNode => { - val (sNode, resultsFile) = scenarioSummaryMap.get(basicScenarioNode.getId).get - List(ScenarioSummary(sNode.getId, resultsFile.getName, sNode.getResult.getResult.toString, basicScenarioNode.getTags.toList)) + scenarioSummaryMap.get(basicScenarioNode.getId) match { + case Some((sNode, resultsFile)) => { + + List(ScenarioSummary(sNode.getId, resultsFile.getName, sNode.getResult.getResult.toString, basicScenarioNode.getTags.toList)) + + } + case None => { + log.error("failed to find scenario summary for id: " + basicScenarioNode.getId) + List() + } + } + } case outline : OutlineScenarioNode => { diff --git a/core/src/main/scala/org/substeps/report/NodeDetail.scala b/core/src/main/scala/org/substeps/report/NodeDetail.scala index 65d6310c..a56e0646 100644 --- a/core/src/main/scala/org/substeps/report/NodeDetail.scala +++ b/core/src/main/scala/org/substeps/report/NodeDetail.scala @@ -9,6 +9,8 @@ import com.technophobia.substeps.execution.node.{BasicScenarioNode, StepImplemen import scala.collection.JavaConverters._ + + case class NodeDetail(nodeType: String, filename: String, lineNumber : Int, result : String, id : Long, executionDurationMillis : Option[Long], description : String, method : Option[String], children : List[NodeDetail] = List(),