1 package com.atlassian.vcache.internal.core.service;
2
3 import com.atlassian.vcache.JvmCache;
4 import com.atlassian.vcache.JvmCacheSettings;
5 import com.atlassian.vcache.internal.test.AbstractJvmCacheTest;
6 import org.junit.Test;
7
8 import java.time.Duration;
9
10 import static org.hamcrest.Matchers.is;
11 import static org.junit.Assert.assertThat;
12
13 public class GuavaJvmCacheTest extends AbstractJvmCacheTest {
14 @Override
15 protected <K, V> JvmCache<K, V> createCache(String name, JvmCacheSettings settings, Duration lockTimeout) {
16 return new GuavaJvmCache<>(name, settings, lockTimeout);
17 }
18
19 @Test
20 public void handle_recursion_supplier() {
21 final JvmCache<String, String> cache = createCache("abc");
22
23 final String result = cache.get("first", () ->
24 cache.get("first", () -> "stupid"));
25
26 assertThat(result, is("stupid"));
27 }
28 }