Minor: change bukkit service to return a plain collection of Player
- List is read-only and can be easily "upcast" to Collection<Player> - Remove awkward hack that was needed for mocking the method previously (issues with generics)
This commit is contained in:
parent
81cf14fbc1
commit
fc06558687
@ -23,7 +23,7 @@ public class VersionCommand implements ExecutableCommand {
|
|||||||
sender.sendMessage(ChatColor.GOLD + "Version: " + ChatColor.WHITE + AuthMe.getPluginName()
|
sender.sendMessage(ChatColor.GOLD + "Version: " + ChatColor.WHITE + AuthMe.getPluginName()
|
||||||
+ " v" + AuthMe.getPluginVersion() + ChatColor.GRAY + " (build: " + AuthMe.getPluginBuildNumber() + ")");
|
+ " v" + AuthMe.getPluginVersion() + ChatColor.GRAY + " (build: " + AuthMe.getPluginBuildNumber() + ")");
|
||||||
sender.sendMessage(ChatColor.GOLD + "Developers:");
|
sender.sendMessage(ChatColor.GOLD + "Developers:");
|
||||||
Collection<? extends Player> onlinePlayers = bukkitService.getOnlinePlayers();
|
Collection<Player> onlinePlayers = bukkitService.getOnlinePlayers();
|
||||||
printDeveloper(sender, "Alexandre Vanhecke", "xephi59", "Original Author", onlinePlayers);
|
printDeveloper(sender, "Alexandre Vanhecke", "xephi59", "Original Author", onlinePlayers);
|
||||||
printDeveloper(sender, "Lucas J.", "ljacqu", "Main Developer", onlinePlayers);
|
printDeveloper(sender, "Lucas J.", "ljacqu", "Main Developer", onlinePlayers);
|
||||||
printDeveloper(sender, "Gnat008", "gnat008", "Developer", onlinePlayers);
|
printDeveloper(sender, "Gnat008", "gnat008", "Developer", onlinePlayers);
|
||||||
@ -49,7 +49,7 @@ public class VersionCommand implements ExecutableCommand {
|
|||||||
* @param onlinePlayers The list of online players
|
* @param onlinePlayers The list of online players
|
||||||
*/
|
*/
|
||||||
private static void printDeveloper(CommandSender sender, String name, String minecraftName, String function,
|
private static void printDeveloper(CommandSender sender, String name, String minecraftName, String function,
|
||||||
Collection<? extends Player> onlinePlayers) {
|
Collection<Player> onlinePlayers) {
|
||||||
// Print the name
|
// Print the name
|
||||||
StringBuilder msg = new StringBuilder();
|
StringBuilder msg = new StringBuilder();
|
||||||
msg.append(" ")
|
msg.append(" ")
|
||||||
@ -77,7 +77,7 @@ public class VersionCommand implements ExecutableCommand {
|
|||||||
*
|
*
|
||||||
* @return True if the player is online, false otherwise
|
* @return True if the player is online, false otherwise
|
||||||
*/
|
*/
|
||||||
private static boolean isPlayerOnline(String minecraftName, Collection<? extends Player> onlinePlayers) {
|
private static boolean isPlayerOnline(String minecraftName, Collection<Player> onlinePlayers) {
|
||||||
for (Player player : onlinePlayers) {
|
for (Player player : onlinePlayers) {
|
||||||
if (player.getName().equalsIgnoreCase(minecraftName)) {
|
if (player.getName().equalsIgnoreCase(minecraftName)) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -128,7 +128,7 @@ public class OnJoinVerifier implements Reloadable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Server is full and player is VIP; attempt to kick a non-VIP player to make room
|
// Server is full and player is VIP; attempt to kick a non-VIP player to make room
|
||||||
Collection<? extends Player> onlinePlayers = bukkitService.getOnlinePlayers();
|
Collection<Player> onlinePlayers = bukkitService.getOnlinePlayers();
|
||||||
if (onlinePlayers.size() < server.getMaxPlayers()) {
|
if (onlinePlayers.size() < server.getMaxPlayers()) {
|
||||||
event.allow();
|
event.allow();
|
||||||
return false;
|
return false;
|
||||||
@ -207,7 +207,7 @@ public class OnJoinVerifier implements Reloadable {
|
|||||||
*
|
*
|
||||||
* @return the player to kick, or null if none applicable
|
* @return the player to kick, or null if none applicable
|
||||||
*/
|
*/
|
||||||
private Player generateKickPlayer(Collection<? extends Player> onlinePlayers) {
|
private Player generateKickPlayer(Collection<Player> onlinePlayers) {
|
||||||
for (Player player : onlinePlayers) {
|
for (Player player : onlinePlayers) {
|
||||||
if (!permissionsManager.hasPermission(player, PlayerStatePermission.IS_VIP)) {
|
if (!permissionsManager.hasPermission(player, PlayerStatePermission.IS_VIP)) {
|
||||||
return player;
|
return player;
|
||||||
|
|||||||
@ -233,8 +233,9 @@ public class BukkitService implements SettingsDependent {
|
|||||||
*
|
*
|
||||||
* @return collection of online players
|
* @return collection of online players
|
||||||
*/
|
*/
|
||||||
public Collection<? extends Player> getOnlinePlayers() {
|
@SuppressWarnings("unchecked")
|
||||||
return Bukkit.getOnlinePlayers();
|
public Collection<Player> getOnlinePlayers() {
|
||||||
|
return (Collection<Player>) Bukkit.getOnlinePlayers();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -33,7 +33,6 @@ import java.util.Arrays;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static fr.xephi.authme.service.BukkitServiceTestHelper.returnGivenOnlinePlayers;
|
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
@ -123,7 +122,7 @@ public class OnJoinVerifierTest {
|
|||||||
List<Player> onlinePlayers = Arrays.asList(mock(Player.class), mock(Player.class));
|
List<Player> onlinePlayers = Arrays.asList(mock(Player.class), mock(Player.class));
|
||||||
given(permissionsManager.hasPermission(onlinePlayers.get(0), PlayerStatePermission.IS_VIP)).willReturn(true);
|
given(permissionsManager.hasPermission(onlinePlayers.get(0), PlayerStatePermission.IS_VIP)).willReturn(true);
|
||||||
given(permissionsManager.hasPermission(onlinePlayers.get(1), PlayerStatePermission.IS_VIP)).willReturn(false);
|
given(permissionsManager.hasPermission(onlinePlayers.get(1), PlayerStatePermission.IS_VIP)).willReturn(false);
|
||||||
returnGivenOnlinePlayers(bukkitService, onlinePlayers);
|
given(bukkitService.getOnlinePlayers()).willReturn(onlinePlayers);
|
||||||
given(server.getMaxPlayers()).willReturn(onlinePlayers.size());
|
given(server.getMaxPlayers()).willReturn(onlinePlayers.size());
|
||||||
given(messages.retrieveSingle(player, MessageKey.KICK_FOR_VIP)).willReturn("kick for vip");
|
given(messages.retrieveSingle(player, MessageKey.KICK_FOR_VIP)).willReturn("kick for vip");
|
||||||
|
|
||||||
@ -147,7 +146,7 @@ public class OnJoinVerifierTest {
|
|||||||
given(permissionsManager.hasPermission(player, PlayerStatePermission.IS_VIP)).willReturn(true);
|
given(permissionsManager.hasPermission(player, PlayerStatePermission.IS_VIP)).willReturn(true);
|
||||||
List<Player> onlinePlayers = Collections.singletonList(mock(Player.class));
|
List<Player> onlinePlayers = Collections.singletonList(mock(Player.class));
|
||||||
given(permissionsManager.hasPermission(onlinePlayers.get(0), PlayerStatePermission.IS_VIP)).willReturn(true);
|
given(permissionsManager.hasPermission(onlinePlayers.get(0), PlayerStatePermission.IS_VIP)).willReturn(true);
|
||||||
returnGivenOnlinePlayers(bukkitService, onlinePlayers);
|
given(bukkitService.getOnlinePlayers()).willReturn(onlinePlayers);
|
||||||
given(server.getMaxPlayers()).willReturn(onlinePlayers.size());
|
given(server.getMaxPlayers()).willReturn(onlinePlayers.size());
|
||||||
given(messages.retrieveSingle(player, MessageKey.KICK_FULL_SERVER)).willReturn("kick full server");
|
given(messages.retrieveSingle(player, MessageKey.KICK_FULL_SERVER)).willReturn("kick full server");
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,6 @@ import org.mockito.stubbing.Answer;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static fr.xephi.authme.service.BukkitServiceTestHelper.returnGivenOnlinePlayers;
|
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
@ -266,7 +265,7 @@ public class AsynchronousLoginTest {
|
|||||||
TestHelper.mockPlayerIp(playerF, "3.3.3.3");
|
TestHelper.mockPlayerIp(playerF, "3.3.3.3");
|
||||||
|
|
||||||
List<Player> onlinePlayers = Arrays.asList(playerA, playerB, playerC, playerD, playerE, playerF);
|
List<Player> onlinePlayers = Arrays.asList(playerA, playerB, playerC, playerD, playerE, playerF);
|
||||||
returnGivenOnlinePlayers(bukkitService, onlinePlayers);
|
given(bukkitService.getOnlinePlayers()).willReturn(onlinePlayers);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,7 +19,6 @@ import org.mockito.Mock;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static fr.xephi.authme.service.BukkitServiceTestHelper.returnGivenOnlinePlayers;
|
|
||||||
import static fr.xephi.authme.service.BukkitServiceTestHelper.setBukkitServiceToScheduleSyncDelayedTaskWithDelay;
|
import static fr.xephi.authme.service.BukkitServiceTestHelper.setBukkitServiceToScheduleSyncDelayedTaskWithDelay;
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
@ -158,7 +157,7 @@ public class AntiBotServiceTest {
|
|||||||
public void shouldInformPlayersOnActivation() {
|
public void shouldInformPlayersOnActivation() {
|
||||||
// given - listening antibot
|
// given - listening antibot
|
||||||
List<Player> players = Arrays.asList(mock(Player.class), mock(Player.class));
|
List<Player> players = Arrays.asList(mock(Player.class), mock(Player.class));
|
||||||
returnGivenOnlinePlayers(bukkitService, players);
|
given(bukkitService.getOnlinePlayers()).willReturn(players);
|
||||||
given(permissionsManager.hasPermission(players.get(0), AdminPermission.ANTIBOT_MESSAGES)).willReturn(false);
|
given(permissionsManager.hasPermission(players.get(0), AdminPermission.ANTIBOT_MESSAGES)).willReturn(false);
|
||||||
given(permissionsManager.hasPermission(players.get(1), AdminPermission.ANTIBOT_MESSAGES)).willReturn(true);
|
given(permissionsManager.hasPermission(players.get(1), AdminPermission.ANTIBOT_MESSAGES)).willReturn(true);
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,7 @@
|
|||||||
package fr.xephi.authme.service;
|
package fr.xephi.authme.service;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyLong;
|
import static org.mockito.ArgumentMatchers.anyLong;
|
||||||
import static org.mockito.BDDMockito.given;
|
|
||||||
import static org.mockito.Mockito.doAnswer;
|
import static org.mockito.Mockito.doAnswer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -86,17 +81,4 @@ public final class BukkitServiceTestHelper {
|
|||||||
return null;
|
return null;
|
||||||
}).when(bukkitService).scheduleSyncDelayedTask(any(Runnable.class), anyLong());
|
}).when(bukkitService).scheduleSyncDelayedTask(any(Runnable.class), anyLong());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets a BukkitService mock to return the given players when its method
|
|
||||||
* {@link BukkitService#getOnlinePlayers()} is invoked.
|
|
||||||
*
|
|
||||||
* @param bukkitService the mock to set behavior on
|
|
||||||
* @param players the players to return
|
|
||||||
*/
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public static void returnGivenOnlinePlayers(BukkitService bukkitService, Collection<Player> players) {
|
|
||||||
// The compiler gets lost in generics because Collection<? extends Player> is returned from getOnlinePlayers()
|
|
||||||
given(bukkitService.getOnlinePlayers()).willReturn((Collection) players);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,15 +26,12 @@ import java.nio.file.Files;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static fr.xephi.authme.service.BukkitServiceTestHelper.returnGivenOnlinePlayers;
|
|
||||||
import static org.hamcrest.Matchers.contains;
|
import static org.hamcrest.Matchers.contains;
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.hamcrest.Matchers.hasSize;
|
import static org.hamcrest.Matchers.hasSize;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
import static org.mockito.BDDMockito.given;
|
import static org.mockito.BDDMockito.given;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.only;
|
|
||||||
import static org.mockito.Mockito.verify;
|
|
||||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -115,7 +112,7 @@ public class WelcomeMessageConfigurationTest {
|
|||||||
// given
|
// given
|
||||||
String welcomeMessage = "{ONLINE}/{MAXPLAYERS} online\n{LOGINS} logged in\nYour world is {WORLD}\nServer: {VERSION}";
|
String welcomeMessage = "{ONLINE}/{MAXPLAYERS} online\n{LOGINS} logged in\nYour world is {WORLD}\nServer: {VERSION}";
|
||||||
setWelcomeMessageAndReload(welcomeMessage);
|
setWelcomeMessageAndReload(welcomeMessage);
|
||||||
returnGivenOnlinePlayers(bukkitService, Arrays.asList(mock(Player.class), mock(Player.class)));
|
given(bukkitService.getOnlinePlayers()).willReturn(Arrays.asList(mock(Player.class), mock(Player.class)));
|
||||||
given(server.getMaxPlayers()).willReturn(20);
|
given(server.getMaxPlayers()).willReturn(20);
|
||||||
given(playerCache.getLogged()).willReturn(1);
|
given(playerCache.getLogged()).willReturn(1);
|
||||||
given(server.getBukkitVersion()).willReturn("Bukkit-456.77.8");
|
given(server.getBukkitVersion()).willReturn("Bukkit-456.77.8");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user