From 8ea38920c174d8b2eed682a058e2866bdefb5083 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sat, 21 Jun 2008 17:37:31 +0000 Subject: [PATCH 1/1] Restructure example unit tests git-svn-id: https://svn.argeo.org/slc/trunk@1270 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../SlcMainTest.java} | 7 +- .../slc/example/appli/SubCategory2Test.java | 43 +++++++++ .../slc/example/context/BaseContextTest.java | 37 ++++++++ .../slc/example/context/ContextTest.java | 45 ++++++++++ .../example/junit/ContextIntegrationTest.java | 87 ------------------- .../example/junit/ExampleIntegrationTest.java | 79 ----------------- 6 files changed, 129 insertions(+), 169 deletions(-) rename org.argeo.slc.example/src/test/java/org/argeo/slc/example/{ExecutionTest.java => appli/SlcMainTest.java} (66%) create mode 100644 org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SubCategory2Test.java create mode 100644 org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/BaseContextTest.java create mode 100644 org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/ContextTest.java delete mode 100644 org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ContextIntegrationTest.java delete mode 100644 org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ExampleIntegrationTest.java diff --git a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/ExecutionTest.java b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SlcMainTest.java similarity index 66% rename from org.argeo.slc.example/src/test/java/org/argeo/slc/example/ExecutionTest.java rename to org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SlcMainTest.java index 4f5588e2e..cc76b4c7d 100644 --- a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/ExecutionTest.java +++ b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SlcMainTest.java @@ -1,14 +1,15 @@ -package org.argeo.slc.example; +package org.argeo.slc.example.appli; import org.argeo.slc.cli.SlcMain; import junit.framework.TestCase; -public class ExecutionTest extends TestCase { - public void testSimpleRun() { +public class SlcMainTest extends TestCase { + public void testSimpleRunFromMain() { String[] args = { "--mode", "single", "--script", "exampleSlcAppli/root/Category1/SubCategory2/build.xml", "--runtime", "default" }; SlcMain.main(args); } + } diff --git a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SubCategory2Test.java b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SubCategory2Test.java new file mode 100644 index 000000000..82e53cf67 --- /dev/null +++ b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/appli/SubCategory2Test.java @@ -0,0 +1,43 @@ +package org.argeo.slc.example.appli; + +import org.argeo.slc.ant.AntExecutionContext; +import org.argeo.slc.cli.DefaultSlcRuntime; +import org.argeo.slc.cli.SlcMain; +import org.argeo.slc.core.test.TestStatus; +import org.argeo.slc.core.test.tree.TreeTestResult; +import org.argeo.slc.runtime.SlcExecutionOutput; +import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; + +import static org.argeo.slc.unit.test.tree.UnitTestTreeUtil.assertPart; + +import junit.framework.TestCase; + +public class SubCategory2Test extends TestCase implements + SlcExecutionOutput { + public void testSimpleRun() { + new DefaultSlcRuntime().executeScript( + "exampleSlcAppli/root/Category1/SubCategory2/build.xml", this); + } + + public void postExecution(AntExecutionContext executionContext) { + TreeTestResult testResult1 = executionContext.getBean("testResult"); + assertPart(testResult1, + "/Category1/SubCategory2/testProject/testComplex/slc.test0/0", + 0, TestStatus.PASSED, null); + assertPart(testResult1, + "/Category1/SubCategory2/testProject/testSimple/slc.test0", 1, + TestStatus.FAILED, null); + assertPart(testResult1, + "/Category1/SubCategory2/testProject/testError/slc.test0", 0, + TestStatus.ERROR, null); + + TreeTestResult testResult2 = executionContext.getBean("testResult2"); + assertPart(testResult2, + "/Category1/SubCategory2/testProject/testSimple/slc.test2", 1, + TestStatus.PASSED, null); + assertPart(testResult2, + "/Category1/SubCategory2/testProject/testSimple/slc.test3", 1, + TestStatus.FAILED, null); + } + +} diff --git a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/BaseContextTest.java b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/BaseContextTest.java new file mode 100644 index 000000000..93275f548 --- /dev/null +++ b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/BaseContextTest.java @@ -0,0 +1,37 @@ +package org.argeo.slc.example.context; + +import org.argeo.slc.ant.AntExecutionContext; +import org.argeo.slc.ant.unit.SlcAntAppliTestCase; +import org.argeo.slc.cli.DefaultSlcRuntime; +import org.argeo.slc.core.test.TestStatus; +import org.argeo.slc.core.test.tree.TreeTestResult; +import org.argeo.slc.runtime.SlcExecutionOutput; +import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; + +import junit.framework.TestCase; + +public class BaseContextTest extends SlcAntAppliTestCase { + public void testExecute() { + execute("Context/build.xml", "testBaseContext"); + } + + public void postExecution(AntExecutionContext executionContext) { + TreeTestResult testResult1 = executionContext.getBean("testResult"); + String basePath = "/Context/project/testBaseContext/"; + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test0/reference", 0, TestStatus.PASSED, + "Values matched for key 'reference'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test1/reference", 0, TestStatus.PASSED, + "Values matched for key 'reference'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test1/varIntern", 0, TestStatus.PASSED, + "Values matched for key 'varIntern'"); + } + + @Override + protected String getRootDir() { + return "exampleSlcAppli/root"; + } + +} diff --git a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/ContextTest.java b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/ContextTest.java new file mode 100644 index 000000000..39d15f110 --- /dev/null +++ b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/context/ContextTest.java @@ -0,0 +1,45 @@ +package org.argeo.slc.example.context; + +import org.argeo.slc.ant.AntExecutionContext; +import org.argeo.slc.ant.unit.SlcAntAppliTestCase; +import org.argeo.slc.cli.DefaultSlcRuntime; +import org.argeo.slc.core.test.TestStatus; +import org.argeo.slc.core.test.tree.TreeTestResult; +import org.argeo.slc.runtime.SlcExecutionOutput; +import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; + +import junit.framework.TestCase; + +public class ContextTest extends SlcAntAppliTestCase { + public void testExecute() { + execute("Context/build.xml"); + } + + public void postExecution(AntExecutionContext executionContext) { + TreeTestResult testResult1 = executionContext.getBean("testResult"); + String basePath = "/Context/project/testContext/"; + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test0/reference", 0, TestStatus.PASSED, + "Values matched for key 'reference'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test1/reference2", 0, TestStatus.PASSED, + "Values matched for key 'reference2'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + "slc.test1/var", 0, + TestStatus.PASSED, "Values matched for key 'var'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test1/varIntern", 0, TestStatus.PASSED, + "Values matched for key 'varIntern'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test1/varExtern", 0, TestStatus.PASSED, + "Values matched for key 'varExtern'"); + UnitTestTreeUtil.assertPart(testResult1, basePath + + "slc.test1/greeting", 0, TestStatus.PASSED, + "Values matched for key 'greeting'"); + } + + @Override + protected String getRootDir() { + return "exampleSlcAppli/root"; + } + +} diff --git a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ContextIntegrationTest.java b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ContextIntegrationTest.java deleted file mode 100644 index 3dfe4cfdf..000000000 --- a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ContextIntegrationTest.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.argeo.slc.example.junit; - -import java.io.File; - -import junit.framework.TestCase; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.Project; -import org.argeo.slc.ant.AntRegistryUtil; -import org.argeo.slc.ant.SlcAntConstants; -import org.argeo.slc.core.test.TestStatus; -import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.dao.test.TestResultDao; -import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; -import org.springframework.context.ApplicationContext; - -public class ContextIntegrationTest extends TestCase { - private static Log log = LogFactory.getLog(ContextIntegrationTest.class); - - public void testContext() throws Exception { - TestResultDao testResultDao = runAnt( - "root/Context/build.xml", null); - - TreeTestResult testResult1 = (TreeTestResult) testResultDao - .getTestResult("1"); - - String basePath = "/root/Context/testContext/"; - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test0/reference", 0, TestStatus.PASSED, - "Values matched for key 'reference'"); - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test1/reference2", 0, TestStatus.PASSED, - "Values matched for key 'reference2'"); - UnitTestTreeUtil.assertPart(testResult1, basePath + "slc.test1/var", 0, - TestStatus.PASSED, "Values matched for key 'var'"); - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test1/varIntern", 0, TestStatus.PASSED, - "Values matched for key 'varIntern'"); - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test1/varExtern", 0, TestStatus.PASSED, - "Values matched for key 'varExtern'"); - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test1/greeting", 0, TestStatus.PASSED, - "Values matched for key 'greeting'"); - - } - - public void testBaseContext() throws Exception { - TestResultDao testResultDao = runAnt( - "root/Context/build.xml", "testBaseContext"); - - TreeTestResult testResult1 = (TreeTestResult) testResultDao - .getTestResult("1"); - - String basePath = "/root/Context/testBaseContext/"; - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test0/reference", 0, TestStatus.PASSED, - "Values matched for key 'reference'"); - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test1/reference", 0, TestStatus.PASSED, - "Values matched for key 'reference'"); - UnitTestTreeUtil.assertPart(testResult1, basePath - + "slc.test1/varIntern", 0, TestStatus.PASSED, - "Values matched for key 'varIntern'"); - - } - - private TestResultDao runAnt(String antFileRelPath, - String target) throws Exception { - String slcBase = System.getProperty("it.slc.base", "exampleSlcAppli"); - File slcBaseDir = new File(slcBase).getCanonicalFile(); - log.info("SLC base: " + slcBaseDir); - - File antFile = new File(slcBaseDir.getPath() + File.separator - + antFileRelPath); - Project p = AntRegistryUtil.runAll(antFile, target); - - ApplicationContext context = (ApplicationContext) p - .getReference(SlcAntConstants.REF_ROOT_CONTEXT); - - TestResultDao testResultDao = (TestResultDao) context - .getBean("testResultDao"); - return testResultDao; - - } -} diff --git a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ExampleIntegrationTest.java b/org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ExampleIntegrationTest.java deleted file mode 100644 index 4d30e1a23..000000000 --- a/org.argeo.slc.example/src/test/java/org/argeo/slc/example/junit/ExampleIntegrationTest.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.argeo.slc.example.junit; - -import java.io.File; - -import junit.framework.TestCase; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.Project; -import org.argeo.slc.ant.AntRegistryUtil; -import org.argeo.slc.ant.SlcAntConstants; -import org.argeo.slc.core.test.TestStatus; -import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.dao.test.TestResultDao; -import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; -import org.springframework.context.ApplicationContext; - -/** High level tests for SLC Ant. */ -public class ExampleIntegrationTest extends TestCase { - private static Log log = LogFactory.getLog(ExampleIntegrationTest.class); - - /** Tests an end-to-end Ant run. */ - public void testAllRunSimple() throws Exception { - String slcBase = System.getProperty("it.slc.base", "exampleSlcAppli"); - File slcBaseDir = new File(slcBase).getCanonicalFile(); - log.info("SLC base: " + slcBaseDir); - - String reportDirPath = slcBaseDir.getPath() + "/work/results/report/"; - File[] reportFiles = new File(reportDirPath).listFiles(); - for (File file : reportFiles) { - file.delete(); - } - - File antFile = new File(slcBaseDir.getPath() - + "/root/Category1/SubCategory2/build.xml"); - Project p = AntRegistryUtil.runAll(antFile); - - ApplicationContext context = (ApplicationContext) p - .getReference(SlcAntConstants.REF_ROOT_CONTEXT); - - TestResultDao testResultDao = (TestResultDao) context - .getBean("testResultDao"); - - TreeTestResult testResult1 = (TreeTestResult) testResultDao - .getTestResult("1"); - // assertPart(testResult1, "", 0, TestStatus.PASSED, ""); - UnitTestTreeUtil - .assertPart( - testResult1, - "/root/Category1/SubCategory2/testComplex/slc.test0/0", - 0, - TestStatus.PASSED, - "Sub task with path /root/Category1/SubCategory2/testComplex/slc.test0/0 executed"); - UnitTestTreeUtil.assertPart(testResult1, - "/root/Category1/SubCategory2/testSimple/slc.test0", 1, - TestStatus.FAILED, - "Compare nato-expected.txt with nato-reached.txt"); - UnitTestTreeUtil.assertPart(testResult1, - "/root/Category1/SubCategory2/testError/slc.test0", 0, - TestStatus.ERROR, "Execute example appli"); - -// TreeTestResult testResult2 = (TreeTestResult) testResultDao -// .getTestResult("2"); -// UnitTestTreeUtil.assertPart(testResult2, -// "/root/Category1/SubCategory2/testSimple/slc.test2", 1, -// TestStatus.PASSED, -// "Compare eu-reform-expected.txt with eu-reform-reached.txt"); -// UnitTestTreeUtil.assertPart(testResult2, -// "/root/Category1/SubCategory2/testSimple/slc.test3", 1, -// TestStatus.FAILED, -// "Compare eu-reform-expected.txt with eu-reform-reached.txt"); - - assertTrue(new File(reportDirPath + "index.html").exists()); - assertTrue(new File(reportDirPath + "slc-resultsList.html").exists()); - assertTrue(new File(reportDirPath + "slc-result-1.html").exists()); -// assertTrue(new File(reportDirPath + "slc-result-2.html").exists()); - } - -} -- 2.39.2