From: Mathieu Baudier Date: Sun, 29 Jun 2008 07:13:02 +0000 (+0000) Subject: Introduce test result attributes instead of root tags X-Git-Tag: argeo-slc-2.1.7~2722 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=1a4b784250a43f6c7421ab5d8567c3bfbf51e990;p=gpl%2Fargeo-slc.git Introduce test result attributes instead of root tags git-svn-id: https://svn.argeo.org/slc/trunk@1320 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java index c1d783a77..748d14c0b 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java @@ -2,6 +2,8 @@ package org.argeo.slc.core.test; import java.util.Date; import java.util.List; +import java.util.Map; +import java.util.TreeMap; import java.util.UUID; import java.util.Vector; @@ -23,6 +25,8 @@ public class SimpleTestResult implements TestResult { private Date closeDate; private List parts = new Vector(); + + private Map attributes = new TreeMap(); public void addResultPart(TestResultPart part) { if (throwError && part.getStatus() == ERROR) { @@ -71,4 +75,8 @@ public class SimpleTestResult implements TestResult { return currentTestRunUuid; } + public Map getAttributes() { + return attributes; + } + } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java index 5aa1c6193..5de69700c 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestResult.java @@ -1,6 +1,7 @@ package org.argeo.slc.core.test; import java.util.Date; +import java.util.Map; /** The result of a test */ public interface TestResult extends TestStatus, TestRunAware { @@ -20,4 +21,7 @@ public interface TestResult extends TestStatus, TestRunAware { * result is not closed. */ public Date getCloseDate(); + + /** Additional arbitrary meta data */ + public Map getAttributes(); } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java index ecd6cad52..5d680ff8e 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java @@ -34,8 +34,6 @@ public class TreeTestResult implements TestResult, StructureAware, private TreeSPath currentPath; private TestRun currentTestRun; - private Map rootTags = new TreeMap(); - private Date closeDate; private boolean isClosed = false; @@ -45,6 +43,8 @@ public class TreeTestResult implements TestResult, StructureAware, private SortedMap resultParts = new TreeMap(); private SortedMap elements = new TreeMap(); + private Map attributes = new TreeMap(); + /** Sets the list of listeners. */ public void setListeners(List> listeners) { this.listeners = listeners; @@ -79,15 +79,6 @@ public class TreeTestResult implements TestResult, StructureAware, if (!elements.containsKey(p)) { StructureElement elem = registry.getElement(p); if (elem != null) { - - if (elements.size() == 0 - && (elem instanceof SimpleSElement)) { - SimpleSElement sElem = ((SimpleSElement) elem) - .clone(); - sElem.getTags().putAll(rootTags); - elem = sElem; - } - elements.put(p, elem); } } else { @@ -199,12 +190,11 @@ public class TreeTestResult implements TestResult, StructureAware, } } - public Map getRootTags() { - return rootTags; + public Map getAttributes() { + return attributes; } - public void setRootTags(Map rootTags) { - this.rootTags = rootTags; + public void setAttributes(Map attributes) { + this.attributes = attributes; } - } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/process/SlcExecutionTestUtils.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/process/SlcExecutionTestUtils.java index 1724f48dc..67402d042 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/process/SlcExecutionTestUtils.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/process/SlcExecutionTestUtils.java @@ -29,6 +29,8 @@ public abstract class SlcExecutionTestUtils { assertEquals(expected.getUser(), reached.getUser()); assertEquals(expected.getType(), reached.getType()); assertEquals(expected.getStatus(), reached.getStatus()); + + // Attributes assertEquals(expected.getAttributes().size(), reached.getAttributes() .size()); for (String key : expected.getAttributes().keySet()) { diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/TreeTestResultTestUtils.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/TreeTestResultTestUtils.java index 92e66bb02..fedaa266a 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/TreeTestResultTestUtils.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/TreeTestResultTestUtils.java @@ -55,6 +55,9 @@ public abstract class TreeTestResultTestUtils { registry.register(path, elem); TreeTestResult ttr = createSimpleTreeTestResult(); + ttr.getAttributes().put("testCase", "UNIT"); + + // Simulate test run ttr.notifyCurrentPath(registry, path); ttr.notifyTestRun(testRun); testRun.setTestResult(ttr); diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java index c34917b79..6d40120aa 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java @@ -25,6 +25,17 @@ public class UnitTestTreeUtil { assertEquals(expected.getUuid(), reached.getUuid()); assertDateSec(expected.getCloseDate(), reached.getCloseDate()); + // Attributes + assertEquals(expected.getAttributes().size(), reached.getAttributes() + .size()); + for (String key : expected.getAttributes().keySet()) { + String expectedValue = expected.getAttributes().get(key); + String reachedValue = reached.getAttributes().get(key); + assertNotNull(reachedValue); + assertEquals(expectedValue, reachedValue); + } + + // Result parts assertEquals(expected.getResultParts().size(), reached.getResultParts() .size()); for (TreeSPath path : expected.getResultParts().keySet()) { @@ -37,6 +48,7 @@ public class UnitTestTreeUtil { assertPartSubList(lstExpected, lstReached); } + // Elements assertEquals(expected.getElements().size(), reached.getElements() .size()); for (TreeSPath path : expected.getElements().keySet()) { diff --git a/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/mapping.xml b/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/mapping.xml index adfea8a9d..3d407e224 100644 --- a/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/mapping.xml +++ b/org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/mapping.xml @@ -22,6 +22,20 @@ + + + + + + + + + + + + + diff --git a/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd b/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd index b457f18f0..ba98a785a 100644 --- a/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd +++ b/org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd @@ -8,6 +8,8 @@ +