feat(redis): add test for redis cache
This commit is contained in:
parent
17fa5e81e7
commit
318c0ffefd
6 changed files with 71 additions and 9 deletions
|
@ -39,4 +39,15 @@ public class DataSourceConfiguration {
|
||||||
public String getPassword() {
|
public String getPassword() {
|
||||||
return password;
|
return password;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "DataSourceConfiguration{" +
|
||||||
|
"enabled=" + enabled +
|
||||||
|
", address='" + address + '\'' +
|
||||||
|
", port=" + port +
|
||||||
|
", username='" + username + '\'' +
|
||||||
|
", password='" + password + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ public class RedisCache extends Cache {
|
||||||
private RedisCacheProvider provider;
|
private RedisCacheProvider provider;
|
||||||
|
|
||||||
public RedisCache(Configuration configuration) {
|
public RedisCache(Configuration configuration) {
|
||||||
|
System.out.println("Loaded REDIS CACHE");
|
||||||
this.configuration = configuration;
|
this.configuration = configuration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package xyz.atnrch.nicko.storage.redis;
|
package xyz.atnrch.nicko.storage.redis;
|
||||||
|
|
||||||
import xyz.atnrch.nicko.config.Configuration;
|
import xyz.atnrch.nicko.config.Configuration;
|
||||||
|
import xyz.atnrch.nicko.config.DataSourceConfiguration;
|
||||||
import xyz.atnrch.nicko.storage.CacheProvider;
|
import xyz.atnrch.nicko.storage.CacheProvider;
|
||||||
import redis.clients.jedis.Jedis;
|
import redis.clients.jedis.Jedis;
|
||||||
import redis.clients.jedis.JedisPool;
|
import redis.clients.jedis.JedisPool;
|
||||||
|
@ -15,9 +16,10 @@ public class RedisCacheProvider implements CacheProvider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean init() {
|
public boolean init() {
|
||||||
|
final DataSourceConfiguration redisConfiguration = configuration.getRedisConfiguration();
|
||||||
pool = new JedisPool(
|
pool = new JedisPool(
|
||||||
configuration.getRedisConfiguration().getAddress(),
|
redisConfiguration.getAddress(),
|
||||||
configuration.getRedisConfiguration().getPort()
|
redisConfiguration.getPort()
|
||||||
);
|
);
|
||||||
return !pool.isClosed() && pool.getResource() != null;
|
return !pool.isClosed() && pool.getResource() != null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,10 +26,10 @@ public class SQLStorageProvider implements StorageProvider {
|
||||||
public boolean init() {
|
public boolean init() {
|
||||||
try {
|
try {
|
||||||
final MariaDbDataSource dataSource = new MariaDbDataSource();
|
final MariaDbDataSource dataSource = new MariaDbDataSource();
|
||||||
final DataSourceConfiguration dataSourceConfiguration = configuration.getSqlConfiguration();
|
final DataSourceConfiguration sqlConfiguration = configuration.getSqlConfiguration();
|
||||||
dataSource.setUrl("jdbc:mariadb://" + dataSourceConfiguration.getAddress() + ":" + dataSourceConfiguration.getPort());
|
dataSource.setUrl("jdbc:mariadb://" + sqlConfiguration.getAddress() + ":" + sqlConfiguration.getPort());
|
||||||
dataSource.setUser(dataSourceConfiguration.getUsername());
|
dataSource.setUser(sqlConfiguration.getUsername());
|
||||||
dataSource.setPassword(dataSourceConfiguration.getPassword());
|
dataSource.setPassword(sqlConfiguration.getPassword());
|
||||||
connection = dataSource.getConnection();
|
connection = dataSource.getConnection();
|
||||||
final boolean initialized = connection != null && !connection.isClosed();
|
final boolean initialized = connection != null && !connection.isClosed();
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package xyz.atnrch.nicko.test.storage.cache;
|
package xyz.atnrch.nicko.test.storage.map;
|
||||||
|
|
||||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||||
import be.seeseemelk.mockbukkit.ServerMock;
|
import be.seeseemelk.mockbukkit.ServerMock;
|
||||||
|
@ -16,7 +16,7 @@ import java.util.Optional;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
public class CacheStorageTest {
|
public class MapCacheTest {
|
||||||
private static ServerMock server;
|
private static ServerMock server;
|
||||||
private static NickoBukkit plugin;
|
private static NickoBukkit plugin;
|
||||||
private static PlayerMock player;
|
private static PlayerMock player;
|
||||||
|
@ -24,7 +24,7 @@ public class CacheStorageTest {
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void setup() {
|
public static void setup() {
|
||||||
final Configuration config = new Configuration(
|
final Configuration config = new Configuration(
|
||||||
new DataSourceConfiguration(false, "127.0.0.1", 3306, "root", "12345"),
|
DataSourceConfiguration.SQL_EMPTY,
|
||||||
DataSourceConfiguration.REDIS_EMPTY,
|
DataSourceConfiguration.REDIS_EMPTY,
|
||||||
"",
|
"",
|
||||||
false);
|
false);
|
|
@ -0,0 +1,48 @@
|
||||||
|
package xyz.atnrch.nicko.test.storage.redis;
|
||||||
|
|
||||||
|
import be.seeseemelk.mockbukkit.MockBukkit;
|
||||||
|
import be.seeseemelk.mockbukkit.ServerMock;
|
||||||
|
import be.seeseemelk.mockbukkit.entity.PlayerMock;
|
||||||
|
import org.junit.jupiter.api.AfterAll;
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.DisplayName;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import xyz.atnrch.nicko.NickoBukkit;
|
||||||
|
import xyz.atnrch.nicko.config.Configuration;
|
||||||
|
import xyz.atnrch.nicko.config.DataSourceConfiguration;
|
||||||
|
import xyz.atnrch.nicko.disguise.NickoProfile;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
public class RedisCacheTest {
|
||||||
|
private static ServerMock server;
|
||||||
|
private static NickoBukkit plugin;
|
||||||
|
private static PlayerMock player;
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
public static void setup() {
|
||||||
|
final Configuration config = new Configuration(
|
||||||
|
DataSourceConfiguration.SQL_EMPTY,
|
||||||
|
new DataSourceConfiguration(true, "127.0.0.1", 6379, "", ""),
|
||||||
|
"",
|
||||||
|
false);
|
||||||
|
server = MockBukkit.mock();
|
||||||
|
plugin = MockBukkit.load(NickoBukkit.class, config);
|
||||||
|
player = server.addPlayer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Cache Player Data")
|
||||||
|
public void cachePlayerData() {
|
||||||
|
final Optional<NickoProfile> optionalProfile = plugin.getDataStore().getData(player.getUniqueId());
|
||||||
|
assertTrue(optionalProfile.isPresent());
|
||||||
|
assertTrue(plugin.getDataStore().getCache().isCached(player.getUniqueId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterAll
|
||||||
|
public static void shutdown() {
|
||||||
|
MockBukkit.unmock();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue