Author: aadamchik
Date: Sat Nov 25 19:58:22 2006
New Revision: 479266

URL: http://svn.apache.org/viewvc?view=rev&rev=479266
Log:
itests support for temporary blocking database queries

Added:
    
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/BlockingTransactionDelegate.java
Modified:
    
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/ItestSetup.java
    
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoContextCase.java
    
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoTestCase.java

Added: 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/BlockingTransactionDelegate.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/BlockingTransactionDelegate.java?view=auto&rev=479266
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/BlockingTransactionDelegate.java
 (added)
+++ 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/BlockingTransactionDelegate.java
 Sat Nov 25 19:58:22 2006
@@ -0,0 +1,51 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.itest.pojo;
+
+import java.sql.Connection;
+
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.Transaction;
+import org.apache.cayenne.access.TransactionDelegate;
+
+public class BlockingTransactionDelegate implements TransactionDelegate {
+
+    public void didCommit(Transaction transaction) {
+    }
+
+    public void didRollback(Transaction transaction) {
+    }
+
+    public boolean willAddConnection(Transaction transaction, Connection 
connection) {
+        throw new CayenneRuntimeException("Database access is not allowed.");
+    }
+
+    public boolean willCommit(Transaction transaction) {
+        return true;
+    }
+
+    public boolean willMarkAsRollbackOnly(Transaction transaction) {
+        return true;
+    }
+
+    public boolean willRollback(Transaction transaction) {
+        return true;
+    }
+
+}

Modified: 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/ItestSetup.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/ItestSetup.java?view=diff&rev=479266&r1=479265&r2=479266
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/ItestSetup.java
 (original)
+++ 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/ItestSetup.java
 Sat Nov 25 19:58:22 2006
@@ -23,7 +23,6 @@
 import junit.framework.Assert;
 
 import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
@@ -73,7 +72,7 @@
         }
     }
 
-    public DataChannel getChannel() {
+    public DataDomain getDataDomain() {
         return domain;
     }
 

Modified: 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoContextCase.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoContextCase.java?view=diff&rev=479266&r1=479265&r2=479266
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoContextCase.java
 (original)
+++ 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoContextCase.java
 Sat Nov 25 19:58:22 2006
@@ -48,4 +48,16 @@
             context.setChannel(((BlockingDataChannel) channel).getChannel());
         }
     }
+
+    /**
+     * Ensures that DataDomain can't send queries to the DB.
+     */
+    protected void blockDomainQueries() {
+        ItestSetup.getInstance().getDataDomain().setTransactionDelegate(
+                new BlockingTransactionDelegate());
+    }
+
+    protected void unblockDomainQueries() {
+        ItestSetup.getInstance().getDataDomain().setTransactionDelegate(null);
+    }
 }

Modified: 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoTestCase.java?view=diff&rev=479266&r1=479265&r2=479266
==============================================================================
--- 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoTestCase.java
 (original)
+++ 
incubator/cayenne/main/trunk/integration-test/itest-common/src/main/java/org/apache/cayenne/itest/pojo/PojoTestCase.java
 Sat Nov 25 19:58:22 2006
@@ -36,7 +36,7 @@
     }
 
     protected static ClassFileTransformer initEnhancer() {
-        DataChannel channel = ItestSetup.getInstance().getChannel();
+        DataChannel channel = ItestSetup.getInstance().getDataDomain();
         return new Enhancer(
                 new 
CayenneEnhancerVisitorFactory(channel.getEntityResolver()));
     }


Reply via email to