use of no.stelar7.api.r4j.basic.cache.CacheLifetimeHint in project L4J8 by stelar7.
the class CacheTest method testCacheStuff.
@Test
@Disabled
public void testCacheStuff() throws InterruptedException {
Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
root.setLevel(Level.INFO);
System.out.println("Fetching summoner for the first time");
DataCall.setCacheProvider(fileCache.get());
String id = new SpectatorBuilder().withPlatform(LeagueShard.EUW1).getFeaturedGames().get(0).getParticipants().get(0).getSummonerName();
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
Thread.sleep(6000);
System.out.println("Fetching summoner after cache timeout");
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
Map<String, Object> data = new TreeMap<>();
data.put("platform", LeagueShard.EUW1);
data.put("name", id);
DataCall.getCacheProvider().clear(URLEndpoint.V4_SUMMONER_BY_NAME, data);
System.out.println("Fetching summoner after deleting entry");
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
CacheLifetimeHint defaults = CacheLifetimeHint.DEFAULTS;
defaults.add(URLEndpoint.V4_SUMMONER_BY_NAME, TimeUnit.SECONDS.toMillis(1));
DataCall.getCacheProvider().setTimeToLive(defaults);
Thread.sleep(1000);
System.out.println("Fetching summoner after setting lifetime to a lower limit");
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
new SummonerBuilder().withPlatform(LeagueShard.EUW1).withName(id).get();
}
Aggregations