Search in sources :

Example 6 with FF4jCacheProxy

use of org.ff4j.cache.FF4jCacheProxy in project ff4j by ff4j.

the class CacheProxyTest method testCacheProxyNullTriggerException2.

@Test(expected = IllegalArgumentException.class)
public void testCacheProxyNullTriggerException2() {
    FF4jCacheProxy proxy = new FF4jCacheProxy();
    proxy.getTargetPropertyStore();
}
Also used : FF4jCacheProxy(org.ff4j.cache.FF4jCacheProxy) Test(org.junit.Test)

Example 7 with FF4jCacheProxy

use of org.ff4j.cache.FF4jCacheProxy in project ff4j by ff4j.

the class CacheProxyTest method testCacheProxyManager.

@Test
public void testCacheProxyManager() {
    FF4jCacheProxy proxy = new FF4jCacheProxy();
    FF4JCacheManager cm = new InMemoryCacheManager();
    proxy.setCacheManager(cm);
    proxy.isCached();
    Assert.assertNotNull(proxy.getCacheProvider());
    proxy.setTargetPropertyStore(new InMemoryPropertyStore());
    Assert.assertEquals(0, proxy.readAllProperties().size());
    proxy.createProperty(new PropertyString("p1", "v1"));
    Assert.assertTrue(proxy.existProperty("p1"));
    Assert.assertFalse(proxy.existProperty("p2"));
    proxy.setTargetFeatureStore(new InMemoryFeatureStore());
    Set<Feature> setOfFeatures = new HashSet<Feature>();
    setOfFeatures.add(new Feature("f1"));
    setOfFeatures.add(new Feature("f2"));
    proxy.importFeatures(setOfFeatures);
}
Also used : FF4JCacheManager(org.ff4j.cache.FF4JCacheManager) PropertyString(org.ff4j.property.PropertyString) InMemoryPropertyStore(org.ff4j.property.store.InMemoryPropertyStore) InMemoryCacheManager(org.ff4j.cache.InMemoryCacheManager) InMemoryFeatureStore(org.ff4j.store.InMemoryFeatureStore) FF4jCacheProxy(org.ff4j.cache.FF4jCacheProxy) Feature(org.ff4j.core.Feature) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 8 with FF4jCacheProxy

use of org.ff4j.cache.FF4jCacheProxy in project ff4j by ff4j.

the class CacheProxyWithPollingTest method testStopCacheProxy.

@Test(expected = IllegalStateException.class)
public void testStopCacheProxy() {
    FF4jCacheProxy proxy = new FF4jCacheProxy();
    proxy.stopPolling();
}
Also used : FF4jCacheProxy(org.ff4j.cache.FF4jCacheProxy) Test(org.junit.Test)

Example 9 with FF4jCacheProxy

use of org.ff4j.cache.FF4jCacheProxy in project ff4j by ff4j.

the class CacheProxyWithPollingTest method testCacheProxyManagerProperty.

@Test
public void testCacheProxyManagerProperty() throws InterruptedException {
    // When
    FeatureStore fs = new InMemoryFeatureStore("ff4j.xml");
    PropertyStore ps = new InMemoryPropertyStore("ff4j.xml");
    FF4JCacheManager cm = new InMemoryCacheManager();
    FF4jCacheProxy proxy = new FF4jCacheProxy(fs, ps, cm);
    // Start polling on 100ms basis
    proxy.startPolling(100);
    proxy.createSchema();
    Thread.sleep(200);
    // When (Remove something)
    fs.delete("AwesomeFeature");
    // Then (Proxy is not yet refresh)
    Assert.assertTrue(proxy.exist("AwesomeFeature"));
    // When (wait for cache refresh)
    Thread.sleep(200);
    // Then (also delete in cache si Cache is refreshed)
    Assert.assertFalse(proxy.exist("AwesomeFeature"));
    Store2CachePollingScheduler scheduler = proxy.getStore2CachePoller();
    scheduler.setInitialDelay(scheduler.getInitialDelay());
    scheduler.setPollingDelay(scheduler.getPollingDelay());
    proxy.stopPolling();
    proxy.setStore2CachePoller(new Store2CachePollingScheduler(fs, ps, cm));
}
Also used : FF4JCacheManager(org.ff4j.cache.FF4JCacheManager) InMemoryPropertyStore(org.ff4j.property.store.InMemoryPropertyStore) InMemoryCacheManager(org.ff4j.cache.InMemoryCacheManager) InMemoryFeatureStore(org.ff4j.store.InMemoryFeatureStore) FF4jCacheProxy(org.ff4j.cache.FF4jCacheProxy) InMemoryFeatureStore(org.ff4j.store.InMemoryFeatureStore) FeatureStore(org.ff4j.core.FeatureStore) Store2CachePollingScheduler(org.ff4j.cache.Store2CachePollingScheduler) InMemoryPropertyStore(org.ff4j.property.store.InMemoryPropertyStore) PropertyStore(org.ff4j.property.store.PropertyStore) Test(org.junit.Test)

Example 10 with FF4jCacheProxy

use of org.ff4j.cache.FF4jCacheProxy in project ff4j by ff4j.

the class InMemoryCacheTest method testExistBis.

@Test
public void testExistBis() {
    FF4jCacheProxy fscp = new FF4jCacheProxy(new InMemoryFeatureStore("ff4j.xml"), null, new InMemoryCacheManager());
    Assert.assertFalse(fscp.exist("toto"));
    Assert.assertFalse(fscp.exist("toto"));
    Assert.assertTrue(fscp.exist("first"));
    Assert.assertTrue(fscp.exist("first"));
}
Also used : InMemoryCacheManager(org.ff4j.cache.InMemoryCacheManager) InMemoryFeatureStore(org.ff4j.store.InMemoryFeatureStore) FF4jCacheProxy(org.ff4j.cache.FF4jCacheProxy) Test(org.junit.Test)

Aggregations

FF4jCacheProxy (org.ff4j.cache.FF4jCacheProxy)21 InMemoryCacheManager (org.ff4j.cache.InMemoryCacheManager)9 Test (org.junit.Test)9 Given (cucumber.api.java.en.Given)5 InMemoryFeatureStore (org.ff4j.store.InMemoryFeatureStore)5 PropertyString (org.ff4j.property.PropertyString)3 InMemoryPropertyStore (org.ff4j.property.store.InMemoryPropertyStore)3 ApiOperation (io.swagger.annotations.ApiOperation)2 ApiResponses (io.swagger.annotations.ApiResponses)2 HashSet (java.util.HashSet)2 POST (javax.ws.rs.POST)2 Path (javax.ws.rs.Path)2 Produces (javax.ws.rs.Produces)2 FF4JCacheManager (org.ff4j.cache.FF4JCacheManager)2 Feature (org.ff4j.core.Feature)2 FeatureStore (org.ff4j.core.FeatureStore)2 Property (org.ff4j.property.Property)2 FileItem (org.apache.commons.fileupload.FileItem)1 DiskFileItemFactory (org.apache.commons.fileupload.disk.DiskFileItemFactory)1 ServletFileUpload (org.apache.commons.fileupload.servlet.ServletFileUpload)1