]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - tests/org.simantics.db.tests/src/org/simantics/db/tests/client/RefreshTest2.java
Added missing org.simantics.db.{tests,testing} plug-ins.
[simantics/platform.git] / tests / org.simantics.db.tests / src / org / simantics / db / tests / client / RefreshTest2.java
diff --git a/tests/org.simantics.db.tests/src/org/simantics/db/tests/client/RefreshTest2.java b/tests/org.simantics.db.tests/src/org/simantics/db/tests/client/RefreshTest2.java
new file mode 100644 (file)
index 0000000..38be6f0
--- /dev/null
@@ -0,0 +1,46 @@
+package org.simantics.db.tests.client;
+
+import org.junit.Test;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.testing.base.TestCommonNoVirtual;
+import org.simantics.db.testing.common.Client;
+import org.simantics.db.testing.common.ClientFactory;
+import org.simantics.db.tests.common.ClientOperations;
+import org.simantics.db.tests.common.Configuration;
+
+public class RefreshTest2 extends TestCommonNoVirtual {
+    private static final int COUNT = Configuration.get().refreshLoopCount;
+    
+    @Test
+    public void testRefresh2() throws DatabaseException {
+        if (noVirtual())
+            return;
+        for (int i=0; i<COUNT; ++i) {
+            refreshTestRemove();
+        }
+    }
+    void refreshTestRemove() throws DatabaseException {
+//        ServerAddress serverAddress = getSessionContext().getAddress();
+        Client client1 = ClientFactory.create(getRandomString());
+        Client client2 = ClientFactory.create(getRandomString());
+        try {
+            String name = ClientOperations.createData(client1);
+            ClientOperations.validateData(client1, name);
+            ClientOperations.validateData(client2, name);
+            ClientOperations.removeData(client2, name);
+            ClientOperations.validateDataRemoved(client2, name);
+            ClientOperations.validateDataRemoved(client1, name);
+            name = ClientOperations.createData(client2);
+            ClientOperations.validateData(client1, name);
+            ClientOperations.validateData(client2, name);
+            ClientOperations.removeData(client1, name);
+            ClientOperations.validateDataRemoved(client1, name);
+            ClientOperations.validateDataRemoved(client2, name);
+        } finally {
+            if (null != client1)
+                client1.close();
+            if (null != client2)
+                client2.close();
+        }
+    }
+}