[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