diff --git a/src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java b/src/main/java/fr/xephi/authme/data/limbo/AuthGroupHandler.java similarity index 87% rename from src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java rename to src/main/java/fr/xephi/authme/data/limbo/AuthGroupHandler.java index 2759b636a..a0eb6adc5 100644 --- a/src/main/java/fr/xephi/authme/permission/AuthGroupHandler.java +++ b/src/main/java/fr/xephi/authme/data/limbo/AuthGroupHandler.java @@ -1,16 +1,14 @@ -package fr.xephi.authme.permission; +package fr.xephi.authme.data.limbo; import fr.xephi.authme.ConsoleLogger; -import fr.xephi.authme.data.limbo.LimboPlayer; -import fr.xephi.authme.data.limbo.LimboService; import fr.xephi.authme.initialization.Reloadable; +import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.PluginSettings; import org.bukkit.entity.Player; import javax.annotation.PostConstruct; import javax.inject.Inject; -import java.util.Optional; /** * Changes the permission group according to the auth status of the player and the configuration. @@ -24,7 +22,7 @@ import java.util.Optional; * exist for the replacement to take place. Furthermore, since some permission groups require that players * be in at least one group, this will mean that the player is not removed from his primary group. */ -public class AuthGroupHandler implements Reloadable { +class AuthGroupHandler implements Reloadable { @Inject private PermissionsManager permissionsManager; @@ -32,9 +30,6 @@ public class AuthGroupHandler implements Reloadable { @Inject private Settings settings; - @Inject - private LimboService limboService; - private String unregisteredGroup; private String registeredGroup; @@ -45,17 +40,15 @@ public class AuthGroupHandler implements Reloadable { * Sets the group of a player by its authentication status. * * @param player the player + * @param limbo the associated limbo player (nullable) * @param groupType the group type */ - public void setGroup(Player player, AuthGroupType groupType) { + void setGroup(Player player, LimboPlayer limbo, AuthGroupType groupType) { if (!useAuthGroups()) { return; } - String primaryGroup = Optional - .ofNullable(limboService.getLimboPlayer(player.getName())) - .map(LimboPlayer::getGroup) - .orElse(""); + String primaryGroup = limbo == null ? "" : limbo.getGroup(); switch (groupType) { // Implementation note: some permission systems don't support players not being in any group, diff --git a/src/main/java/fr/xephi/authme/permission/AuthGroupType.java b/src/main/java/fr/xephi/authme/data/limbo/AuthGroupType.java similarity index 80% rename from src/main/java/fr/xephi/authme/permission/AuthGroupType.java rename to src/main/java/fr/xephi/authme/data/limbo/AuthGroupType.java index dfedf8ee0..501a20d8a 100644 --- a/src/main/java/fr/xephi/authme/permission/AuthGroupType.java +++ b/src/main/java/fr/xephi/authme/data/limbo/AuthGroupType.java @@ -1,9 +1,9 @@ -package fr.xephi.authme.permission; +package fr.xephi.authme.data.limbo; /** * Represents the group type based on the user's auth status. */ -public enum AuthGroupType { +enum AuthGroupType { /** Player does not have an account. */ UNREGISTERED, diff --git a/src/main/java/fr/xephi/authme/data/limbo/LimboService.java b/src/main/java/fr/xephi/authme/data/limbo/LimboService.java index e78ca3139..69f1261a0 100644 --- a/src/main/java/fr/xephi/authme/data/limbo/LimboService.java +++ b/src/main/java/fr/xephi/authme/data/limbo/LimboService.java @@ -34,6 +34,9 @@ public class LimboService { @Inject private LimboPersistence persistence; + @Inject + private AuthGroupHandler authGroupHandler; + LimboService() { } @@ -63,6 +66,8 @@ public class LimboService { taskManager.registerMessageTask(player, limboPlayer, isRegistered); taskManager.registerTimeoutTask(player, limboPlayer); helper.revokeLimboStates(player); + authGroupHandler.setGroup(player, limboPlayer, + isRegistered ? AuthGroupType.REGISTERED_UNAUTHENTICATED : AuthGroupType.UNREGISTERED); entries.put(name, limboPlayer); persistence.saveLimboPlayer(player, limboPlayer); } @@ -91,7 +96,7 @@ public class LimboService { * Restores the limbo data and subsequently deletes the entry. *

* Note that teleportation on the player is performed by {@link fr.xephi.authme.service.TeleportationService} and - * changing the permission group is handled by {@link fr.xephi.authme.permission.AuthGroupHandler}. + * changing the permission group is handled by {@link fr.xephi.authme.data.limbo.AuthGroupHandler}. * * @param player the player whose data should be restored */ @@ -110,6 +115,7 @@ public class LimboService { ConsoleLogger.debug("Restored LimboPlayer stats for `{0}`", lowerName); persistence.removeLimboPlayer(player); } + authGroupHandler.setGroup(player, limbo, AuthGroupType.LOGGED_IN); } /** @@ -119,11 +125,12 @@ public class LimboService { * @param player the player to reset the tasks for */ public void replaceTasksAfterRegistration(Player player) { - getLimboOrLogError(player, "reset tasks") - .ifPresent(limbo -> { - taskManager.registerTimeoutTask(player, limbo); - taskManager.registerMessageTask(player, limbo, true); - }); + Optional limboPlayer = getLimboOrLogError(player, "reset tasks"); + limboPlayer.ifPresent(limbo -> { + taskManager.registerTimeoutTask(player, limbo); + taskManager.registerMessageTask(player, limbo, true); + }); + authGroupHandler.setGroup(player, limboPlayer.orElse(null), AuthGroupType.REGISTERED_UNAUTHENTICATED); } /** diff --git a/src/main/java/fr/xephi/authme/data/limbo/LimboServiceHelper.java b/src/main/java/fr/xephi/authme/data/limbo/LimboServiceHelper.java index 6b3acfcb5..c039752cc 100644 --- a/src/main/java/fr/xephi/authme/data/limbo/LimboServiceHelper.java +++ b/src/main/java/fr/xephi/authme/data/limbo/LimboServiceHelper.java @@ -49,7 +49,7 @@ class LimboServiceHelper { * Removes the data that is saved in a LimboPlayer from the player. *

* Note that teleportation on the player is performed by {@link fr.xephi.authme.service.TeleportationService} and - * changing the permission group is handled by {@link fr.xephi.authme.permission.AuthGroupHandler}. + * changing the permission group is handled by {@link fr.xephi.authme.data.limbo.AuthGroupHandler}. * * @param player the player to set defaults to */ diff --git a/src/main/java/fr/xephi/authme/permission/PermissionsManager.java b/src/main/java/fr/xephi/authme/permission/PermissionsManager.java index aac2f4bba..139179ea7 100644 --- a/src/main/java/fr/xephi/authme/permission/PermissionsManager.java +++ b/src/main/java/fr/xephi/authme/permission/PermissionsManager.java @@ -342,19 +342,20 @@ public class PermissionsManager implements Reloadable { * @param player The player * @param groupNames The name of the groups to add. * - * @return True if succeed, false otherwise. - * False is also returned if this feature isn't supported for the current permissions system. + * @return True if at least one group was removed, false otherwise. + * False is also returned if this feature isn't supported for the current permissions system. */ public boolean removeGroups(Player player, String... groupNames) { // If no permissions system is used, return false - if (!isEnabled()) + if (!isEnabled()) { return false; + } // Add each group to the user - boolean result = true; + boolean result = false; for (String groupName : groupNames) { - if (!handler.removeFromGroup(player, groupName)) { - result = false; + if (!groupName.isEmpty()) { + result |= handler.removeFromGroup(player, groupName); } } diff --git a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java index bd8d2bb9f..8e190d81b 100644 --- a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java +++ b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java @@ -9,7 +9,6 @@ import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.events.ProtectInventoryEvent; import fr.xephi.authme.events.RestoreSessionEvent; import fr.xephi.authme.message.MessageKey; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.permission.PlayerStatePermission; import fr.xephi.authme.process.AsynchronousProcess; import fr.xephi.authme.process.login.AsynchronousLogin; @@ -111,8 +110,6 @@ public class AsynchronousJoin implements AsynchronousProcess { final boolean isAuthAvailable = database.isAuthAvailable(name); if (isAuthAvailable) { - service.setGroup(player, AuthGroupType.REGISTERED_UNAUTHENTICATED); - // Protect inventory if (service.getProperty(PROTECT_INVENTORY_BEFORE_LOGIN)) { ProtectInventoryEvent ev = bukkitService.createAndCallEvent( @@ -129,14 +126,9 @@ public class AsynchronousJoin implements AsynchronousProcess { bukkitService.runTaskOptionallyAsync(() -> asynchronousLogin.forceLogin(player)); return; } - } else { - // Groups logic - service.setGroup(player, AuthGroupType.UNREGISTERED); - + } else if (!service.getProperty(RegistrationSettings.FORCE)) { // Skip if registration is optional - if (!service.getProperty(RegistrationSettings.FORCE)) { - return; - } + return; } final int registrationTimeout = service.getProperty(RestrictionSettings.TIMEOUT) * TICKS_PER_SECOND; diff --git a/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java b/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java index 1e4965d5e..c4178a201 100644 --- a/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java +++ b/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java @@ -6,8 +6,6 @@ import fr.xephi.authme.data.limbo.LimboService; import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.events.LoginEvent; import fr.xephi.authme.events.RestoreInventoryEvent; -import fr.xephi.authme.listener.PlayerListener; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.process.SynchronousProcess; import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.service.BungeeService; @@ -17,7 +15,6 @@ import fr.xephi.authme.service.TeleportationService; import fr.xephi.authme.settings.WelcomeMessageConfiguration; import fr.xephi.authme.settings.commandconfig.CommandManager; import fr.xephi.authme.settings.properties.RegistrationSettings; -import fr.xephi.authme.util.StringUtils; import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffectType; @@ -68,9 +65,8 @@ public class ProcessSyncPlayerLogin implements SynchronousProcess { public void processPlayerLogin(Player player) { final String name = player.getName().toLowerCase(); - - commonService.setGroup(player, AuthGroupType.LOGGED_IN); final LimboPlayer limbo = limboService.getLimboPlayer(name); + // Limbo contains the State of the Player before /login if (limbo != null) { limboService.restoreData(player); diff --git a/src/main/java/fr/xephi/authme/process/logout/ProcessSynchronousPlayerLogout.java b/src/main/java/fr/xephi/authme/process/logout/ProcessSynchronousPlayerLogout.java index 028781587..b5e59c815 100644 --- a/src/main/java/fr/xephi/authme/process/logout/ProcessSynchronousPlayerLogout.java +++ b/src/main/java/fr/xephi/authme/process/logout/ProcessSynchronousPlayerLogout.java @@ -6,7 +6,6 @@ import fr.xephi.authme.data.limbo.LimboService; import fr.xephi.authme.events.LogoutEvent; import fr.xephi.authme.listener.protocollib.ProtocolLibService; import fr.xephi.authme.message.MessageKey; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.process.SynchronousProcess; import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.service.CommonService; @@ -75,7 +74,6 @@ public class ProcessSynchronousPlayerLogout implements SynchronousProcess { // Set player's data to unauthenticated limboService.createLimboPlayer(player, true); - service.setGroup(player, AuthGroupType.REGISTERED_UNAUTHENTICATED); } } diff --git a/src/main/java/fr/xephi/authme/process/register/ProcessSyncEmailRegister.java b/src/main/java/fr/xephi/authme/process/register/ProcessSyncEmailRegister.java index 4e57b973b..b43a85639 100644 --- a/src/main/java/fr/xephi/authme/process/register/ProcessSyncEmailRegister.java +++ b/src/main/java/fr/xephi/authme/process/register/ProcessSyncEmailRegister.java @@ -3,7 +3,6 @@ package fr.xephi.authme.process.register; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.data.limbo.LimboService; import fr.xephi.authme.message.MessageKey; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.process.SynchronousProcess; import fr.xephi.authme.service.CommonService; import fr.xephi.authme.util.PlayerUtils; @@ -24,9 +23,7 @@ public class ProcessSyncEmailRegister implements SynchronousProcess { } public void processEmailRegister(Player player) { - service.setGroup(player, AuthGroupType.REGISTERED_UNAUTHENTICATED); service.send(player, MessageKey.ACCOUNT_NOT_ACTIVATED); - limboService.replaceTasksAfterRegistration(player); player.saveData(); diff --git a/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java b/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java index 173cc0d82..4a5f42db8 100644 --- a/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java +++ b/src/main/java/fr/xephi/authme/process/register/ProcessSyncPasswordRegister.java @@ -3,7 +3,6 @@ package fr.xephi.authme.process.register; import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.data.limbo.LimboService; import fr.xephi.authme.message.MessageKey; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.process.SynchronousProcess; import fr.xephi.authme.service.BungeeService; import fr.xephi.authme.service.CommonService; @@ -48,7 +47,6 @@ public class ProcessSyncPasswordRegister implements SynchronousProcess { } public void processPasswordRegister(Player player) { - service.setGroup(player, AuthGroupType.REGISTERED_UNAUTHENTICATED); service.send(player, MessageKey.REGISTER_SUCCESS); if (!service.getProperty(EmailSettings.MAIL_ACCOUNT).isEmpty()) { diff --git a/src/main/java/fr/xephi/authme/process/unregister/AsynchronousUnregister.java b/src/main/java/fr/xephi/authme/process/unregister/AsynchronousUnregister.java index e5a3a36ea..29f2e7b19 100644 --- a/src/main/java/fr/xephi/authme/process/unregister/AsynchronousUnregister.java +++ b/src/main/java/fr/xephi/authme/process/unregister/AsynchronousUnregister.java @@ -8,8 +8,6 @@ import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.events.UnregisterByAdminEvent; import fr.xephi.authme.events.UnregisterByPlayerEvent; import fr.xephi.authme.message.MessageKey; -import fr.xephi.authme.permission.AuthGroupHandler; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.process.AsynchronousProcess; import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.service.BukkitService; @@ -50,9 +48,6 @@ public class AsynchronousUnregister implements AsynchronousProcess { @Inject private TeleportationService teleportationService; - @Inject - private AuthGroupHandler authGroupHandler; - @Inject private CommandManager commandManager; @@ -123,7 +118,6 @@ public class AsynchronousUnregister implements AsynchronousProcess { applyBlindEffect(player); }); } - authGroupHandler.setGroup(player, AuthGroupType.UNREGISTERED); service.send(player, MessageKey.UNREGISTERED_SUCCESS); } diff --git a/src/main/java/fr/xephi/authme/service/CommonService.java b/src/main/java/fr/xephi/authme/service/CommonService.java index d2381a455..2422b1fa1 100644 --- a/src/main/java/fr/xephi/authme/service/CommonService.java +++ b/src/main/java/fr/xephi/authme/service/CommonService.java @@ -3,8 +3,6 @@ package fr.xephi.authme.service; import ch.jalu.configme.properties.Property; import fr.xephi.authme.message.MessageKey; import fr.xephi.authme.message.Messages; -import fr.xephi.authme.permission.AuthGroupHandler; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.permission.PermissionNode; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.settings.Settings; @@ -27,9 +25,6 @@ public class CommonService { @Inject private PermissionsManager permissionsManager; - @Inject - private AuthGroupHandler authGroupHandler; - CommonService() { } @@ -85,16 +80,4 @@ public class CommonService { public boolean hasPermission(Player player, PermissionNode node) { return permissionsManager.hasPermission(player, node); } - - /** - * Sets the permission group of the given player. - * - * @param player the player to process - * @param group the group to add the player to - */ - // TODO ljacqu 20170304: Move this out of CommonService - public void setGroup(Player player, AuthGroupType group) { - authGroupHandler.setGroup(player, group); - } - } diff --git a/src/test/java/fr/xephi/authme/data/limbo/LimboServiceTest.java b/src/test/java/fr/xephi/authme/data/limbo/LimboServiceTest.java index 740d7a6b8..15c0f8d0e 100644 --- a/src/test/java/fr/xephi/authme/data/limbo/LimboServiceTest.java +++ b/src/test/java/fr/xephi/authme/data/limbo/LimboServiceTest.java @@ -61,6 +61,9 @@ public class LimboServiceTest { @Mock private LimboPersistence limboPersistence; + @Mock + private AuthGroupHandler authGroupHandler; + @BeforeClass public static void initLogger() { TestHelper.setupLogger(); @@ -92,6 +95,7 @@ public class LimboServiceTest { assertThat(limboService.hasLimboPlayer("Bobby"), equalTo(true)); LimboPlayer limbo = limboService.getLimboPlayer("Bobby"); + verify(authGroupHandler).setGroup(player, limbo, AuthGroupType.REGISTERED_UNAUTHENTICATED); assertThat(limbo, not(nullValue())); assertThat(limbo.isOperator(), equalTo(true)); assertThat(limbo.getWalkSpeed(), equalTo(0.3f)); @@ -121,6 +125,7 @@ public class LimboServiceTest { verify(player).setWalkSpeed(0.0f); LimboPlayer limbo = limboService.getLimboPlayer("charles"); + verify(authGroupHandler).setGroup(player, limbo, AuthGroupType.UNREGISTERED); assertThat(limbo, not(nullValue())); assertThat(limbo.isOperator(), equalTo(false)); assertThat(limbo.getWalkSpeed(), equalTo(0.1f)); @@ -143,6 +148,7 @@ public class LimboServiceTest { // then verify(existingLimbo).clearTasks(); LimboPlayer newLimbo = limboService.getLimboPlayer("Carlos"); + verify(authGroupHandler).setGroup(player, newLimbo, AuthGroupType.UNREGISTERED); assertThat(newLimbo, not(nullValue())); assertThat(newLimbo, not(sameInstance(existingLimbo))); } @@ -168,6 +174,7 @@ public class LimboServiceTest { verify(player).setAllowFlight(true); verify(player).setFlySpeed(LimboPlayer.DEFAULT_FLY_SPEED); verify(limbo).clearTasks(); + verify(authGroupHandler).setGroup(player, limbo, AuthGroupType.LOGGED_IN); assertThat(limboService.hasLimboPlayer("John"), equalTo(false)); } @@ -181,6 +188,7 @@ public class LimboServiceTest { // then verify(player, only()).getName(); + verify(authGroupHandler).setGroup(player, null, AuthGroupType.LOGGED_IN); } @Test @@ -197,6 +205,7 @@ public class LimboServiceTest { // then verify(taskManager).registerTimeoutTask(player, limbo); verify(taskManager).registerMessageTask(player, limbo, true); + verify(authGroupHandler).setGroup(player, limbo, AuthGroupType.REGISTERED_UNAUTHENTICATED); } @Test @@ -209,6 +218,7 @@ public class LimboServiceTest { // then verifyZeroInteractions(taskManager); + verify(authGroupHandler).setGroup(player, null, AuthGroupType.REGISTERED_UNAUTHENTICATED); } private static Player newPlayer(String name) { diff --git a/src/test/java/fr/xephi/authme/process/unregister/AsynchronousUnregisterTest.java b/src/test/java/fr/xephi/authme/process/unregister/AsynchronousUnregisterTest.java index 25289adac..06e8f002b 100644 --- a/src/test/java/fr/xephi/authme/process/unregister/AsynchronousUnregisterTest.java +++ b/src/test/java/fr/xephi/authme/process/unregister/AsynchronousUnregisterTest.java @@ -7,8 +7,6 @@ import fr.xephi.authme.data.limbo.LimboService; import fr.xephi.authme.datasource.DataSource; import fr.xephi.authme.events.AbstractUnregisterEvent; import fr.xephi.authme.message.MessageKey; -import fr.xephi.authme.permission.AuthGroupHandler; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.security.PasswordSecurity; import fr.xephi.authme.security.crypts.HashedPassword; import fr.xephi.authme.service.BukkitService; @@ -62,8 +60,6 @@ public class AsynchronousUnregisterTest { @Mock private TeleportationService teleportationService; @Mock - private AuthGroupHandler authGroupHandler; - @Mock private CommandManager commandManager; @BeforeClass @@ -90,7 +86,7 @@ public class AsynchronousUnregisterTest { // then verify(service).send(player, MessageKey.WRONG_PASSWORD); verify(passwordSecurity).comparePassword(userPassword, password, name); - verifyZeroInteractions(dataSource, limboService, authGroupHandler, teleportationService, bukkitService); + verifyZeroInteractions(dataSource, limboService, teleportationService, bukkitService); verify(player, only()).getName(); } @@ -119,7 +115,6 @@ public class AsynchronousUnregisterTest { verify(dataSource).removeAuth(name); verify(playerCache).removePlayer(name); verify(teleportationService).teleportOnJoin(player); - verify(authGroupHandler).setGroup(player, AuthGroupType.UNREGISTERED); verify(bukkitService).scheduleSyncTaskFromOptionallyAsyncTask(any(Runnable.class)); verifyCalledUnregisterEventFor(player); verify(commandManager).runCommandsOnUnregister(player); @@ -150,7 +145,6 @@ public class AsynchronousUnregisterTest { verify(dataSource).removeAuth(name); verify(playerCache).removePlayer(name); verify(teleportationService).teleportOnJoin(player); - verify(authGroupHandler).setGroup(player, AuthGroupType.UNREGISTERED); verify(bukkitService).scheduleSyncTaskFromOptionallyAsyncTask(any(Runnable.class)); verifyCalledUnregisterEventFor(player); verify(commandManager).runCommandsOnUnregister(player); @@ -179,7 +173,6 @@ public class AsynchronousUnregisterTest { verify(passwordSecurity).comparePassword(userPassword, password, name); verify(dataSource).removeAuth(name); verify(playerCache).removePlayer(name); - verify(authGroupHandler).setGroup(player, AuthGroupType.UNREGISTERED); verifyZeroInteractions(teleportationService, limboService); verify(bukkitService, never()).runTask(any(Runnable.class)); verifyCalledUnregisterEventFor(player); @@ -207,7 +200,7 @@ public class AsynchronousUnregisterTest { verify(passwordSecurity).comparePassword(userPassword, password, name); verify(dataSource).removeAuth(name); verify(service).send(player, MessageKey.ERROR); - verifyZeroInteractions(teleportationService, authGroupHandler, bukkitService); + verifyZeroInteractions(teleportationService, bukkitService); } @Test @@ -232,7 +225,7 @@ public class AsynchronousUnregisterTest { verify(passwordSecurity).comparePassword(userPassword, password, name); verify(dataSource).removeAuth(name); verify(playerCache).removePlayer(name); - verifyZeroInteractions(teleportationService, authGroupHandler); + verifyZeroInteractions(teleportationService); verifyCalledUnregisterEventFor(player); } @@ -256,7 +249,6 @@ public class AsynchronousUnregisterTest { verify(dataSource).removeAuth(name); verify(playerCache).removePlayer(name); verify(teleportationService).teleportOnJoin(player); - verify(authGroupHandler).setGroup(player, AuthGroupType.UNREGISTERED); verify(bukkitService).scheduleSyncTaskFromOptionallyAsyncTask(any(Runnable.class)); verifyCalledUnregisterEventFor(player); verify(commandManager).runCommandsOnUnregister(player); @@ -274,7 +266,7 @@ public class AsynchronousUnregisterTest { // then verify(dataSource).removeAuth(name); verify(playerCache).removePlayer(name); - verifyZeroInteractions(authGroupHandler, teleportationService); + verifyZeroInteractions(teleportationService); verifyCalledUnregisterEventFor(null); } @@ -291,7 +283,7 @@ public class AsynchronousUnregisterTest { // then verify(dataSource).removeAuth(name); verify(service).send(initiator, MessageKey.ERROR); - verifyZeroInteractions(playerCache, teleportationService, authGroupHandler, bukkitService); + verifyZeroInteractions(playerCache, teleportationService, bukkitService); } @SuppressWarnings("unchecked") diff --git a/src/test/java/fr/xephi/authme/service/CommonServiceTest.java b/src/test/java/fr/xephi/authme/service/CommonServiceTest.java index ad0b7e73f..87cba2005 100644 --- a/src/test/java/fr/xephi/authme/service/CommonServiceTest.java +++ b/src/test/java/fr/xephi/authme/service/CommonServiceTest.java @@ -2,8 +2,6 @@ package fr.xephi.authme.service; import fr.xephi.authme.message.MessageKey; import fr.xephi.authme.message.Messages; -import fr.xephi.authme.permission.AuthGroupHandler; -import fr.xephi.authme.permission.AuthGroupType; import fr.xephi.authme.permission.PermissionNode; import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.permission.PlayerPermission; @@ -41,9 +39,6 @@ public class CommonServiceTest { @Mock private PermissionsManager permissionsManager; - @Mock - private AuthGroupHandler authGroupHandler; - @Test public void shouldGetProperty() { // given @@ -113,17 +108,4 @@ public class CommonServiceTest { verify(permissionsManager).hasPermission(player, permission); assertThat(result, equalTo(true)); } - - @Test - public void shouldSetPermissionGroup() { - // given - Player player = mock(Player.class); - AuthGroupType type = AuthGroupType.LOGGED_IN; - - // when - commonService.setGroup(player, type); - - // then - verify(authGroupHandler).setGroup(player, type); - } }