Search in sources :

Example 1 with CacheManager

use of org.kie.internal.runtime.manager.CacheManager in project jbpm by kiegroup.

the class CacheManagerImplTest method testDispose.

@Test
public void testDispose() throws Exception {
    CacheManager cacheManager = new CacheManagerImpl();
    Cacheable cacheable = mock(Cacheable.class);
    Cacheable otherCacheable = mock(Cacheable.class);
    Object cached = new Object();
    cacheManager.add("cacheable", cacheable);
    cacheManager.add("other_cacheable", otherCacheable);
    cacheManager.add("cached", cached);
    // verify that objects have been added correctly
    assertEquals(cacheable, cacheManager.get("cacheable"));
    assertEquals(otherCacheable, cacheManager.get("other_cacheable"));
    assertEquals(cached, cacheManager.get("cached"));
    cacheManager.dispose();
    // cache should be empty after dispose
    assertNull(cacheManager.get("cacheable"));
    assertNull(cacheManager.get("other_cacheable"));
    assertNull(cacheManager.get("cached"));
    // close() method has been called on cached objects which implement Cacheable
    verify(cacheable).close();
    verify(otherCacheable).close();
}
Also used : Cacheable(org.kie.internal.runtime.Cacheable) CacheManager(org.kie.internal.runtime.manager.CacheManager) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)1 Cacheable (org.kie.internal.runtime.Cacheable)1 CacheManager (org.kie.internal.runtime.manager.CacheManager)1