#432 Injector improvements
- Separate FieldInjection from default fallback for no-Inject public no-args constructor classes - Make CommandInitializer a normal, instantiable service - Add various injections instead of fetching through command service
This commit is contained in:
@@ -2,11 +2,13 @@ package fr.xephi.authme.command;
|
||||
|
||||
import fr.xephi.authme.permission.PermissionsManager;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -35,23 +37,24 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link CommandHandler}.
|
||||
*/
|
||||
@SuppressWarnings("ArraysAsListWithZeroOrOneArgument")
|
||||
// Justification: It's more readable to use asList() everywhere in the test when we often generated two lists where one
|
||||
// often consists of only one element, e.g. myMethod(asList("authme"), asList("my", "args"), ...)
|
||||
@SuppressWarnings("ArraysAsListWithZeroOrOneArgument")
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class CommandHandlerTest {
|
||||
|
||||
@InjectMocks
|
||||
private CommandHandler handler;
|
||||
|
||||
@Mock
|
||||
private CommandService serviceMock;
|
||||
|
||||
@Mock
|
||||
private PermissionsManager permissionsManager;
|
||||
|
||||
@Captor
|
||||
private ArgumentCaptor<List<String>> captor;
|
||||
|
||||
@Before
|
||||
public void setUpCommandHandler() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
serviceMock = mock(CommandService.class);
|
||||
handler = new CommandHandler(serviceMock);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldCallMappedCommandWithArgs() {
|
||||
@@ -109,9 +112,7 @@ public class CommandHandlerTest {
|
||||
CommandDescription command = mock(CommandDescription.class);
|
||||
given(serviceMock.mapPartsToCommand(any(CommandSender.class), anyListOf(String.class))).willReturn(
|
||||
new FoundCommandResult(command, asList("unreg"), asList("testPlayer"), 0.0, INCORRECT_ARGUMENTS));
|
||||
PermissionsManager permissionsManager = mock(PermissionsManager.class);
|
||||
given(permissionsManager.hasPermission(sender, command)).willReturn(true);
|
||||
given(serviceMock.getPermissionsManager()).willReturn(permissionsManager);
|
||||
|
||||
// when
|
||||
handler.processCommand(sender, bukkitLabel, bukkitArgs);
|
||||
@@ -135,9 +136,7 @@ public class CommandHandlerTest {
|
||||
CommandDescription command = mock(CommandDescription.class);
|
||||
given(serviceMock.mapPartsToCommand(any(CommandSender.class), anyListOf(String.class))).willReturn(
|
||||
new FoundCommandResult(command, asList("unreg"), asList("testPlayer"), 0.0, INCORRECT_ARGUMENTS));
|
||||
PermissionsManager permissionsManager = mock(PermissionsManager.class);
|
||||
given(permissionsManager.hasPermission(sender, command)).willReturn(false);
|
||||
given(serviceMock.getPermissionsManager()).willReturn(permissionsManager);
|
||||
|
||||
// when
|
||||
handler.processCommand(sender, bukkitLabel, bukkitArgs);
|
||||
|
||||
@@ -43,7 +43,7 @@ public class CommandInitializerTest {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@BeforeClass
|
||||
public static void initializeCommandManager() {
|
||||
public static void initializeCommandCollection() {
|
||||
AuthMeServiceInitializer initializer = mock(AuthMeServiceInitializer.class);
|
||||
when(initializer.newInstance(any(Class.class))).thenAnswer(new Answer<Object>() {
|
||||
@Override
|
||||
@@ -52,8 +52,8 @@ public class CommandInitializerTest {
|
||||
return mock(clazz);
|
||||
}
|
||||
});
|
||||
|
||||
commands = CommandInitializer.buildCommands(initializer);
|
||||
CommandInitializer commandInitializer = new CommandInitializer(initializer);
|
||||
commands = commandInitializer.getCommands();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -41,7 +41,9 @@ public class CommandMapperTest {
|
||||
@Before
|
||||
public void setUpMocks() {
|
||||
permissionsManager = mock(PermissionsManager.class);
|
||||
mapper = new CommandMapper(commands, permissionsManager);
|
||||
CommandInitializer initializer = mock(CommandInitializer.class);
|
||||
given(initializer.getCommands()).willReturn(commands);
|
||||
mapper = new CommandMapper(initializer, permissionsManager);
|
||||
}
|
||||
|
||||
// -----------
|
||||
|
||||
@@ -1,15 +1,9 @@
|
||||
package fr.xephi.authme.command;
|
||||
|
||||
import fr.xephi.authme.AuthMe;
|
||||
import fr.xephi.authme.command.help.HelpProvider;
|
||||
import fr.xephi.authme.hooks.PluginHooks;
|
||||
import fr.xephi.authme.output.MessageKey;
|
||||
import fr.xephi.authme.output.Messages;
|
||||
import fr.xephi.authme.permission.PermissionsManager;
|
||||
import fr.xephi.authme.process.Management;
|
||||
import fr.xephi.authme.security.PasswordSecurity;
|
||||
import fr.xephi.authme.settings.NewSetting;
|
||||
import fr.xephi.authme.settings.SpawnLoader;
|
||||
import fr.xephi.authme.settings.domain.Property;
|
||||
import fr.xephi.authme.settings.properties.SecuritySettings;
|
||||
import fr.xephi.authme.util.BukkitService;
|
||||
@@ -42,24 +36,14 @@ public class CommandServiceTest {
|
||||
@InjectMocks
|
||||
private CommandService commandService;
|
||||
@Mock
|
||||
private AuthMe authMe;
|
||||
@Mock
|
||||
private CommandMapper commandMapper;
|
||||
@Mock
|
||||
private HelpProvider helpProvider;
|
||||
@Mock
|
||||
private Messages messages;
|
||||
@Mock
|
||||
private PasswordSecurity passwordSecurity;
|
||||
@Mock
|
||||
private PermissionsManager permissionsManager;
|
||||
@Mock
|
||||
private NewSetting settings;
|
||||
@Mock
|
||||
private PluginHooks pluginHooks;
|
||||
@Mock
|
||||
private SpawnLoader spawnLoader;
|
||||
@Mock
|
||||
private ValidationService validationService;
|
||||
@Mock
|
||||
private BukkitService bukkitService;
|
||||
@@ -122,29 +106,6 @@ public class CommandServiceTest {
|
||||
assertThat(captor.getAllValues(), equalTo(messages));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnManagementObject() {
|
||||
// given
|
||||
Management management = mock(Management.class);
|
||||
given(authMe.getManagement()).willReturn(management);
|
||||
|
||||
// when
|
||||
Management result = commandService.getManagement();
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(management));
|
||||
verify(authMe).getManagement();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnPermissionsManager() {
|
||||
// given / when
|
||||
PermissionsManager result = commandService.getPermissionsManager();
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(permissionsManager));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldRetrieveMessage() {
|
||||
// given
|
||||
@@ -183,15 +144,6 @@ public class CommandServiceTest {
|
||||
assertThat(result, equalTo(settings));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnAuthMe() {
|
||||
// given/when
|
||||
AuthMe result = commandService.getAuthMe();
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(authMe));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldValidatePassword() {
|
||||
// given
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package fr.xephi.authme.command.executable.authme;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.settings.SpawnLoader;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -21,18 +24,24 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link FirstSpawnCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class FirstSpawnCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private FirstSpawnCommand command;
|
||||
|
||||
@Mock
|
||||
private SpawnLoader spawnLoader;
|
||||
|
||||
@Mock
|
||||
private CommandService service;
|
||||
|
||||
@Test
|
||||
public void shouldTeleportToFirstSpawn() {
|
||||
// given
|
||||
Location firstSpawn = mock(Location.class);
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.getFirstSpawn()).willReturn(firstSpawn);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
Player player = mock(Player.class);
|
||||
ExecutableCommand command = new FirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
@@ -45,12 +54,8 @@ public class FirstSpawnCommandTest {
|
||||
@Test
|
||||
public void shouldHandleMissingFirstSpawn() {
|
||||
// given
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.getFirstSpawn()).willReturn(null);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
Player player = mock(Player.class);
|
||||
ExecutableCommand command = new FirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
+14
-21
@@ -9,6 +9,7 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
@@ -21,8 +22,8 @@ import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Matchers.argThat;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
/**
|
||||
* Test for {@link ForceLoginCommand}.
|
||||
@@ -30,6 +31,15 @@ import static org.mockito.Mockito.verify;
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class ForceLoginCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private ForceLoginCommand command;
|
||||
|
||||
@Mock
|
||||
private Management management;
|
||||
|
||||
@Mock
|
||||
private PermissionsManager permissionsManager;
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@@ -40,7 +50,6 @@ public class ForceLoginCommandTest {
|
||||
Player player = mockPlayer(false, playerName);
|
||||
given(commandService.getPlayer(playerName)).willReturn(player);
|
||||
CommandSender sender = mock(CommandSender.class);
|
||||
ExecutableCommand command = new ForceLoginCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList(playerName), commandService);
|
||||
@@ -48,7 +57,7 @@ public class ForceLoginCommandTest {
|
||||
// then
|
||||
verify(commandService).getPlayer(playerName);
|
||||
verify(sender).sendMessage(argThat(equalTo("Player needs to be online!")));
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -65,7 +74,7 @@ public class ForceLoginCommandTest {
|
||||
// then
|
||||
verify(commandService).getPlayer(playerName);
|
||||
verify(sender).sendMessage(argThat(equalTo("Player needs to be online!")));
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -74,12 +83,8 @@ public class ForceLoginCommandTest {
|
||||
String playerName = "testTest";
|
||||
Player player = mockPlayer(true, playerName);
|
||||
given(commandService.getPlayer(playerName)).willReturn(player);
|
||||
PermissionsManager permissionsManager = mock(PermissionsManager.class);
|
||||
given(permissionsManager.hasPermission(player, PlayerPermission.CAN_LOGIN_BE_FORCED)).willReturn(false);
|
||||
given(commandService.getPermissionsManager()).willReturn(permissionsManager);
|
||||
|
||||
CommandSender sender = mock(CommandSender.class);
|
||||
ExecutableCommand command = new ForceLoginCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList(playerName), commandService);
|
||||
@@ -87,7 +92,7 @@ public class ForceLoginCommandTest {
|
||||
// then
|
||||
verify(commandService).getPlayer(playerName);
|
||||
verify(sender).sendMessage(argThat(containsString("You cannot force login the player")));
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -96,14 +101,8 @@ public class ForceLoginCommandTest {
|
||||
String playerName = "tester23";
|
||||
Player player = mockPlayer(true, playerName);
|
||||
given(commandService.getPlayer(playerName)).willReturn(player);
|
||||
PermissionsManager permissionsManager = mock(PermissionsManager.class);
|
||||
given(permissionsManager.hasPermission(player, PlayerPermission.CAN_LOGIN_BE_FORCED)).willReturn(true);
|
||||
given(commandService.getPermissionsManager()).willReturn(permissionsManager);
|
||||
Management management = mock(Management.class);
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
|
||||
CommandSender sender = mock(CommandSender.class);
|
||||
ExecutableCommand command = new ForceLoginCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList(playerName), commandService);
|
||||
@@ -119,15 +118,9 @@ public class ForceLoginCommandTest {
|
||||
String senderName = "tester23";
|
||||
Player player = mockPlayer(true, senderName);
|
||||
given(commandService.getPlayer(senderName)).willReturn(player);
|
||||
PermissionsManager permissionsManager = mock(PermissionsManager.class);
|
||||
given(permissionsManager.hasPermission(player, PlayerPermission.CAN_LOGIN_BE_FORCED)).willReturn(true);
|
||||
given(commandService.getPermissionsManager()).willReturn(permissionsManager);
|
||||
Management management = mock(Management.class);
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
|
||||
CommandSender sender = mock(CommandSender.class);
|
||||
given(sender.getName()).willReturn(senderName);
|
||||
ExecutableCommand command = new ForceLoginCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), commandService);
|
||||
|
||||
@@ -3,15 +3,17 @@ package fr.xephi.authme.command.executable.authme;
|
||||
import fr.xephi.authme.AuthMe;
|
||||
import fr.xephi.authme.TestHelper;
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.output.MessageKey;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.matches;
|
||||
import static org.mockito.Mockito.doThrow;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -20,8 +22,18 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link ReloadCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class ReloadCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private ReloadCommand command;
|
||||
|
||||
@Mock
|
||||
private AuthMe authMe;
|
||||
|
||||
@Mock
|
||||
private CommandService service;
|
||||
|
||||
@BeforeClass
|
||||
public static void setUpLogger() {
|
||||
TestHelper.setupLogger();
|
||||
@@ -30,11 +42,7 @@ public class ReloadCommandTest {
|
||||
@Test
|
||||
public void shouldReload() throws Exception {
|
||||
// given
|
||||
AuthMe authMe = mock(AuthMe.class);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getAuthMe()).willReturn(authMe);
|
||||
CommandSender sender = mock(CommandSender.class);
|
||||
ExecutableCommand command = new ReloadCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), service);
|
||||
@@ -47,12 +55,8 @@ public class ReloadCommandTest {
|
||||
@Test
|
||||
public void shouldHandleReloadError() throws Exception {
|
||||
// given
|
||||
AuthMe authMe = mock(AuthMe.class);
|
||||
doThrow(IllegalStateException.class).when(authMe).reload();
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getAuthMe()).willReturn(authMe);
|
||||
CommandSender sender = mock(CommandSender.class);
|
||||
ExecutableCommand command = new ReloadCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), service);
|
||||
|
||||
+14
-13
@@ -1,11 +1,14 @@
|
||||
package fr.xephi.authme.command.executable.authme;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.settings.SpawnLoader;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -18,21 +21,25 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link SetFirstSpawnCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class SetFirstSpawnCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private SetFirstSpawnCommand command;
|
||||
|
||||
@Mock
|
||||
private SpawnLoader spawnLoader;
|
||||
|
||||
@Mock
|
||||
private CommandService service;
|
||||
|
||||
@Test
|
||||
public void shouldSetFirstSpawn() {
|
||||
// given
|
||||
Player player = mock(Player.class);
|
||||
Location location = mock(Location.class);
|
||||
given(player.getLocation()).willReturn(location);
|
||||
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.setFirstSpawn(location)).willReturn(true);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
|
||||
ExecutableCommand command = new SetFirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
@@ -48,13 +55,7 @@ public class SetFirstSpawnCommandTest {
|
||||
Player player = mock(Player.class);
|
||||
Location location = mock(Location.class);
|
||||
given(player.getLocation()).willReturn(location);
|
||||
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.setFirstSpawn(location)).willReturn(false);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
|
||||
ExecutableCommand command = new SetFirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package fr.xephi.authme.command.executable.authme;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.settings.SpawnLoader;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -18,21 +21,25 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link SetSpawnCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class SetSpawnCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private SetSpawnCommand command;
|
||||
|
||||
@Mock
|
||||
private SpawnLoader spawnLoader;
|
||||
|
||||
@Mock
|
||||
private CommandService service;
|
||||
|
||||
@Test
|
||||
public void shouldSetSpawn() {
|
||||
// given
|
||||
Player player = mock(Player.class);
|
||||
Location location = mock(Location.class);
|
||||
given(player.getLocation()).willReturn(location);
|
||||
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.setSpawn(location)).willReturn(true);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
|
||||
ExecutableCommand command = new SetSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
@@ -48,13 +55,7 @@ public class SetSpawnCommandTest {
|
||||
Player player = mock(Player.class);
|
||||
Location location = mock(Location.class);
|
||||
given(player.getLocation()).willReturn(location);
|
||||
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.setSpawn(location)).willReturn(false);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
|
||||
ExecutableCommand command = new SetSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package fr.xephi.authme.command.executable.authme;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.settings.SpawnLoader;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -21,18 +24,24 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link SpawnCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class SpawnCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private SpawnCommand command;
|
||||
|
||||
@Mock
|
||||
private SpawnLoader spawnLoader;
|
||||
|
||||
@Mock
|
||||
private CommandService service;
|
||||
|
||||
@Test
|
||||
public void shouldTeleportToSpawn() {
|
||||
// given
|
||||
Location spawn = mock(Location.class);
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.getSpawn()).willReturn(spawn);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
Player player = mock(Player.class);
|
||||
ExecutableCommand command = new SpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
@@ -45,12 +54,8 @@ public class SpawnCommandTest {
|
||||
@Test
|
||||
public void shouldHandleMissingSpawn() {
|
||||
// given
|
||||
SpawnLoader spawnLoader = mock(SpawnLoader.class);
|
||||
given(spawnLoader.getSpawn()).willReturn(null);
|
||||
CommandService service = mock(CommandService.class);
|
||||
given(service.getSpawnLoader()).willReturn(spawnLoader);
|
||||
Player player = mock(Player.class);
|
||||
ExecutableCommand command = new SpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
@@ -16,8 +17,8 @@ import java.util.Arrays;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
/**
|
||||
* Test for {@link AddEmailCommand}.
|
||||
@@ -25,20 +26,25 @@ import static org.mockito.Mockito.verify;
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class AddEmailCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private AddEmailCommand command;
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@Mock
|
||||
private Management management;
|
||||
|
||||
@Test
|
||||
public void shouldRejectNonPlayerSender() {
|
||||
// given
|
||||
CommandSender sender = mock(BlockCommandSender.class);
|
||||
AddEmailCommand command = new AddEmailCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -47,9 +53,6 @@ public class AddEmailCommandTest {
|
||||
Player sender = mock(Player.class);
|
||||
String email = "mail@example";
|
||||
given(commandService.validateEmail(email)).willReturn(true);
|
||||
Management management = mock(Management.class);
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
AddEmailCommand command = new AddEmailCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList(email, email), commandService);
|
||||
@@ -64,13 +67,12 @@ public class AddEmailCommandTest {
|
||||
Player sender = mock(Player.class);
|
||||
String email = "asdfasdf@example.com";
|
||||
given(commandService.validateEmail(email)).willReturn(true);
|
||||
AddEmailCommand command = new AddEmailCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList(email, "wrongConf"), commandService);
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
verify(commandService).send(sender, MessageKey.CONFIRM_EMAIL_MESSAGE);
|
||||
}
|
||||
|
||||
|
||||
+14
-12
@@ -5,49 +5,51 @@ import fr.xephi.authme.process.Management;
|
||||
import org.bukkit.command.BlockCommandSender;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
/**
|
||||
* Test for {@link ChangeEmailCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class ChangeEmailCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private ChangeEmailCommand command;
|
||||
|
||||
@Mock
|
||||
private Management management;
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@Before
|
||||
public void setUpMocks() {
|
||||
commandService = mock(CommandService.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldRejectNonPlayerSender() {
|
||||
// given
|
||||
CommandSender sender = mock(BlockCommandSender.class);
|
||||
ChangeEmailCommand command = new ChangeEmailCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldForwardData() {
|
||||
// given
|
||||
Player sender = mock(Player.class);
|
||||
ChangeEmailCommand command = new ChangeEmailCommand();
|
||||
Management management = mock(Management.class);
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList("new.mail@example.org", "old_mail@example.org"), commandService);
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
@@ -14,12 +15,11 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.argThat;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
/**
|
||||
* Test for {@link LoginCommand}.
|
||||
@@ -27,6 +27,12 @@ import static org.mockito.Mockito.verify;
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class LoginCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private LoginCommand command;
|
||||
|
||||
@Mock
|
||||
private Management management;
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@@ -34,13 +40,12 @@ public class LoginCommandTest {
|
||||
public void shouldStopIfSenderIsNotAPlayer() {
|
||||
// given
|
||||
CommandSender sender = mock(BlockCommandSender.class);
|
||||
LoginCommand command = new LoginCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
verify(sender).sendMessage(argThat(containsString("only for players")));
|
||||
}
|
||||
|
||||
@@ -48,9 +53,6 @@ public class LoginCommandTest {
|
||||
public void shouldCallManagementForPlayerCaller() {
|
||||
// given
|
||||
Player sender = mock(Player.class);
|
||||
LoginCommand command = new LoginCommand();
|
||||
Management management = mock(Management.class);
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList("password"), commandService);
|
||||
|
||||
@@ -7,22 +7,33 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.argThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
/**
|
||||
* Test for {@link LogoutCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class LogoutCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private LogoutCommand command;
|
||||
|
||||
@Mock
|
||||
private Management management;
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@Before
|
||||
@@ -34,13 +45,12 @@ public class LogoutCommandTest {
|
||||
public void shouldStopIfSenderIsNotAPlayer() {
|
||||
// given
|
||||
CommandSender sender = mock(BlockCommandSender.class);
|
||||
LogoutCommand command = new LogoutCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
verifyZeroInteractions(management);
|
||||
verify(sender).sendMessage(argThat(containsString("only for players")));
|
||||
}
|
||||
|
||||
@@ -48,9 +58,6 @@ public class LogoutCommandTest {
|
||||
public void shouldCallManagementForPlayerCaller() {
|
||||
// given
|
||||
Player sender = mock(Player.class);
|
||||
LogoutCommand command = new LogoutCommand();
|
||||
Management management = mock(Management.class);
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList("password"), commandService);
|
||||
|
||||
@@ -2,7 +2,6 @@ package fr.xephi.authme.command.executable.register;
|
||||
|
||||
import fr.xephi.authme.TestHelper;
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.output.MessageKey;
|
||||
import fr.xephi.authme.process.Management;
|
||||
import fr.xephi.authme.security.HashAlgorithm;
|
||||
@@ -19,6 +18,7 @@ import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
@@ -40,10 +40,15 @@ import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class RegisterCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private RegisterCommand command;
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@Mock
|
||||
private Management management;
|
||||
|
||||
@Mock
|
||||
private Player sender;
|
||||
|
||||
@@ -54,7 +59,6 @@ public class RegisterCommandTest {
|
||||
|
||||
@Before
|
||||
public void linkMocksAndProvideSettingDefaults() {
|
||||
given(commandService.getManagement()).willReturn(management);
|
||||
given(commandService.getProperty(SecuritySettings.PASSWORD_HASH)).willReturn(HashAlgorithm.BCRYPT);
|
||||
given(commandService.getProperty(RegistrationSettings.USE_EMAIL_REGISTRATION)).willReturn(false);
|
||||
given(commandService.getProperty(RestrictionSettings.ENABLE_PASSWORD_CONFIRMATION)).willReturn(false);
|
||||
@@ -64,7 +68,6 @@ public class RegisterCommandTest {
|
||||
public void shouldNotRunForNonPlayerSender() {
|
||||
// given
|
||||
CommandSender sender = mock(BlockCommandSender.class);
|
||||
RegisterCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
@@ -78,7 +81,6 @@ public class RegisterCommandTest {
|
||||
public void shouldForwardToManagementForTwoFactor() {
|
||||
// given
|
||||
given(commandService.getProperty(SecuritySettings.PASSWORD_HASH)).willReturn(HashAlgorithm.TWO_FACTOR);
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), commandService);
|
||||
@@ -89,10 +91,7 @@ public class RegisterCommandTest {
|
||||
|
||||
@Test
|
||||
public void shouldReturnErrorForEmptyArguments() {
|
||||
// given
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
// given / when
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), commandService);
|
||||
|
||||
// then
|
||||
@@ -104,7 +103,6 @@ public class RegisterCommandTest {
|
||||
public void shouldReturnErrorForMissingConfirmation() {
|
||||
// given
|
||||
given(commandService.getProperty(RestrictionSettings.ENABLE_PASSWORD_CONFIRMATION)).willReturn(true);
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList("arrrr"), commandService);
|
||||
@@ -119,7 +117,6 @@ public class RegisterCommandTest {
|
||||
// given
|
||||
given(commandService.getProperty(RegistrationSettings.USE_EMAIL_REGISTRATION)).willReturn(true);
|
||||
given(commandService.getProperty(RegistrationSettings.ENABLE_CONFIRM_EMAIL)).willReturn(true);
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList("test@example.org"), commandService);
|
||||
@@ -135,7 +132,6 @@ public class RegisterCommandTest {
|
||||
given(commandService.getProperty(RegistrationSettings.USE_EMAIL_REGISTRATION)).willReturn(true);
|
||||
given(commandService.getProperty(RegistrationSettings.ENABLE_CONFIRM_EMAIL)).willReturn(false);
|
||||
given(commandService.getProperty(EmailSettings.MAIL_ACCOUNT)).willReturn("");
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.singletonList("myMail@example.tld"), commandService);
|
||||
@@ -155,8 +151,6 @@ public class RegisterCommandTest {
|
||||
given(commandService.getProperty(RegistrationSettings.ENABLE_CONFIRM_EMAIL)).willReturn(true);
|
||||
given(commandService.getProperty(EmailSettings.MAIL_ACCOUNT)).willReturn("server@example.com");
|
||||
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList(playerMail, playerMail), commandService);
|
||||
|
||||
@@ -176,8 +170,6 @@ public class RegisterCommandTest {
|
||||
given(commandService.getProperty(RegistrationSettings.ENABLE_CONFIRM_EMAIL)).willReturn(true);
|
||||
given(commandService.getProperty(EmailSettings.MAIL_ACCOUNT)).willReturn("server@example.com");
|
||||
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList(playerMail, "invalid"), commandService);
|
||||
|
||||
@@ -197,7 +189,6 @@ public class RegisterCommandTest {
|
||||
given(commandService.getProperty(RegistrationSettings.USE_EMAIL_REGISTRATION)).willReturn(true);
|
||||
given(commandService.getProperty(RegistrationSettings.ENABLE_CONFIRM_EMAIL)).willReturn(true);
|
||||
given(commandService.getProperty(EmailSettings.MAIL_ACCOUNT)).willReturn("server@example.com");
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList(playerMail, playerMail), commandService);
|
||||
@@ -211,7 +202,6 @@ public class RegisterCommandTest {
|
||||
public void shouldRejectInvalidPasswordConfirmation() {
|
||||
// given
|
||||
given(commandService.getProperty(RestrictionSettings.ENABLE_PASSWORD_CONFIRMATION)).willReturn(true);
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Arrays.asList("myPass", "mypass"), commandService);
|
||||
@@ -223,10 +213,7 @@ public class RegisterCommandTest {
|
||||
|
||||
@Test
|
||||
public void shouldPerformPasswordValidation() {
|
||||
// given
|
||||
ExecutableCommand command = new RegisterCommand();
|
||||
|
||||
// when
|
||||
// given / when
|
||||
command.executeCommand(sender, Collections.singletonList("myPass"), commandService);
|
||||
|
||||
// then
|
||||
|
||||
Reference in New Issue
Block a user