|
|
|
@ -18,33 +18,33 @@ package org.springframework.cache; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.UUID; |
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
|
|
|
|
import org.junit.Before; |
|
|
|
|
|
|
|
import org.junit.Test; |
|
|
|
import org.junit.Test; |
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.cache.support.NoOpCacheManager; |
|
|
|
import org.springframework.cache.support.NoOpCacheManager; |
|
|
|
|
|
|
|
|
|
|
|
import static org.junit.Assert.*; |
|
|
|
import static org.junit.Assert.*; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Tests for {@link NoOpCacheManager}. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @author Costin Leau |
|
|
|
|
|
|
|
* @author Stephane Nicoll |
|
|
|
|
|
|
|
*/ |
|
|
|
public class NoOpCacheManagerTests { |
|
|
|
public class NoOpCacheManagerTests { |
|
|
|
|
|
|
|
|
|
|
|
private CacheManager manager; |
|
|
|
private final CacheManager manager = new NoOpCacheManager(); |
|
|
|
|
|
|
|
|
|
|
|
@Before |
|
|
|
|
|
|
|
public void setup() { |
|
|
|
|
|
|
|
manager = new NoOpCacheManager(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testGetCache() throws Exception { |
|
|
|
public void testGetCache() throws Exception { |
|
|
|
Cache cache = manager.getCache("bucket"); |
|
|
|
Cache cache = this.manager.getCache("bucket"); |
|
|
|
assertNotNull(cache); |
|
|
|
assertNotNull(cache); |
|
|
|
assertSame(cache, manager.getCache("bucket")); |
|
|
|
assertSame(cache, this.manager.getCache("bucket")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testNoOpCache() throws Exception { |
|
|
|
public void testNoOpCache() throws Exception { |
|
|
|
String name = UUID.randomUUID().toString(); |
|
|
|
String name = createRandomKey(); |
|
|
|
Cache cache = manager.getCache(name); |
|
|
|
Cache cache = this.manager.getCache(name); |
|
|
|
assertEquals(name, cache.getName()); |
|
|
|
assertEquals(name, cache.getName()); |
|
|
|
Object key = new Object(); |
|
|
|
Object key = new Object(); |
|
|
|
cache.put(key, new Object()); |
|
|
|
cache.put(key, new Object()); |
|
|
|
@ -56,8 +56,37 @@ public class NoOpCacheManagerTests { |
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void testCacheName() throws Exception { |
|
|
|
public void testCacheName() throws Exception { |
|
|
|
String name = "bucket"; |
|
|
|
String name = "bucket"; |
|
|
|
assertFalse(manager.getCacheNames().contains(name)); |
|
|
|
assertFalse(this.manager.getCacheNames().contains(name)); |
|
|
|
manager.getCache(name); |
|
|
|
this.manager.getCache(name); |
|
|
|
assertTrue(manager.getCacheNames().contains(name)); |
|
|
|
assertTrue(this.manager.getCacheNames().contains(name)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testCacheCallable() throws Exception { |
|
|
|
|
|
|
|
String name = createRandomKey(); |
|
|
|
|
|
|
|
Cache cache = this.manager.getCache(name); |
|
|
|
|
|
|
|
Object returnValue = new Object(); |
|
|
|
|
|
|
|
Object value = cache.get(new Object(), () -> returnValue); |
|
|
|
|
|
|
|
assertEquals(returnValue, value); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void testCacheGetCallableFail() { |
|
|
|
|
|
|
|
Cache cache = this.manager.getCache(createRandomKey()); |
|
|
|
|
|
|
|
String key = createRandomKey(); |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
cache.get(key, () -> { |
|
|
|
|
|
|
|
throw new UnsupportedOperationException("Expected exception"); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
catch (Cache.ValueRetrievalException ex) { |
|
|
|
|
|
|
|
assertNotNull(ex.getCause()); |
|
|
|
|
|
|
|
assertEquals(UnsupportedOperationException.class, ex.getCause().getClass()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String createRandomKey() { |
|
|
|
|
|
|
|
return UUID.randomUUID().toString(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|