Minor - code householding (tests)
- Remove redundant uses of WrapperMock - Use assertThat() from JUnit, not hamcrest - Use hamcrest Matchers everywhere (not BaseMatchers etc.) - Favor Mockito's argThat() over using ArgumentCaptor (more succinct) - Delete useless test classes
This commit is contained in:
@@ -14,8 +14,8 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static fr.xephi.authme.TestHelper.runInnerRunnable;
|
||||
import static org.hamcrest.CoreMatchers.containsString;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Mockito.mock;
|
||||
@@ -81,7 +81,7 @@ public class AccountsCommandTest {
|
||||
// given
|
||||
List<String> arguments = Collections.singletonList("SomeUser");
|
||||
given(dataSource.getAuth("someuser")).willReturn(mock(PlayerAuth.class));
|
||||
given(dataSource.getAllAuthsByIp(anyString())).willReturn(Collections.<String> emptyList());
|
||||
given(dataSource.getAllAuthsByIp(anyString())).willReturn(Collections.<String>emptyList());
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, arguments, service);
|
||||
@@ -115,7 +115,7 @@ public class AccountsCommandTest {
|
||||
public void shouldReturnIpUnknown() {
|
||||
// given
|
||||
List<String> arguments = Collections.singletonList("123.45.67.89");
|
||||
given(dataSource.getAllAuthsByIp("123.45.67.89")).willReturn(Collections.<String> emptyList());
|
||||
given(dataSource.getAllAuthsByIp("123.45.67.89")).willReturn(Collections.<String>emptyList());
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, arguments, service);
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.containsString;
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
|
||||
@@ -6,14 +6,13 @@ import fr.xephi.authme.settings.SpawnLoader;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.argThat;
|
||||
import static org.mockito.Mockito.atLeastOnce;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
@@ -36,7 +35,7 @@ public class FirstSpawnCommandTest {
|
||||
ExecutableCommand command = new FirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(player).teleport(firstSpawn);
|
||||
@@ -54,12 +53,10 @@ public class FirstSpawnCommandTest {
|
||||
ExecutableCommand command = new FirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
|
||||
verify(player).sendMessage(captor.capture());
|
||||
assertThat(captor.getValue(), containsString("spawn has failed"));
|
||||
verify(player).sendMessage(argThat(containsString("spawn has failed")));
|
||||
verify(player, never()).teleport(any(Location.class));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,12 @@ import fr.xephi.authme.datasource.DataSource;
|
||||
import fr.xephi.authme.output.MessageKey;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.junit.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.argThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
@@ -61,8 +60,6 @@ public class GetEmailCommandTest {
|
||||
command.executeCommand(sender, Collections.singletonList(user), service);
|
||||
|
||||
// then
|
||||
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
|
||||
verify(sender).sendMessage(captor.capture());
|
||||
assertThat(captor.getValue(), containsString(email));
|
||||
verify(sender).sendMessage(argThat(containsString(email)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ public class LastLoginCommandTest {
|
||||
ExecutableCommand command = new LastLoginCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(dataSource).getAuth(name);
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ public class PurgeLastPositionCommandTest {
|
||||
ExecutableCommand command = new PurgeLastPositionCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(dataSource).getAuth(player);
|
||||
|
||||
@@ -37,7 +37,7 @@ public class ReloadCommandTest {
|
||||
ExecutableCommand command = new ReloadCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(authMe).reload();
|
||||
@@ -55,7 +55,7 @@ public class ReloadCommandTest {
|
||||
ExecutableCommand command = new ReloadCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(sender, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(authMe).reload();
|
||||
|
||||
+2
-2
@@ -35,7 +35,7 @@ public class SetFirstSpawnCommandTest {
|
||||
ExecutableCommand command = new SetFirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(spawnLoader).setFirstSpawn(location);
|
||||
@@ -57,7 +57,7 @@ public class SetFirstSpawnCommandTest {
|
||||
ExecutableCommand command = new SetFirstSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(spawnLoader).setFirstSpawn(location);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class SetSpawnCommandTest {
|
||||
ExecutableCommand command = new SetSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(spawnLoader).setSpawn(location);
|
||||
@@ -57,7 +57,7 @@ public class SetSpawnCommandTest {
|
||||
ExecutableCommand command = new SetSpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(spawnLoader).setSpawn(location);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class SpawnCommandTest {
|
||||
ExecutableCommand command = new SpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(player).teleport(spawn);
|
||||
@@ -53,7 +53,7 @@ public class SpawnCommandTest {
|
||||
ExecutableCommand command = new SpawnCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.<String> emptyList(), service);
|
||||
command.executeCommand(player, Collections.<String>emptyList(), service);
|
||||
|
||||
// then
|
||||
verify(player).sendMessage(argThat(containsString("Spawn has failed")));
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
package fr.xephi.authme.command.executable.captcha;
|
||||
|
||||
import fr.xephi.authme.AuthMe;
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.output.MessageKey;
|
||||
import fr.xephi.authme.output.Messages;
|
||||
import fr.xephi.authme.settings.properties.SecuritySettings;
|
||||
import fr.xephi.authme.util.WrapperMock;
|
||||
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.mockito.Mockito;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
/**
|
||||
* Test for {@link CaptchaCommand}.
|
||||
*/
|
||||
public class CaptchaCommandTest {
|
||||
|
||||
private WrapperMock wrapperMock;
|
||||
private CommandService commandService;
|
||||
|
||||
@Before
|
||||
public void setUpWrapperMock() {
|
||||
wrapperMock = WrapperMock.createInstance();
|
||||
commandService = mock(CommandService.class);
|
||||
given(commandService.getProperty(SecuritySettings.USE_CAPTCHA)).willReturn(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldRejectNonPlayerSender() {
|
||||
// given
|
||||
CommandSender sender = Mockito.mock(BlockCommandSender.class);
|
||||
ExecutableCommand command = new CaptchaCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
|
||||
// then
|
||||
assertThat(wrapperMock.wasMockCalled(AuthMe.class), equalTo(false));
|
||||
assertThat(wrapperMock.wasMockCalled(Messages.class), equalTo(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldRejectIfCaptchaIsNotUsed() {
|
||||
// given
|
||||
Player player = mockPlayerWithName("testplayer");
|
||||
ExecutableCommand command = new CaptchaCommand();
|
||||
given(commandService.getProperty(SecuritySettings.USE_CAPTCHA)).willReturn(false);
|
||||
|
||||
// when
|
||||
command.executeCommand(player, Collections.singletonList("1234"), commandService);
|
||||
|
||||
// then
|
||||
verify(commandService).send(player, MessageKey.USAGE_LOGIN);
|
||||
}
|
||||
|
||||
private static Player mockPlayerWithName(String name) {
|
||||
Player player = Mockito.mock(Player.class);
|
||||
when(player.getName()).thenReturn(name);
|
||||
return player;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.argThat;
|
||||
import static org.mockito.Mockito.any;
|
||||
|
||||
@@ -3,7 +3,6 @@ package fr.xephi.authme.command.executable.email;
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.process.Management;
|
||||
import fr.xephi.authme.settings.NewSetting;
|
||||
import fr.xephi.authme.util.WrapperMock;
|
||||
import org.bukkit.command.BlockCommandSender;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -29,7 +28,6 @@ public class AddEmailCommandTest {
|
||||
@Before
|
||||
public void setUpMocks() {
|
||||
commandService = mock(CommandService.class);
|
||||
WrapperMock.createInstance();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package fr.xephi.authme.command.executable.email;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.util.WrapperMock;
|
||||
import org.bukkit.command.BlockCommandSender;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
/**
|
||||
* Test for {@link RecoverEmailCommand}.
|
||||
*/
|
||||
public class RecoverEmailCommandTest {
|
||||
|
||||
@Before
|
||||
public void setUpMocks() {
|
||||
WrapperMock wrapper = WrapperMock.createInstance();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void shouldRejectNonPlayerSender() {
|
||||
// given
|
||||
CommandSender sender = Mockito.mock(BlockCommandSender.class);
|
||||
RecoverEmailCommand command = new RecoverEmailCommand();
|
||||
|
||||
// when
|
||||
command.executeCommand(sender, new ArrayList<String>(), mock(CommandService.class));
|
||||
|
||||
// then
|
||||
}
|
||||
|
||||
// TODO ljacqu 20151121: Expand tests. This command doesn't use a scheduler and has all of its
|
||||
// logic inside here.
|
||||
}
|
||||
@@ -2,22 +2,20 @@ package fr.xephi.authme.command.executable.login;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.process.Management;
|
||||
import fr.xephi.authme.settings.Settings;
|
||||
import fr.xephi.authme.util.WrapperMock;
|
||||
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.mockito.ArgumentCaptor;
|
||||
import org.mockito.Mockito;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
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;
|
||||
@@ -26,17 +24,12 @@ import static org.mockito.Mockito.verify;
|
||||
/**
|
||||
* Test for {@link LoginCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class LoginCommandTest {
|
||||
|
||||
@Mock
|
||||
private CommandService commandService;
|
||||
|
||||
@Before
|
||||
public void initializeAuthMeMock() {
|
||||
WrapperMock.createInstance();
|
||||
Settings.captchaLength = 10;
|
||||
commandService = mock(CommandService.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldStopIfSenderIsNotAPlayer() {
|
||||
// given
|
||||
@@ -47,10 +40,8 @@ public class LoginCommandTest {
|
||||
command.executeCommand(sender, new ArrayList<String>(), commandService);
|
||||
|
||||
// then
|
||||
Mockito.verify(commandService, never()).getManagement();
|
||||
ArgumentCaptor<String> messageCaptor = ArgumentCaptor.forClass(String.class);
|
||||
verify(sender).sendMessage(messageCaptor.capture());
|
||||
assertThat(messageCaptor.getValue(), containsString("only for players"));
|
||||
verify(commandService, never()).getManagement();
|
||||
verify(sender).sendMessage(argThat(containsString("only for players")));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -65,7 +56,7 @@ public class LoginCommandTest {
|
||||
command.executeCommand(sender, Collections.singletonList("password"), commandService);
|
||||
|
||||
// then
|
||||
Mockito.verify(management).performLogin(eq(sender), eq("password"), eq(false));
|
||||
verify(management).performLogin(eq(sender), eq("password"), eq(false));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,21 +2,18 @@ package fr.xephi.authme.command.executable.logout;
|
||||
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.process.Management;
|
||||
import fr.xephi.authme.settings.Settings;
|
||||
import fr.xephi.authme.util.WrapperMock;
|
||||
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.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
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;
|
||||
@@ -30,8 +27,6 @@ public class LogoutCommandTest {
|
||||
|
||||
@Before
|
||||
public void initializeAuthMeMock() {
|
||||
WrapperMock.createInstance();
|
||||
Settings.captchaLength = 10;
|
||||
commandService = mock(CommandService.class);
|
||||
}
|
||||
|
||||
@@ -46,9 +41,7 @@ public class LogoutCommandTest {
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
ArgumentCaptor<String> messageCaptor = ArgumentCaptor.forClass(String.class);
|
||||
verify(sender).sendMessage(messageCaptor.capture());
|
||||
assertThat(messageCaptor.getValue(), containsString("only for players"));
|
||||
verify(sender).sendMessage(argThat(containsString("only for players")));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -10,14 +10,13 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.hamcrest.Matchers.containsString;
|
||||
import static org.junit.Assert.assertThat;
|
||||
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;
|
||||
@@ -47,9 +46,7 @@ public class RegisterCommandTest {
|
||||
|
||||
// then
|
||||
verify(commandService, never()).getManagement();
|
||||
ArgumentCaptor<String> messageCaptor = ArgumentCaptor.forClass(String.class);
|
||||
verify(sender).sendMessage(messageCaptor.capture());
|
||||
assertThat(messageCaptor.getValue(), containsString("Player only!"));
|
||||
verify(sender).sendMessage(argThat(containsString("Player only!")));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user