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() {
|
||||
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;
|
||||
|
||||
public RedisCache(Configuration configuration) {
|
||||
System.out.println("Loaded REDIS CACHE");
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package xyz.atnrch.nicko.storage.redis;
|
||||
|
||||
import xyz.atnrch.nicko.config.Configuration;
|
||||
import xyz.atnrch.nicko.config.DataSourceConfiguration;
|
||||
import xyz.atnrch.nicko.storage.CacheProvider;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
|
@ -15,9 +16,10 @@ public class RedisCacheProvider implements CacheProvider {
|
|||
|
||||
@Override
|
||||
public boolean init() {
|
||||
final DataSourceConfiguration redisConfiguration = configuration.getRedisConfiguration();
|
||||
pool = new JedisPool(
|
||||
configuration.getRedisConfiguration().getAddress(),
|
||||
configuration.getRedisConfiguration().getPort()
|
||||
redisConfiguration.getAddress(),
|
||||
redisConfiguration.getPort()
|
||||
);
|
||||
return !pool.isClosed() && pool.getResource() != null;
|
||||
}
|
||||
|
|
|
@ -26,10 +26,10 @@ public class SQLStorageProvider implements StorageProvider {
|
|||
public boolean init() {
|
||||
try {
|
||||
final MariaDbDataSource dataSource = new MariaDbDataSource();
|
||||
final DataSourceConfiguration dataSourceConfiguration = configuration.getSqlConfiguration();
|
||||
dataSource.setUrl("jdbc:mariadb://" + dataSourceConfiguration.getAddress() + ":" + dataSourceConfiguration.getPort());
|
||||
dataSource.setUser(dataSourceConfiguration.getUsername());
|
||||
dataSource.setPassword(dataSourceConfiguration.getPassword());
|
||||
final DataSourceConfiguration sqlConfiguration = configuration.getSqlConfiguration();
|
||||
dataSource.setUrl("jdbc:mariadb://" + sqlConfiguration.getAddress() + ":" + sqlConfiguration.getPort());
|
||||
dataSource.setUser(sqlConfiguration.getUsername());
|
||||
dataSource.setPassword(sqlConfiguration.getPassword());
|
||||
connection = dataSource.getConnection();
|
||||
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.ServerMock;
|
||||
|
@ -16,7 +16,7 @@ import java.util.Optional;
|
|||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
public class CacheStorageTest {
|
||||
public class MapCacheTest {
|
||||
private static ServerMock server;
|
||||
private static NickoBukkit plugin;
|
||||
private static PlayerMock player;
|
||||
|
@ -24,7 +24,7 @@ public class CacheStorageTest {
|
|||
@BeforeAll
|
||||
public static void setup() {
|
||||
final Configuration config = new Configuration(
|
||||
new DataSourceConfiguration(false, "127.0.0.1", 3306, "root", "12345"),
|
||||
DataSourceConfiguration.SQL_EMPTY,
|
||||
DataSourceConfiguration.REDIS_EMPTY,
|
||||
"",
|
||||
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