[infinispan-commits] Infinispan SVN: r1287 - in trunk/query/src/test/java/org/infinispan/query: tx and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Fri Dec 11 06:54:58 EST 2009


Author: manik.surtani at jboss.com
Date: 2009-12-11 06:54:58 -0500 (Fri, 11 Dec 2009)
New Revision: 1287

Added:
   trunk/query/src/test/java/org/infinispan/query/tx/
   trunk/query/src/test/java/org/infinispan/query/tx/TransactionalQueryTest.java
Log:
Added test

Added: trunk/query/src/test/java/org/infinispan/query/tx/TransactionalQueryTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/tx/TransactionalQueryTest.java	                        (rev 0)
+++ trunk/query/src/test/java/org/infinispan/query/tx/TransactionalQueryTest.java	2009-12-11 11:54:58 UTC (rev 1287)
@@ -0,0 +1,97 @@
+package org.infinispan.query.tx;
+
+import org.hibernate.search.annotations.Field;
+import org.hibernate.search.annotations.Indexed;
+import org.hibernate.search.annotations.ProvidedId;
+import org.infinispan.Cache;
+import org.infinispan.config.Configuration;
+import org.infinispan.manager.CacheManager;
+import org.infinispan.query.CacheQuery;
+import org.infinispan.query.QueryFactory;
+import org.infinispan.query.backend.QueryHelper;
+import org.infinispan.test.SingleCacheManagerTest;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import javax.transaction.TransactionManager;
+import java.util.Properties;
+
+ at Test(groups = "functional", testName = "query.tx.TransactionalQueryTest")
+public class TransactionalQueryTest extends SingleCacheManagerTest {
+   protected CacheManager m_cacheManager;
+   private QueryHelper m_queryHelper;
+   private Cache<String, Session> m_cache;
+   private TransactionManager m_transactionManager;
+
+   @Override
+   protected CacheManager createCacheManager() throws Exception {
+      Configuration c = getDefaultStandaloneConfig(true);
+      c.setIndexingEnabled(true);
+      c.setIndexLocalOnly(true);
+      m_cacheManager = TestCacheManagerFactory.createCacheManager(c, true);
+      m_cache = m_cacheManager.getCache();
+      m_transactionManager = m_cache.getAdvancedCache().getTransactionManager();
+      return m_cacheManager;
+   }
+
+   @BeforeMethod
+   public void initialize() {
+      try {
+         // Make the hibernate cache an in memory cache
+         Properties properties = new Properties();
+         properties.put("hibernate.search.default.directory_provider", "org.hibernate.search.store.RAMDirectoryProvider");
+
+         // Initialze the query helper.
+         m_queryHelper = new QueryHelper(m_cache, properties, Session.class);
+
+         // Initialize the cache
+         m_transactionManager.begin();
+         for (int i = 0; i < 100; i++) {
+            m_cache.put(String.valueOf(i), new Session(String.valueOf(i)));
+         }
+         m_transactionManager.commit();
+      }
+      catch (Exception e) {
+         e.printStackTrace();
+      }
+   }
+
+   public void run() {
+      try {
+         // Verify querying works
+         QueryFactory queryFactory = new QueryFactory(m_cache, m_queryHelper);
+         CacheQuery cacheQuery = queryFactory.getBasicQuery("", "Id:2?");
+         System.out.println("Hits: " + cacheQuery.getResultSize());
+
+         // Remove something that exists
+         m_transactionManager.begin();
+         m_cache.remove("50");
+         m_transactionManager.commit();
+
+         // Remove something that doesn't exist with a transaction
+         // This also fails without using a transaction
+         m_transactionManager.begin();
+         m_cache.remove("200");
+         m_transactionManager.commit();
+      }
+      catch (Exception e) {
+         e.printStackTrace();
+      }
+   }
+
+   @ProvidedId
+   @Indexed(index = "SessionIndex")
+   public class Session {
+      private String m_id;
+
+      public Session(String id) {
+         m_id = id;
+      }
+
+      @Field(name = "Id")
+      public String getId() {
+         return m_id;
+      }
+   }
+}


Property changes on: trunk/query/src/test/java/org/infinispan/query/tx/TransactionalQueryTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF



More information about the infinispan-commits mailing list