diff --git a/common/src/test/java/net/william278/husksync/DummyHuskSync.java b/common/src/test/java/net/william278/husksync/DummyHuskSync.java new file mode 100644 index 00000000..55795174 --- /dev/null +++ b/common/src/test/java/net/william278/husksync/DummyHuskSync.java @@ -0,0 +1,115 @@ +package net.william278.husksync; + +import net.william278.desertwell.Version; +import net.william278.husksync.config.Locales; +import net.william278.husksync.config.Settings; +import net.william278.husksync.data.DataAdapter; +import net.william278.husksync.database.Database; +import net.william278.husksync.event.EventCannon; +import net.william278.husksync.migrator.Migrator; +import net.william278.husksync.player.OnlineUser; +import net.william278.husksync.redis.RedisManager; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.io.InputStream; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.logging.Level; + +public class DummyHuskSync implements HuskSync { + @Override + @NotNull + public Set getOnlineUsers() { + return Set.of(); + } + + @Override + @NotNull + public Optional getOnlineUser(@NotNull UUID uuid) { + return Optional.empty(); + } + + @Override + @NotNull + public Database getDatabase() { + throw new UnsupportedOperationException(); + } + + @Override + @NotNull + public RedisManager getRedisManager() { + throw new UnsupportedOperationException(); + } + + @Override + @NotNull + public DataAdapter getDataAdapter() { + throw new UnsupportedOperationException(); + } + + @Override + @NotNull + public EventCannon getEventCannon() { + throw new UnsupportedOperationException(); + } + + @Override + @NotNull + public List getAvailableMigrators() { + return List.of(); + } + + @Override + @NotNull + public Settings getSettings() { + return new Settings(); + } + + @Override + @NotNull + public Locales getLocales() { + return new Locales(); + } + + @Override + public InputStream getResource(@NotNull String name) { + throw new UnsupportedOperationException(); + } + + @Override + public void log(@NotNull Level level, @NotNull String message, @NotNull Throwable... throwable) { + System.out.println(message); + } + + @Override + @NotNull + public Version getPluginVersion() { + return Version.fromString("1.0.0"); + } + + @Override + @NotNull + public File getDataFolder() { + return new File("."); + } + + @Override + @NotNull + public Version getMinecraftVersion() { + return Version.fromString("1.16.2"); + } + + @Override + public CompletableFuture reload() { + return CompletableFuture.supplyAsync(() -> true); + } + + @Override + public Set getLockedPlayers() { + return Set.of(); + } +} diff --git a/common/src/test/java/net/william278/husksync/data/DataAdaptionTests.java b/common/src/test/java/net/william278/husksync/data/DataAdaptionTests.java index 0f7b3b8d..f40d4725 100644 --- a/common/src/test/java/net/william278/husksync/data/DataAdaptionTests.java +++ b/common/src/test/java/net/william278/husksync/data/DataAdaptionTests.java @@ -1,7 +1,6 @@ package net.william278.husksync.data; -import net.william278.husksync.config.Settings; -import net.william278.husksync.logger.DummyLogger; +import net.william278.husksync.DummyHuskSync; import net.william278.husksync.player.DummyPlayer; import net.william278.husksync.player.OnlineUser; import org.junit.jupiter.api.Assertions; @@ -19,7 +18,7 @@ public class DataAdaptionTests { @Test public void testJsonDataAdapter() { final OnlineUser dummyUser = DummyPlayer.create(); - dummyUser.getUserData(new DummyLogger(), new Settings()).join().ifPresent(dummyUserData -> { + dummyUser.getUserData(new DummyHuskSync()).join().ifPresent(dummyUserData -> { final DataAdapter dataAdapter = new JsonDataAdapter(); final byte[] data = dataAdapter.toBytes(dummyUserData); final UserData deserializedUserData = dataAdapter.fromBytes(data); @@ -37,7 +36,7 @@ public class DataAdaptionTests { final OnlineUser dummyUser = DummyPlayer.create(); final String expectedJson = "{\"status\":{\"health\":20.0,\"max_health\":20.0,\"health_scale\":0.0,\"hunger\":20,\"saturation\":5.0,\"saturation_exhaustion\":5.0,\"selected_item_slot\":1,\"total_experience\":100,\"experience_level\":1,\"experience_progress\":1.0,\"game_mode\":\"SURVIVAL\",\"is_flying\":false},\"inventory\":{\"serialized_items\":\"\"},\"ender_chest\":{\"serialized_items\":\"\"},\"potion_effects\":{\"serialized_potion_effects\":\"\"},\"advancements\":[],\"statistics\":{\"untyped_statistics\":{},\"block_statistics\":{},\"item_statistics\":{},\"entity_statistics\":{}},\"minecraft_version\":\"1.19\",\"format_version\":3}"; AtomicReference json = new AtomicReference<>(); - dummyUser.getUserData(new DummyLogger(), new Settings()).join().ifPresent(dummyUserData -> { + dummyUser.getUserData(new DummyHuskSync()).join().ifPresent(dummyUserData -> { final DataAdapter dataAdapter = new JsonDataAdapter(); final byte[] data = dataAdapter.toBytes(dummyUserData); json.set(new String(data, StandardCharsets.UTF_8)); @@ -48,7 +47,7 @@ public class DataAdaptionTests { @Test public void testCompressedDataAdapter() { final OnlineUser dummyUser = DummyPlayer.create(); - dummyUser.getUserData(new DummyLogger(), new Settings()).join().ifPresent(dummyUserData -> { + dummyUser.getUserData(new DummyHuskSync()).join().ifPresent(dummyUserData -> { final DataAdapter dataAdapter = new CompressedDataAdapter(); final byte[] data = dataAdapter.toBytes(dummyUserData); final UserData deserializedUserData = dataAdapter.fromBytes(data); diff --git a/common/src/test/java/net/william278/husksync/logger/DummyLogger.java b/common/src/test/java/net/william278/husksync/logger/DummyLogger.java deleted file mode 100644 index f1ea2c31..00000000 --- a/common/src/test/java/net/william278/husksync/logger/DummyLogger.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.william278.husksync.logger; - -import net.william278.husksync.util.Logger; -import org.jetbrains.annotations.NotNull; - -import java.util.logging.Level; - -public class DummyLogger extends Logger { - - public DummyLogger() { - } - - @Override - public void log(@NotNull Level level, @NotNull String message, @NotNull Throwable e) { - System.out.println(level.getName() + ": " + message); - e.printStackTrace(); - } - - @Override - public void log(@NotNull Level level, @NotNull String message) { - System.out.println(level.getName() + ": " + message); - } - - @Override - public void info(@NotNull String message) { - System.out.println(Level.INFO.getName() + ": " + message); - } - - @Override - public void severe(@NotNull String message) { - System.out.println(Level.SEVERE.getName() + ": " + message); - } - - @Override - public void config(@NotNull String message) { - System.out.println(Level.CONFIG.getName() + ": " + message); - } -} diff --git a/common/src/test/java/net/william278/husksync/player/DummyPlayer.java b/common/src/test/java/net/william278/husksync/player/DummyPlayer.java index 847f77d0..895dbb0c 100644 --- a/common/src/test/java/net/william278/husksync/player/DummyPlayer.java +++ b/common/src/test/java/net/william278/husksync/player/DummyPlayer.java @@ -171,4 +171,9 @@ public class DummyPlayer extends OnlineUser { return false; } + @Override + public boolean isNpc() { + return false; + } + }