From 8d54557f3d45fac0d92e036b7feb24748df24693 Mon Sep 17 00:00:00 2001 From: ljacqu Date: Mon, 11 Jul 2016 21:09:15 +0200 Subject: [PATCH] Add tests for PlayerDataStorage and LimboCache --- .../cache/backup/PlayerDataStorageTest.java | 26 +++++++++++++++++++ .../authme/cache/limbo/LimboCacheTest.java | 11 ++++++++ 2 files changed, 37 insertions(+) diff --git a/src/test/java/fr/xephi/authme/cache/backup/PlayerDataStorageTest.java b/src/test/java/fr/xephi/authme/cache/backup/PlayerDataStorageTest.java index ec4b79da..236a4e28 100644 --- a/src/test/java/fr/xephi/authme/cache/backup/PlayerDataStorageTest.java +++ b/src/test/java/fr/xephi/authme/cache/backup/PlayerDataStorageTest.java @@ -122,4 +122,30 @@ public class PlayerDataStorageTest { assertThat(playerDataStorage.hasData(player2), equalTo(false)); } + @Test + public void shouldSavePlayerData() { + // given + Player player = mock(Player.class); + UUID uuid = UUID.nameUUIDFromBytes("New player".getBytes()); + given(player.getUniqueId()).willReturn(uuid); + given(permissionsManager.getPrimaryGroup(player)).willReturn("primary-grp"); + given(player.isOp()).willReturn(true); + given(player.getWalkSpeed()).willReturn(1.2f); + given(player.getFlySpeed()).willReturn(0.8f); + given(player.getAllowFlight()).willReturn(true); + + World world = mock(World.class); + given(world.getName()).willReturn("player-world"); + Location location = new Location(world, 0.2, 102.25, -89.28, 3.02f, 90.13f); + given(spawnLoader.getPlayerLocationOrSpawn(player)).willReturn(location); + + // when + playerDataStorage.saveData(player); + + // then + File playerFile = new File(dataFolder, StringUtils.makePath("playerdata", uuid.toString(), "data.json")); + assertThat(playerFile.exists(), equalTo(true)); + // TODO ljacqu 20160711: Check contents of file + } + } diff --git a/src/test/java/fr/xephi/authme/cache/limbo/LimboCacheTest.java b/src/test/java/fr/xephi/authme/cache/limbo/LimboCacheTest.java index 5065275f..7d129271 100644 --- a/src/test/java/fr/xephi/authme/cache/limbo/LimboCacheTest.java +++ b/src/test/java/fr/xephi/authme/cache/limbo/LimboCacheTest.java @@ -188,6 +188,17 @@ public class LimboCacheTest { verify(playerDataStorage).removeData(player); } + @Test + public void shouldReturnIfHasData() { + // given + String name = "tester"; + getCache().put(name, mock(PlayerData.class)); + + // when / then + assertThat(limboCache.hasPlayerData(name), equalTo(true)); + assertThat(limboCache.hasPlayerData("someone_else"), equalTo(false)); + } + @SuppressWarnings("unchecked") private Map getCache() { return (Map) ReflectionTestUtils.getFieldValue(LimboCache.class, limboCache, "cache");