#739 Fix command unit tests; adjust default handling

(cherry picked from commit 61c119b)
This commit is contained in:
ljacqu 2016-06-02 23:08:13 +02:00
parent 73272b5931
commit 6d2597a980
4 changed files with 19 additions and 38 deletions

View File

@ -1,7 +1,6 @@
package fr.xephi.authme.permission; package fr.xephi.authme.permission;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.command.CommandDescription;
import fr.xephi.authme.permission.handlers.BPermissionsHandler; import fr.xephi.authme.permission.handlers.BPermissionsHandler;
import fr.xephi.authme.permission.handlers.GroupManagerHandler; import fr.xephi.authme.permission.handlers.GroupManagerHandler;
import fr.xephi.authme.permission.handlers.PermissionHandler; import fr.xephi.authme.permission.handlers.PermissionHandler;
@ -15,8 +14,6 @@ import org.bukkit.Bukkit;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.RegisteredServiceProvider;
@ -186,8 +183,6 @@ public class PermissionsManager {
/** /**
* Reload the permissions manager, and re-hook all permission plugins. * Reload the permissions manager, and re-hook all permission plugins.
*
* @return True on success, false on failure.
*/ */
public void reload() { public void reload() {
// Unhook all permission plugins // Unhook all permission plugins
@ -246,7 +241,7 @@ public class PermissionsManager {
// Return if the player is an Op if sender is console or no permission system in use // Return if the player is an Op if sender is console or no permission system in use
if (!(sender instanceof Player) || !isEnabled()) { if (!(sender instanceof Player) || !isEnabled()) {
return sender.isOp(); return permissionNode.getDefaultPermission().evaluate(sender);
} }
Player player = (Player) sender; Player player = (Player) sender;

View File

@ -1,10 +1,10 @@
package fr.xephi.authme.command; package fr.xephi.authme.command;
import fr.xephi.authme.permission.PermissionNode;
import fr.xephi.authme.permission.PermissionsManager; import fr.xephi.authme.permission.PermissionsManager;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import java.util.List; import java.util.List;
@ -27,13 +27,11 @@ import static org.mockito.Mockito.mock;
/** /**
* Test for {@link CommandMapper}. * Test for {@link CommandMapper}.
*/ */
@Ignore
// TODO Gnat008 20160602: Adjust matcher for null permission
public class CommandMapperTest { public class CommandMapperTest {
private static Set<CommandDescription> commands; private static Set<CommandDescription> commands;
private static CommandMapper mapper; private CommandMapper mapper;
private static PermissionsManager permissionsManager; private PermissionsManager permissionsManager;
@BeforeClass @BeforeClass
public static void setUpCommandHandler() { public static void setUpCommandHandler() {
@ -56,7 +54,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("authme", "login", "test1"); List<String> parts = asList("authme", "login", "test1");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -75,7 +73,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("Authme", "REG", "arg1", "arg2"); List<String> parts = asList("Authme", "REG", "arg1", "arg2");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -93,7 +91,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("authme", "register", "pass123", "pass123", "pass123"); List<String> parts = asList("authme", "register", "pass123", "pass123", "pass123");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -111,7 +109,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("authme", "Reg"); List<String> parts = asList("authme", "Reg");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -129,7 +127,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("authme", "reh", "pass123", "pass123"); List<String> parts = asList("authme", "reh", "pass123", "pass123");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -148,7 +146,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("authme", "asdfawetawty4asdca"); List<String> parts = asList("authme", "asdfawetawty4asdca");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -166,7 +164,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = singletonList("unregister"); List<String> parts = singletonList("unregister");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -184,7 +182,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("bogus", "label1", "arg1"); List<String> parts = asList("bogus", "label1", "arg1");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -209,7 +207,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("Unreg", "player1"); List<String> parts = asList("Unreg", "player1");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -227,7 +225,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("unregistER", "player1", "wrongArg"); List<String> parts = asList("unregistER", "player1", "wrongArg");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -245,7 +243,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("email", "helptest", "arg1"); List<String> parts = asList("email", "helptest", "arg1");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(true); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(true);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);
@ -263,7 +261,7 @@ public class CommandMapperTest {
// given // given
List<String> parts = asList("authme", "login", "test1"); List<String> parts = asList("authme", "login", "test1");
CommandSender sender = mock(CommandSender.class); CommandSender sender = mock(CommandSender.class);
given(permissionsManager.hasPermission(eq(sender), any(CommandDescription.class).getPermission())).willReturn(false); given(permissionsManager.hasPermission(eq(sender), any(PermissionNode.class))).willReturn(false);
// when // when
FoundCommandResult result = mapper.mapPartsToCommand(sender, parts); FoundCommandResult result = mapper.mapPartsToCommand(sender, parts);

View File

@ -255,7 +255,7 @@ public class HelpProviderTest {
public void shouldHandleUnboundFoundCommandResult() { public void shouldHandleUnboundFoundCommandResult() {
// given // given
FoundCommandResult result = new FoundCommandResult(null, Arrays.asList("authme", "test"), FoundCommandResult result = new FoundCommandResult(null, Arrays.asList("authme", "test"),
Collections.<String> emptyList(), 0.0, FoundResultStatus.UNKNOWN_LABEL); Collections.<String>emptyList(), 0.0, FoundResultStatus.UNKNOWN_LABEL);
// when // when
List<String> lines = helpProvider.printHelp(sender, result, ALL_OPTIONS); List<String> lines = helpProvider.printHelp(sender, result, ALL_OPTIONS);
@ -319,7 +319,7 @@ public class HelpProviderTest {
* @return The generated FoundCommandResult object * @return The generated FoundCommandResult object
*/ */
private static FoundCommandResult newFoundResult(CommandDescription command, List<String> labels) { private static FoundCommandResult newFoundResult(CommandDescription command, List<String> labels) {
return new FoundCommandResult(command, labels, Collections.<String> emptyList(), 0.0, FoundResultStatus.SUCCESS); return new FoundCommandResult(command, labels, Collections.<String>emptyList(), 0.0, FoundResultStatus.SUCCESS);
} }
private static String removeColors(String str) { private static String removeColors(String str) {

View File

@ -4,7 +4,6 @@ import org.bukkit.Server;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
@ -19,7 +18,6 @@ import static org.mockito.Mockito.mock;
/** /**
* Test for {@link PermissionsManager}. * Test for {@link PermissionsManager}.
*/ */
// TODO #739: Unignore tests after they pass
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
public class PermissionsManagerTest { public class PermissionsManagerTest {
@ -42,7 +40,7 @@ public class PermissionsManagerTest {
boolean result = permissionsManager.hasPermission(sender, node); boolean result = permissionsManager.hasPermission(sender, node);
// then // then
assertThat(result, equalTo(false)); assertThat(result, equalTo(true));
} }
@Test @Test
@ -60,8 +58,6 @@ public class PermissionsManagerTest {
} }
@Test @Test
@Ignore
// TODO ljacqu 20160601: This test should pass - tested permission node has DefaultPermission.NOT_ALLOWED
public void shouldDenyPermissionEvenForOpCommandSender() { public void shouldDenyPermissionEvenForOpCommandSender() {
// given // given
PermissionNode node = TestPermissions.WORLD_DOMINATION; PermissionNode node = TestPermissions.WORLD_DOMINATION;
@ -76,8 +72,6 @@ public class PermissionsManagerTest {
} }
@Test @Test
@Ignore
// TODO ljacqu 20160601: This test MUST pass! -> tested node has DefaultPermission.ALLOW
public void shouldAllowForNonOpPlayer() { public void shouldAllowForNonOpPlayer() {
// given // given
PermissionNode node = TestPermissions.LOGIN; PermissionNode node = TestPermissions.LOGIN;
@ -118,8 +112,6 @@ public class PermissionsManagerTest {
} }
@Test @Test
@Ignore
// TODO ljacqu 20160601: This should pass -> tested node has DefaultPermission.NOT_ALLOWED so result should be false
public void shouldDenyEvenForOpPlayer() { public void shouldDenyEvenForOpPlayer() {
// given // given
PermissionNode node = TestPermissions.WORLD_DOMINATION; PermissionNode node = TestPermissions.WORLD_DOMINATION;
@ -134,8 +126,6 @@ public class PermissionsManagerTest {
} }
@Test @Test
@Ignore
// TODO ljacqu 20160601: This must pass. null permission => true
public void shouldHandleNullPermissionForCommandSender() { public void shouldHandleNullPermissionForCommandSender() {
// given // given
PermissionNode node = null; PermissionNode node = null;
@ -149,8 +139,6 @@ public class PermissionsManagerTest {
} }
@Test @Test
@Ignore
// TODO ljacqu 20160601: This must pass. null permission => true
public void shouldHandleNullPermissionForPlayer() { public void shouldHandleNullPermissionForPlayer() {
// given // given
PermissionNode node = null; PermissionNode node = null;