package org.argeo.slc.unit.test.tree;\r
\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
import static junit.framework.Assert.assertEquals;\r
import static junit.framework.Assert.assertNotNull;\r
import static junit.framework.Assert.assertNull;\r
import static junit.framework.Assert.fail;\r
+import static org.argeo.slc.unit.UnitUtils.assertDateSec;\r
\r
+import org.argeo.slc.core.structure.SimpleSElement;\r
import org.argeo.slc.core.structure.tree.TreeSPath;\r
import org.argeo.slc.core.test.SimpleResultPart;\r
import org.argeo.slc.core.test.TestResultPart;\r
\r
/** Utilities for unit tests. */\r
public class UnitTestTreeUtil {\r
+ private final static Log log = LogFactory.getLog(UnitTestTreeUtil.class);\r
+\r
public static void assertTreeTestResult(TreeTestResult expected,\r
TreeTestResult reached) {\r
- assertEquals(expected.getTestResultId(), reached.getTestResultId());\r
- assertEquals(expected.getCloseDate(), reached.getCloseDate());\r
+ assertEquals(expected.getUuid(), reached.getUuid());\r
+ assertDateSec(expected.getCloseDate(), reached.getCloseDate());\r
\r
assertEquals(expected.getResultParts().size(), reached.getResultParts()\r
.size());\r
assertPartSubList(lstExpected, lstReached);\r
}\r
\r
- assertEquals(expected.getPathNames().size(), reached.getPathNames()\r
+ assertEquals(expected.getElements().size(), reached.getElements()\r
.size());\r
- for (TreeSPath path : expected.getPathNames().keySet()) {\r
- String nameExpected = expected.getPathNames().get(path);\r
- String nameReached = expected.getPathNames().get(path);\r
- assertNotNull(nameReached);\r
- assertEquals(nameExpected, nameReached);\r
+ for (TreeSPath path : expected.getElements().keySet()) {\r
+ // String nameExpected = expected.getElements().get(path);\r
+ // String nameReached = expected.getElements().get(path);\r
+ SimpleSElement elemExpected = (SimpleSElement) expected\r
+ .getElements().get(path);\r
+ SimpleSElement elemReached = (SimpleSElement) expected\r
+ .getElements().get(path);\r
+ assertNotNull(elemReached);\r
+ assertElements(elemExpected, elemReached);\r
}\r
\r
}\r
\r
- public static void assertPartSubList(PartSubList lstExpected,\r
- PartSubList lstReached) {\r
- if (lstExpected.getSlcExecutionUuid() == null) {\r
- assertNull(lstReached.getSlcExecutionUuid());\r
- } else {\r
- assertEquals(lstExpected.getSlcExecutionUuid(), lstReached\r
- .getSlcExecutionUuid());\r
- }\r
-\r
- if (lstExpected.getSlcExecutionStepUuid() == null) {\r
- assertNull(lstReached.getSlcExecutionStepUuid());\r
- } else {\r
- assertEquals(lstExpected.getSlcExecutionStepUuid(), lstReached\r
- .getSlcExecutionStepUuid());\r
+ public static void assertElements(SimpleSElement expected,\r
+ SimpleSElement reached) {\r
+ assertEquals(expected.getLabel(), reached.getLabel());\r
+ assertEquals(expected.getTags().size(), reached.getTags().size());\r
+ for (String tagName : expected.getTags().keySet()) {\r
+ String expectedTagValue = expected.getTags().get(tagName);\r
+ String reachedTagValue = reached.getTags().get(tagName);\r
+ assertNotNull(reachedTagValue);\r
+ assertEquals(expectedTagValue, reachedTagValue);\r
}\r
+ }\r
\r
+ public static void assertPartSubList(PartSubList lstExpected,\r
+ PartSubList lstReached) {\r
assertEquals(lstExpected.getParts().size(), lstReached.getParts()\r
.size());\r
for (int i = 0; i < lstExpected.getParts().size(); i++) {\r
}\r
}\r
\r
- /**\r
- * Assert one part of a tree test result.\r
- * \r
- * @deprecated use {@link #assertPart(TestResultPart, TestResultPart)}\r
- * instead\r
- */\r
+ /** Asserts one part of a tree test result */\r
public static void assertPart(TreeTestResult testResult, String pathStr,\r
int index, Integer status, String message) {\r
- TreeSPath path = TreeSPath.parseToCreatePath(pathStr);\r
+ TreeSPath path = new TreeSPath(pathStr);\r
PartSubList list = testResult.getResultParts().get(path);\r
if (list == null) {\r
fail("No result for path " + path);\r
fail("Not enough parts.");\r
}\r
SimpleResultPart part = (SimpleResultPart) list.getParts().get(index);\r
- assertPart(part, status, message, null);\r
+ assertPart(part, status, message, null, part.getTestRunUuid(), true);\r
}\r
\r
public static void assertPart(TestResultPart expected,\r
TestResultPart reached) {\r
+ String expectedTestRunUuid = null;\r
+ if (expected instanceof SimpleResultPart) {\r
+ expectedTestRunUuid = ((SimpleResultPart) expected)\r
+ .getTestRunUuid();\r
+ }\r
+\r
assertPart(reached, expected.getStatus(), expected.getMessage(),\r
- expected.getException());\r
+ expected.getExceptionMessage(), expectedTestRunUuid, false);\r
}\r
\r
/** Assert one part of a tree test result. */\r
private static void assertPart(TestResultPart part, Integer status,\r
- String message, Exception exception) {\r
+ String message, String exceptionDescription,\r
+ String expectedTestRunUuid, boolean skipExceptionMessage) {\r
assertEquals(status, part.getStatus());\r
+\r
+ if (log.isTraceEnabled()) {\r
+ log.trace("Expected message:" + message);\r
+ log.trace("Reached message:" + part.getMessage());\r
+ }\r
assertEquals(message, part.getMessage());\r
- if (exception == null) {\r
- assertNull(part.getException());\r
+ if (!skipExceptionMessage) {\r
+ if (exceptionDescription == null) {\r
+ assertNull(part.getExceptionMessage());\r
+ } else {\r
+ if (log.isTraceEnabled()) {\r
+ log.trace("Expected exception message:"\r
+ + exceptionDescription);\r
+ log.trace("Reached exception message:"\r
+ + part.getExceptionMessage());\r
+ }\r
+\r
+ assertEquals(exceptionDescription, part.getExceptionMessage());\r
+ }\r
+ }\r
+\r
+ if (expectedTestRunUuid != null) {\r
+ SimpleResultPart reachedPart = (SimpleResultPart) part;\r
+ assertNotNull(reachedPart.getTestRunUuid());\r
+ assertEquals(expectedTestRunUuid, reachedPart.getTestRunUuid());\r
} else {\r
- assertEquals(exception, part.getException());\r
+ if (part instanceof SimpleResultPart) {\r
+ assertNull(((SimpleResultPart) part).getTestRunUuid());\r
+ }\r
+\r
}\r
+\r
}\r
\r
/** Makes sure this is a singleton */\r