Author: dgeraskov
Date: 2008-01-09 06:03:11 -0500 (Wed, 09 Jan 2008)
New Revision: 5544
Added:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateAllMappingTests.java
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureRemoveTest.java
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetAfterSetup.java
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetBeforeTearDown.java
Removed:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureTest.java
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSet.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1571
Added:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateAllMappingTests.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateAllMappingTests.java
(rev 0)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateAllMappingTests.java 2008-01-09
11:03:11 UTC (rev 5544)
@@ -0,0 +1,182 @@
+package org.hibernate.eclipse.console.test.mappingproject;
+
+import java.util.Enumeration;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestFailure;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.internal.core.PackageFragmentRoot;
+import org.eclipse.jdt.ui.IPackagesViewPart;
+import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+public class HibernateAllMappingTests extends TestCase {
+
+ private MappingTestProject project;
+
+ private static IPackageFragment activePackage;
+
+ public HibernateAllMappingTests(String name) {
+ super(name);
+ }
+
+ private TestResult result = null;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ this.project = MappingTestProject.getTestProject();
+
+ //PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllPerspectives(false,
true);
+
+
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().setPerspective(
+ PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.ui.resourcePerspective"));
+
+ IPackagesViewPart packageExplorer = null;
+ try {
+ packageExplorer = (IPackagesViewPart) PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getActivePage().showView(JavaUI.ID_PACKAGES);
+ } catch (PartInitException e) {
+ throw new RuntimeException(e);
+ }
+
+ packageExplorer.selectAndReveal(project.getIJavaProject());
+
+ waitForJobs();
+ runTestsAfterSetup();
+ }
+
+ private void runTestsAfterSetup() {
+ TestSuite suite = TestSetAfterSetup.getTests();
+ for (int i = 0; i < suite.testCount(); i++) {
+ Test test = suite.testAt(i);
+ test.run(result);
+ /*if (result.failureCount() > 0 || result.errorCount() > 0){
+ // we have failed tests after setup
+ fail(((Throwable)result.failures().nextElement()).getMessage());
+ }*/
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#run(junit.framework.TestResult)
+ */
+ @Override
+ public void run(TestResult result) {
+ this.result = result;
+ super.run(result);
+ }
+
+ public void tearDown() throws Exception {
+ waitForJobs();
+ runTestsBeforeTearDown();
+ waitForJobs();
+ this.project.deleteIProject();
+ waitForJobs();
+ super.tearDown();
+ }
+
+ private void runTestsBeforeTearDown() {
+ TestSuite suite = TestSetBeforeTearDown.getTests();
+ for (int i = 0; i < suite.testCount(); i++) {
+ Test test = suite.testAt(i);
+ test.run(result);
+ }
+ }
+
+ /**
+ * Process UI input but do not return for the specified time interval.
+ *
+ * @param waitTimeMillis
+ * the number of milliseconds
+ */
+ protected void delay(long waitTimeMillis) {
+ Display display = Display.getCurrent();
+
+ // If this is the UI thread,
+ // then process input.
+ if (display != null) {
+ long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
+ while (System.currentTimeMillis() < endTimeMillis) {
+ if (!display.readAndDispatch())
+ display.sleep();
+ }
+ display.update();
+ }
+
+ // Otherwise, perform a simple sleep.
+ else {
+ try {
+ Thread.sleep(waitTimeMillis);
+ } catch (InterruptedException e) {
+ // Ignored.
+ }
+ }
+ }
+
+ /**
+ * Wait until all background tasks are complete.
+ */
+ public void waitForJobs() {
+ while (Platform.getJobManager().currentJob() != null)
+ delay(1000);
+ }
+
+ protected MappingTestProject getProject() {
+ return this.project;
+ }
+
+ public void testEachPackWithTestSet() throws JavaModelException {
+ /*if (result.failureCount() > 0 || result.errorCount() > 0){
+ // we have failed tests after setup
+ fail("One or more setup test failed.");
+ }*/
+ TestSuite suite = TestSet.getTests();
+ IPackageFragmentRoot[] roots =
project.getIJavaProject().getAllPackageFragmentRoots();
+ for (int i = 0; i < roots.length; i++) {
+ if (roots[i].getClass() != PackageFragmentRoot.class) continue;
+ PackageFragmentRoot packageFragmentRoot = (PackageFragmentRoot) roots[i];
+ IJavaElement[] els = packageFragmentRoot.getChildren();//.getCompilationUnits();
+ for (int j = 0; j < els.length; j++) {
+ IJavaElement javaElement = els[j];
+ if (javaElement instanceof IPackageFragment){
+ IPackageFragment pack = (IPackageFragment) javaElement;
+ // use packages only with compilation units
+ if (pack.getCompilationUnits().length == 0) continue;
+
+ activePackage = pack;
+ //==============================
+ //run all tests for package
+ for (int k = 0; k < suite.testCount(); k++) {
+ Test test = suite.testAt(k);
+ test.run(result);
+ waitForJobs();
+ }
+ //==============================
+ }
+ }
+ }
+ waitForJobs();
+ //delay(2000);
+ }
+
+ /**
+ * @return the activePackage
+ */
+ public static IPackageFragment getActivePackage() {
+ return activePackage;
+ }
+}
+
\ No newline at end of file
Added:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureRemoveTest.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureRemoveTest.java
(rev 0)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureRemoveTest.java 2008-01-09
11:03:11 UTC (rev 5544)
@@ -0,0 +1,21 @@
+package org.hibernate.eclipse.console.test.mappingproject;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.hibernate.eclipse.console.utils.ProjectUtils;
+import org.osgi.service.prefs.BackingStoreException;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateNatureRemoveTest extends TestCase {
+ public void testEnableHibernateNature() throws BackingStoreException, CoreException {
+ MappingTestProject project = MappingTestProject.getTestProject();
+ IJavaProject prj = project.getIJavaProject();
+ ProjectUtils.removeProjectNature(prj.getProject(),
"org.hibernate.eclipse.console.hibernateNature", new NullProgressMonitor() );
+ }
+}
Property changes on:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureRemoveTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Deleted:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureTest.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureTest.java 2008-01-09
09:36:03 UTC (rev 5543)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/HibernateNatureTest.java 2008-01-09
11:03:11 UTC (rev 5544)
@@ -1,33 +0,0 @@
-package org.hibernate.eclipse.console.test.mappingproject;
-
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.jdt.core.IJavaProject;
-import org.hibernate.eclipse.console.utils.ProjectUtils;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-import junit.framework.TestCase;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class HibernateNatureTest extends TestCase {
- public void testEnableHibernateNature() throws BackingStoreException, CoreException {
- MappingTestProject project = MappingTestProject.getTestProject();
- IJavaProject prj = project.getIJavaProject();
- IScopeContext scope = new ProjectScope(prj.getProject() );
-
- Preferences node = scope.getNode("org.hibernate.eclipse.console");
-
- node.putBoolean("hibernate3.enabled", true );
- node.put("default.configuration", "testcfg" );
- node.flush();
-
- ProjectUtils.addProjectNature(prj.getProject(),
"org.hibernate.eclipse.console.hibernateNature", new NullProgressMonitor() );
- ProjectUtils.removeProjectNature(prj.getProject(),
"org.hibernate.eclipse.console.hibernateNature", new NullProgressMonitor() );
- }
-}
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSet.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSet.java 2008-01-09
09:36:03 UTC (rev 5543)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSet.java 2008-01-09
11:03:11 UTC (rev 5544)
@@ -8,13 +8,31 @@
*/
public class TestSet{
+ /**
+ * use only addTestSuit to prevent errors!!!
+ * @return
+ */
public static TestSuite getTests(){
TestSuite suite = new TestSuite("Test for MappingTestProject" );
- //use only addTestSuit to prevent errors
- suite.addTestSuite( OpenJavaEditors.class );
- suite.addTestSuite( HibernateNatureTest.class );
+
+ addTestsPackSetUp( suite );
+ addPackTests( suite );
+ addTestsPackTearDown( suite );
return suite;
}
+
+
+ private static void addTestsPackSetUp(TestSuite suite){
+ //suite.addTestSuite( UpdateConfigurationTest.class );
+ }
+
+ private static void addPackTests(TestSuite suite){
+
+ }
+
+ private static void addTestsPackTearDown(TestSuite suite){
+ //suite.addTestSuite( CloaseAllEditorsTest.class );
+ }
}
Added:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetAfterSetup.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetAfterSetup.java
(rev 0)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetAfterSetup.java 2008-01-09
11:03:11 UTC (rev 5544)
@@ -0,0 +1,16 @@
+package org.hibernate.eclipse.console.test.mappingproject;
+
+import junit.framework.TestSuite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class TestSetAfterSetup {
+ public static TestSuite getTests(){
+ TestSuite suite = new TestSuite("Test for MappingTestProject" );
+ suite.addTestSuite( HibernateNatureAddTest.class );
+ //suite.addTestSuite( CreateConsoleConfigTest.class );
+ return suite;
+ }
+}
Property changes on:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetAfterSetup.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Added:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetBeforeTearDown.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetBeforeTearDown.java
(rev 0)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetBeforeTearDown.java 2008-01-09
11:03:11 UTC (rev 5544)
@@ -0,0 +1,16 @@
+package org.hibernate.eclipse.console.test.mappingproject;
+
+import junit.framework.TestSuite;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class TestSetBeforeTearDown {
+ public static TestSuite getTests(){
+ TestSuite suite = new TestSuite("Test for MappingTestProject" );
+ suite.addTestSuite( HibernateNatureRemoveTest.class );
+
+ return suite;
+ }
+}
Property changes on:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/TestSetBeforeTearDown.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native