Author: tmortagne
Date: 2008-02-18 13:14:31 +0100 (Mon, 18 Feb 2008)
New Revision: 7791
Modified:
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
Log:
XWIKI-1079: add cache refresh time test
Modified:
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
===================================================================
---
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
2008-02-18 11:02:27 UTC (rev 7790)
+++
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
2008-02-18 12:14:31 UTC (rev 7791)
@@ -8,6 +8,8 @@
import com.xpn.xwiki.XWikiConfig;
import com.xpn.xwiki.XWikiContext;
import com.xpn.xwiki.XWikiException;
+import com.xpn.xwiki.cache.api.XWikiCache;
+import com.xpn.xwiki.cache.api.XWikiCacheNeedsRefreshException;
import com.xpn.xwiki.cache.api.XWikiCacheService;
import com.xpn.xwiki.cache.impl.OSCacheService;
import com.xpn.xwiki.it.framework.XWikiLDAPTestSetup;
@@ -25,7 +27,7 @@
/**
* The name of the group cache.
*/
- public static final String GROUPCACHE8NAME = "groups";
+ public static final String GROUPCACHE_NAME = "groups";
/**
* The LDAP connection tool.
@@ -91,15 +93,36 @@
}
/**
- * Verify that the cache is not created each time it's getted.
+ * check that the cache is not created each time it's getted and correctly
handle refresh time.
*
* @throws XWikiException error when getting the cache.
+ * @throws XWikiCacheNeedsRefreshException
+ * @throws InterruptedException
*/
- public void testGetCache() throws XWikiException
+ public void testCache() throws XWikiException,
XWikiCacheNeedsRefreshException,
+ InterruptedException
{
- assertTrue("Cache is recreated",
- this.ldapUtils.getCache(GROUPCACHE8NAME, this.context) ==
this.ldapUtils.getCache(
- GROUPCACHE8NAME, this.context));
+ XWikiCache tmpCache = this.ldapUtils.getCache(GROUPCACHE_NAME,
this.context);
+ XWikiCache cache = this.ldapUtils.getCache(GROUPCACHE_NAME,
this.context);
+
+ assertTrue("Cache is recreated", tmpCache == cache);
+
+ cache.putInCache("key", "value");
+
+ String value = (String) cache.getFromCache("key");
+
+ assertEquals("Value getted from cache is wrong", "value", value);
+
+ Thread.sleep(1000);
+
+ value = null;
+ try {
+ value = (String) cache.getFromCache("key", 1);
+ } catch (XWikiCacheNeedsRefreshException e) {
+
+ }
+
+ assertNull("Object in cache is not cleaned", value);
}
/**
@@ -135,7 +158,7 @@
/**
* [EMAIL PROTECTED]
- *
+ *
* @see junit.framework.TestCase#tearDown()
*/
public void tearDown() throws Exception
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications