From 72fe710b8c603e82b934bc27aada220c745fe7e9 Mon Sep 17 00:00:00 2001 From: ljacqu Date: Tue, 24 Nov 2015 22:21:36 +0100 Subject: [PATCH] Fix UtilsTest, create MessageKeyTest --- src/main/java/fr/xephi/authme/util/Utils.java | 1 + .../xephi/authme/settings/MessageKeyTest.java | 33 +++++++++++++++++++ .../xephi/authme/settings/MessagesTest.java | 22 +++++++++++-- .../java/fr/xephi/authme/util/UtilsTest.java | 4 +++ 4 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 src/test/java/fr/xephi/authme/settings/MessageKeyTest.java diff --git a/src/main/java/fr/xephi/authme/util/Utils.java b/src/main/java/fr/xephi/authme/util/Utils.java index 9803042c1..18a7e2065 100644 --- a/src/main/java/fr/xephi/authme/util/Utils.java +++ b/src/main/java/fr/xephi/authme/util/Utils.java @@ -34,6 +34,7 @@ public final class Utils { static { plugin = AuthMe.getInstance(); + wrapper = new Wrapper(plugin); initializeOnlinePlayersIsCollectionField(); } diff --git a/src/test/java/fr/xephi/authme/settings/MessageKeyTest.java b/src/test/java/fr/xephi/authme/settings/MessageKeyTest.java new file mode 100644 index 000000000..2eab88aa8 --- /dev/null +++ b/src/test/java/fr/xephi/authme/settings/MessageKeyTest.java @@ -0,0 +1,33 @@ +package fr.xephi.authme.settings; + +import fr.xephi.authme.util.StringUtils; +import org.junit.Test; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.fail; + +/** + * Test for {@link MessageKey}. + */ +public class MessageKeyTest { + + @Test + public void shouldHaveUniqueMessageKeys() { + // given + MessageKey[] messageKeys = MessageKey.values(); + Set keys = new HashSet<>(); + + // when / then + for (MessageKey messageKey : messageKeys) { + String key = messageKey.getKey(); + if (keys.contains(key)) { + fail("Found key '" + messageKey.getKey() + "' twice!"); + } else if (StringUtils.isEmpty(key)) { + fail("Key for message key '" + messageKey + "' is empty"); + } + keys.add(key); + } + } +} diff --git a/src/test/java/fr/xephi/authme/settings/MessagesTest.java b/src/test/java/fr/xephi/authme/settings/MessagesTest.java index 3d4f138ec..842019f29 100644 --- a/src/test/java/fr/xephi/authme/settings/MessagesTest.java +++ b/src/test/java/fr/xephi/authme/settings/MessagesTest.java @@ -7,22 +7,38 @@ import org.junit.Before; import org.junit.Test; import java.io.File; +import java.net.URL; + +import static java.util.Arrays.asList; /** * Test for {@link Messages}. */ public class MessagesTest { + private static final String YML_TEST_FILE = "messages_test.yml"; + private Messages messages; + @Before public void setUpMessages() { AuthMe authMe = AuthMeMockUtil.mockAuthMeInstance(); AuthMeMockUtil.insertMockWrapperInstance(ConsoleLogger.class, "wrapper", authMe); - File file = new File("messages_test.yml"); - Messages messages = new Messages(file, "en"); + + Settings.messagesLanguage = "en"; + URL url = getClass().getClassLoader().getResource(YML_TEST_FILE); + if (url == null) { + throw new RuntimeException("File '" + YML_TEST_FILE + "' could not be loaded"); + } + + File file = new File(url.getFile()); + messages = new Messages(file, "en"); } @Test public void shouldLoadMessages() { - + // given + // when + String[] send = messages.send(MessageKey.CAPTCHA_WRONG_ERROR.getKey()); + System.out.println(asList(send)); } } diff --git a/src/test/java/fr/xephi/authme/util/UtilsTest.java b/src/test/java/fr/xephi/authme/util/UtilsTest.java index 97b64184c..f228947f8 100644 --- a/src/test/java/fr/xephi/authme/util/UtilsTest.java +++ b/src/test/java/fr/xephi/authme/util/UtilsTest.java @@ -44,10 +44,14 @@ public class UtilsTest { BukkitScheduler schedulerMock = mock(BukkitScheduler.class); when(serverMock.getScheduler()).thenReturn(schedulerMock); + + when(schedulerMock.runTaskAsynchronously(any(Plugin.class), any(Runnable.class))) .thenReturn(mock(BukkitTask.class)); + System.out.println("Initialized scheduler mock for server mock"); AuthMeMockUtil.insertMockWrapperInstance(Utils.class, "wrapper", (WrapperMock) wrapperMock); + System.out.println("Iniadfk"); permissionsManagerMock = mock(PermissionsManager.class); when(authMeMock.getPermissionsManager()).thenReturn(permissionsManagerMock);