summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/MainTest.java16
-rw-r--r--src/test/resources/TestStateMachine.xml12
2 files changed, 19 insertions, 9 deletions
diff --git a/src/test/java/MainTest.java b/src/test/java/MainTest.java
index 99e293a..309f0cf 100644
--- a/src/test/java/MainTest.java
+++ b/src/test/java/MainTest.java
@@ -17,6 +17,13 @@ import com.c2kernel.utils.Resource;
public class MainTest {
+ public static void main(String[] args) throws Exception {
+ MainTest me = new MainTest();
+ me.testBootItems();
+ me.testScriptParsing();
+ me.testStateMachine();
+ }
+
public MainTest() throws Exception {
Logger.addLogStream(System.out, 1);
Properties props = FileStringUtility.loadConfigFile(MainTest.class.getResource("properties.conf").getPath());
@@ -31,6 +38,7 @@ public class MainTest {
validators.put("CA", new OutcomeValidator(getSchema("CompositeActivityDef", 0, "boot/OD/CompositeActivityDef.xsd")));
validators.put("EA", new OutcomeValidator(getSchema("ElementaryActivityDef", 0, "boot/OD/ElementaryActivityDef.xsd")));
validators.put("SC", new OutcomeValidator(getSchema("Script", 0, "boot/OD/Script.xsd")));
+ validators.put("SM", new OutcomeValidator(getSchema("StateMachine", 0, "boot/OD/StateMachine.xsd")));
validators.put("OD", new SchemaValidator());
String bootItems = FileStringUtility.url2String(Resource.getKernelResourceURL("boot/allbootitems.txt"));
@@ -50,7 +58,7 @@ public class MainTest {
}
assert errors.length()==0;
- if (false) if (itemType.equals("CA") || itemType.equals("EA")) {
+ if (itemType.equals("CA") || itemType.equals("EA") || itemType.equals("SM")) {
Logger.msg(1, "Remarshalling "+thisItem);
long then = System.currentTimeMillis();
Object unmarshalled = Gateway.getMarshaller().unmarshall(data);
@@ -61,7 +69,7 @@ public class MainTest {
castorTime+=(now-then);
errors = validator.validate(remarshalled);
if (errors.length() > 0) {
- Logger.error("Remarshalled resource "+thisItem+" has errors :"+errors);
+ Logger.error("Remarshalled resource "+thisItem+" has errors :"+errors+"\nRemarshalled form:\n"+remarshalled);
}
assert errors.length()==0;
@@ -104,8 +112,10 @@ public class MainTest {
}
public void testStateMachine() throws Exception {
+ Logger.msg("Validating test state machine");
String smXml = FileStringUtility.url2String(MainTest.class.getResource("TestStateMachine.xml"));
StateMachine sm = (StateMachine)Gateway.getMarshaller().unmarshall(smXml);
- assert sm!=null;
+ sm.validate();
+ assert sm.isCoherent();
}
}
diff --git a/src/test/resources/TestStateMachine.xml b/src/test/resources/TestStateMachine.xml
index 7dd6115..be188cb 100644
--- a/src/test/resources/TestStateMachine.xml
+++ b/src/test/resources/TestStateMachine.xml
@@ -4,16 +4,16 @@
<State id="2" name="Finished" proceeds="true"/>
<State id="3" name="Suspended"/>
- <Transition id="0" name="Start" origin="0" terminus="1"/>
- <Transition id="1" name="Ignore" origin="1" terminus="0" enablingProperty="Ignorable"/>
- <Transition id="2" name="Complete" origin="1" terminus="2">
- <Outcome name="${SchemaType}" version="${SchemaVersion}"/>
+ <Transition id="0" name="Start" origin="0" target="1"/>
+ <Transition id="1" name="Ignore" origin="1" target="0" enablingProperty="Ignorable"/>
+ <Transition id="2" name="Complete" origin="1" target="2">
+ <Outcome name="${SchemaType}" version="${SchemaVersion}" required="true"/>
<Script name="${ScriptName}" version="${ScriptVersion}"/>
</Transition>
- <Transition id="2" name="Suspend" origin="1" terminus="3">
+ <Transition id="2" name="Suspend" origin="1" target="3">
<Outcome name="Errors" version="0"/>
</Transition>
- <Transition id="3" name="Retry" origin="3" terminus="1" roleOverride="Admin"/>
+ <Transition id="3" name="Retry" origin="3" target="1" roleOverride="Admin"/>
</StateMachine>