Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortle2007-08-15 00:07:51 +0000
committertle2007-08-15 00:07:51 +0000
commite2504c6c9af951247d6ab7aa9c8eca8db115ca31 (patch)
treec65379b08379f93982236d1bdd990514865b163f /jpa/tests/org.eclipse.jpt.db.tests
parent0303d2c4dec6f00baf9bfdf411763284514a40a3 (diff)
downloadwebtools.dali-e2504c6c9af951247d6ab7aa9c8eca8db115ca31.tar.gz
webtools.dali-e2504c6c9af951247d6ab7aa9c8eca8db115ca31.tar.xz
webtools.dali-e2504c6c9af951247d6ab7aa9c8eca8db115ca31.zip
Refactored to support working offline.
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.db.tests')
-rw-r--r--jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/AllPlatformTests.java4
-rw-r--r--jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/DTPPlatformTests.java57
2 files changed, 53 insertions, 8 deletions
diff --git a/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/AllPlatformTests.java b/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/AllPlatformTests.java
index af9c4233cc..b748816cd9 100644
--- a/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/AllPlatformTests.java
+++ b/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/AllPlatformTests.java
@@ -30,7 +30,11 @@ public class AllPlatformTests {
// suite.addTest( Derby101Tests.suite());
// suite.addTest( Oracle9iTests.suite());
// suite.addTest( Oracle10gTests.suite());
+// suite.addTest( Oracle10gXETests.suite());
// suite.addTest( SQLServer2005Tests.suite());
+// suite.addTest( MySQL41Tests.suite());
+// suite.addTest( PostgreSQL824Tests.suite());
+// suite.addTest( Sybase12Tests.suite());
return suite;
}
diff --git a/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/DTPPlatformTests.java b/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/DTPPlatformTests.java
index 06a4f46a59..ae625c9be6 100644
--- a/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/DTPPlatformTests.java
+++ b/jpa/tests/org.eclipse.jpt.db.tests/src/org/eclipse/jpt/db/tests/internal/platforms/DTPPlatformTests.java
@@ -16,10 +16,13 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.NoSuchElementException;
import java.util.Properties;
+
import junit.framework.Assert;
import junit.framework.TestCase;
+
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.datatools.connectivity.ConnectionProfileException;
import org.eclipse.datatools.connectivity.IConnectionProfile;
@@ -30,7 +33,6 @@ import org.eclipse.datatools.connectivity.drivers.IPropertySet;
import org.eclipse.datatools.connectivity.drivers.PropertySetImpl;
import org.eclipse.datatools.connectivity.drivers.XMLFileManager;
import org.eclipse.datatools.connectivity.internal.ConnectivityPlugin;
-import org.eclipse.jpt.db.internal.Connection;
import org.eclipse.jpt.db.internal.ConnectionProfile;
import org.eclipse.jpt.db.internal.ConnectionProfileRepository;
import org.eclipse.jpt.db.internal.DTPConnectionProfileWrapper;
@@ -125,7 +127,7 @@ public abstract class DTPPlatformTests extends TestCase {
public void testGetProfileByName() {
// Get Profile By Name
- IConnectionProfile dtpProfile = ProfileManager.getInstance().getProfileByName( this.profileName());
+ IConnectionProfile dtpProfile = this.getDTPProfile();
Assert.assertNotNull( dtpProfile);
Assert.assertTrue( dtpProfile.getName().equals( this.profileName()));
}
@@ -137,6 +139,26 @@ public abstract class DTPPlatformTests extends TestCase {
Assert.assertTrue( dtpProfile.getName().equals( this.profileName()));
}
+ public void testWorkingOffline() {
+
+ if( this.getProfile().supportsWorkOfflineMode()) {
+
+ if( ! this.getProfile().canWorkOffline()) {
+ this.connect();
+ this.saveWorkOfflineData();
+ this.disconnect();
+
+ Assert.assertTrue( this.getProfile().canWorkOffline());
+ }
+ this.workOffline();
+
+ Assert.assertTrue( this.getProfile().isConnected());
+ Assert.assertTrue( this.getProfile().isWorkingOffline());
+
+ this.disconnect();
+ }
+ }
+
// ********** internal tests **********
private void verifyDatabaseVersionNumber() {
@@ -196,7 +218,8 @@ public abstract class DTPPlatformTests extends TestCase {
protected void connect() {
this.getProfile().connect();
- Assert.assertTrue( "Connect failed.", this.getProfile().isConnected());
+ Assert.assertTrue( "Could not connect.", this.getProfile().isConnected());
+ Assert.assertFalse( "Connection corrupted.", this.getProfile().isWorkingOffline());
}
protected void disconnect() {
@@ -204,6 +227,18 @@ public abstract class DTPPlatformTests extends TestCase {
this.getProfile().disconnect();
Assert.assertFalse( "Disconnect failed.", this.getProfile().isConnected());
}
+
+ private void workOffline() {
+ IStatus status = this.getProfile().workOffline();
+
+ Assert.assertTrue( "Could not work offline.", status.isOK());
+ }
+
+ private void saveWorkOfflineData() {
+ IStatus status = this.getProfile().saveWorkOfflineData();
+
+ Assert.assertTrue( "Could not save offline data.", status.isOK());
+ }
// ********** queries **********
@@ -212,11 +247,11 @@ public abstract class DTPPlatformTests extends TestCase {
return this.getProfile().getDatabase().schemaNamed( schemaName);
}
- protected Collection getTables() {
+ protected Collection<Table> getTables() {
Schema schema = this.getSchemaNamed( this.getProfile().getUserName());
if( schema == null) {
- return new ArrayList();
+ return new ArrayList<Table>();
}
return CollectionTools.collection( schema.tables());
}
@@ -236,6 +271,11 @@ public abstract class DTPPlatformTests extends TestCase {
protected String passwordIsSaved() {
return "true";
}
+
+
+ protected IConnectionProfile getDTPProfile() {
+ return ProfileManager.getInstance().getProfileByName( this.profileName());
+ }
protected String profileName() {
return this.platformProperties.getProperty( PROFILE_NAME_PROPERTY, PROFILE_NAME_DEFAULT);
@@ -273,7 +313,7 @@ public abstract class DTPPlatformTests extends TestCase {
return dbUrl;
}
- private ConnectionProfile getProfile() {
+ protected ConnectionProfile getProfile() {
return this.getProfileNamed( this.profileName());
}
@@ -347,8 +387,9 @@ public abstract class DTPPlatformTests extends TestCase {
ProfileManager profileManager = ProfileManager.getInstance();
Assert.assertNotNull( profileManager);
- IConnectionProfile profile = profileManager.getProfileByName( profileName);
- if( profile == null) {
+
+ IConnectionProfile dtpProfile = this.getDTPProfile();
+ if( dtpProfile == null) {
Properties basicProperties = buildBasicProperties();
ProfileManager.getInstance().createProfile( profileName, this.profileDescription(), this.providerId(), basicProperties);
}

Back to the top