diff --git a/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java b/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java index a549ab4..291d242 100644 --- a/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java +++ b/src/main/java/xyz/atnrch/nicko/config/DataSourceConfiguration.java @@ -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 + '\'' + + '}'; + } } diff --git a/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCache.java b/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCache.java index 29f4fce..68482e8 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCache.java +++ b/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCache.java @@ -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; } diff --git a/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCacheProvider.java b/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCacheProvider.java index a935fb5..09a486d 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCacheProvider.java +++ b/src/main/java/xyz/atnrch/nicko/storage/redis/RedisCacheProvider.java @@ -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; } diff --git a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java b/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java index 9888efd..7f0ed2d 100644 --- a/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java +++ b/src/main/java/xyz/atnrch/nicko/storage/sql/SQLStorageProvider.java @@ -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(); diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/cache/CacheStorageTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java similarity index 89% rename from src/test/java/xyz/atnrch/nicko/test/storage/cache/CacheStorageTest.java rename to src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java index 1b7af16..035227c 100644 --- a/src/test/java/xyz/atnrch/nicko/test/storage/cache/CacheStorageTest.java +++ b/src/test/java/xyz/atnrch/nicko/test/storage/map/MapCacheTest.java @@ -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); diff --git a/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java b/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java new file mode 100644 index 0000000..37bf788 --- /dev/null +++ b/src/test/java/xyz/atnrch/nicko/test/storage/redis/RedisCacheTest.java @@ -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 optionalProfile = plugin.getDataStore().getData(player.getUniqueId()); + assertTrue(optionalProfile.isPresent()); + assertTrue(plugin.getDataStore().getCache().isCached(player.getUniqueId())); + } + + @AfterAll + public static void shutdown() { + MockBukkit.unmock(); + } +}