Introduce test descriptors
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 4 May 2008 17:19:04 +0000 (17:19 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 4 May 2008 17:19:04 +0000 (17:19 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1107 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java
org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestRunDescriptorDao.java [new file with mode: 0644]
org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/TestRunDescriptorDaoHibernate.java [new file with mode: 0644]
org.argeo.slc.core/src/main/java/org/argeo/slc/unit/UnitUtils.java
org.argeo.slc.core/src/main/resources/org/argeo/slc/hibernate/spring/applicationContext.xml
org.argeo.slc.core/src/main/resources/org/argeo/slc/hibernate/test/TestRunDescriptor.hbm.xml [new file with mode: 0644]
org.argeo.slc.core/src/main/resources/org/argeo/slc/hibernate/test/tree/PartSubList.hbm.xml
org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd

index 3e3d2bec5b968cbd30fdac879dfe8484d28bb0c9..d136e802c3b365f1ec8cd5ed830a712005a244b7 100644 (file)
@@ -17,10 +17,11 @@ public class TestRunDescriptor {
                testRunUuid = testRun.getUuid();\r
 \r
                if (testRun.getTestResult() != null)\r
-                       testResultUuid = testRun.<TestResult>getTestResult().getUuid();\r
+                       testResultUuid = testRun.<TestResult> getTestResult().getUuid();\r
 \r
                if (testRun.getDeployedSystem() != null)\r
-                       deployedSytemId = testRun.<DeployedSystem>getDeployedSystem().getDeployedSystemId();\r
+                       deployedSytemId = testRun.<DeployedSystem> getDeployedSystem()\r
+                                       .getDeployedSystemId();\r
 \r
                if (testRun instanceof SimpleTestRun) {\r
                        slcExecutionUuid = ((SimpleTestRun) testRun).getSlcExecutionUuid();\r
@@ -69,4 +70,12 @@ public class TestRunDescriptor {
                this.deployedSytemId = deploymentId;\r
        }\r
 \r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (obj instanceof TestRunDescriptor) {\r
+                       return getTestRunUuid().equals(\r
+                                       ((TestRunDescriptor) obj).getTestRunUuid());\r
+               }\r
+               return false;\r
+       }\r
 }\r
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestRunDescriptorDao.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/TestRunDescriptorDao.java
new file mode 100644 (file)
index 0000000..7397458
--- /dev/null
@@ -0,0 +1,8 @@
+package org.argeo.slc.dao.test;\r
+\r
+import org.argeo.slc.core.test.TestRunDescriptor;\r
+\r
+public interface TestRunDescriptorDao {\r
+       public TestRunDescriptor getTestRunDescriptor(String id);\r
+       public void saveOrUpdate(TestRunDescriptor testRunDescriptor);\r
+}\r
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/TestRunDescriptorDaoHibernate.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/TestRunDescriptorDaoHibernate.java
new file mode 100644 (file)
index 0000000..49162d5
--- /dev/null
@@ -0,0 +1,20 @@
+package org.argeo.slc.hibernate.test;\r
+\r
+import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
+\r
+import org.argeo.slc.core.test.TestRunDescriptor;\r
+import org.argeo.slc.dao.test.TestRunDescriptorDao;\r
+\r
+public class TestRunDescriptorDaoHibernate extends HibernateDaoSupport\r
+               implements TestRunDescriptorDao {\r
+\r
+       public TestRunDescriptor getTestRunDescriptor(String id) {\r
+               return (TestRunDescriptor) getHibernateTemplate().get(\r
+                               TestRunDescriptor.class, id);\r
+       }\r
+\r
+       public void saveOrUpdate(TestRunDescriptor testRunDescriptor) {\r
+               getHibernateTemplate().saveOrUpdate(testRunDescriptor);\r
+       }\r
+\r
+}\r
index a150a90898802825dcbace4a8fc2d4100b808461..e88deed0119bfcf882770ee5c3a1a0764118b323 100644 (file)
@@ -5,9 +5,18 @@ import java.util.Date;
 import java.util.GregorianCalendar;\r
 \r
 import static junit.framework.Assert.assertEquals;\r
+import static junit.framework.Assert.assertNull;\r
+import static junit.framework.Assert.assertNotNull;\r
 \r
 public abstract class UnitUtils {\r
        public static void assertDateSec(Date expected, Date reached) {\r
+               if (expected == null) {\r
+                       assertNull(reached);\r
+                       return;\r
+               } else {\r
+                       assertNotNull(reached);\r
+               }\r
+\r
                Calendar expectedCal = new GregorianCalendar();\r
                expectedCal.setTime(expected);\r
                Calendar reachedCal = new GregorianCalendar();\r
index a840e0a2dfde9dce6e3b631d681242f412129537..0239264c322f4d10089d653f55c5b1d18282bb49 100644 (file)
@@ -40,6 +40,9 @@
                                <value>\r
                                        org/argeo/slc/hibernate/test/tree/PartSubList.hbm.xml\r
                                </value>\r
+                               <value>\r
+                                       org/argeo/slc/hibernate/test/TestRunDescriptor.hbm.xml\r
+                               </value>\r
                                <value>\r
                                        org/argeo/slc/hibernate/process/SlcExecution.hbm.xml\r
                                </value>\r
                abstract="true">\r
        </bean>\r
 \r
+       <bean id="slcTemplates.dao.testRunDescriptorDao"\r
+               class="org.argeo.slc.hibernate.test.TestRunDescriptorDaoHibernate"\r
+               abstract="true">\r
+       </bean>\r
+\r
        <bean id="slcTemplates.dao.slcExecutionDao"\r
                class="org.argeo.slc.hibernate.process.SlcExecutionDaoHibernate"\r
                abstract="true">\r
diff --git a/org.argeo.slc.core/src/main/resources/org/argeo/slc/hibernate/test/TestRunDescriptor.hbm.xml b/org.argeo.slc.core/src/main/resources/org/argeo/slc/hibernate/test/TestRunDescriptor.hbm.xml
new file mode 100644 (file)
index 0000000..a00332c
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>\r
+<!DOCTYPE hibernate-mapping PUBLIC\r
+       "-//Hibernate/Hibernate Mapping DTD 3.0//EN"\r
+       "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">\r
+<hibernate-mapping package="org.argeo.slc.core.test">\r
+       <class name="TestRunDescriptor" table="TEST_RUN_DESCRIPTOR">\r
+               <id name="testRunUuid" column="TEST_RUN_UUID" />\r
+               <property name="slcExecutionUuid" column="SLC_EXEC_UUID"\r
+                       not-null="false" />\r
+               <property name="slcExecutionStepUuid"\r
+                       column="SLC_EXEC_STEP_UUID" not-null="false" />\r
+               <property name="testResultUuid" column="TEST_RESULT_UUID"\r
+                       not-null="false" />\r
+               <property name="deployedSytemId" column="DEPLOYED_SYSTEM_ID"\r
+                       not-null="false" />\r
+       </class>\r
+</hibernate-mapping>
\ No newline at end of file
index 1c3c9c9aad18fff0aab273246815d7f5d5b4e68f..f86de731267083d064192573211bdaf822994085 100644 (file)
@@ -17,6 +17,8 @@
                                        not-null="true" />\r
                                <property name="exceptionMessage"\r
                                        column="EXCEPTION_MESSAGE" not-null="false" />\r
+                               <property name="testRunUuid" column="TEST_RUN_UUID"\r
+                                       not-null="false" />\r
                        </composite-element>\r
                </list>\r
        </class>\r
index 0b645c2741cae2d40ba346e2a020eece6fa018f0..621dcc37d4a94570689dcab8b970a3355014e0e4 100644 (file)
@@ -6,7 +6,8 @@
        <xs:element name="tree-test-result" type="slc:TreeTestResultType" />\r
        <xs:complexType name="TreeTestResultType">\r
                <xs:all>\r
-                       <xs:element name="close-date" type="xs:dateTime" />\r
+                       <xs:element name="close-date" type="xs:dateTime"\r
+                               minOccurs="0" />\r
                        <xs:element name="result-parts" minOccurs="0"\r
                                type="slc:ResultPartsType" />\r
                        <xs:element name="elements" minOccurs="0"\r