mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-09-29 23:57:28 +02:00
Mocking is better than implementing Mock-classes
This commit is contained in:
parent
32ccfe3458
commit
4b53a8dfea
@ -1,213 +0,0 @@
|
|||||||
/******************************************************************************
|
|
||||||
* Multiverse 2 Copyright (c) the Multiverse Team 2011. *
|
|
||||||
* Multiverse 2 is licensed under the BSD License. *
|
|
||||||
* For more information please check the README.md file included *
|
|
||||||
* with this project. *
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
package com.onarandombox.MultiverseCore.test.utils;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Server;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.permissions.Permission;
|
|
||||||
import org.bukkit.permissions.PermissionAttachment;
|
|
||||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
public class TestCommandSender implements CommandSender {
|
|
||||||
|
|
||||||
private Server server;
|
|
||||||
private boolean isOp;
|
|
||||||
|
|
||||||
static {
|
|
||||||
Logger.getLogger("CommandSender").setParent(Util.logger);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger("CommandSender");
|
|
||||||
|
|
||||||
public TestCommandSender(Server server) {
|
|
||||||
this.server = server;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends this sender a message
|
|
||||||
*
|
|
||||||
* @param message Message to be displayed
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void sendMessage(String message) {
|
|
||||||
logger.info(ChatColor.stripColor(message));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the server instance that this command is running on
|
|
||||||
*
|
|
||||||
* @return Server instance
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Server getServer() {
|
|
||||||
return this.server;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the name of this command sender
|
|
||||||
*
|
|
||||||
* @return Name of the sender
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public String getName() {
|
|
||||||
return "CONSOLE";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if this object contains an override for the specified permission, by fully qualified name
|
|
||||||
*
|
|
||||||
* @param name Name of the permission
|
|
||||||
* @return true if the permission is set, otherwise false
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isPermissionSet(String name) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if this object contains an override for the specified {@link org.bukkit.permissions.Permission}
|
|
||||||
*
|
|
||||||
* @param perm Permission to check
|
|
||||||
* @return true if the permission is set, otherwise false
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isPermissionSet(Permission perm) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the value of the specified permission, if set.
|
|
||||||
* <p>
|
|
||||||
* If a permission override is not set on this object, the default value of the permission will be returned.
|
|
||||||
*
|
|
||||||
* @param name Name of the permission
|
|
||||||
* @return Value of the permission
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean hasPermission(String name) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the value of the specified permission, if set.
|
|
||||||
* <p>
|
|
||||||
* If a permission override is not set on this object, the default value of the permission will be returned
|
|
||||||
*
|
|
||||||
* @param perm Permission to get
|
|
||||||
* @return Value of the permission
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean hasPermission(Permission perm) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a new {@link org.bukkit.permissions.PermissionAttachment} with a single permission by name and value
|
|
||||||
*
|
|
||||||
* @param plugin Plugin responsible for this attachment, may not be null or disabled
|
|
||||||
* @param name Name of the permission to attach
|
|
||||||
* @param value Value of the permission
|
|
||||||
* @return The PermissionAttachment that was just created
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a new empty {@link org.bukkit.permissions.PermissionAttachment} to this object
|
|
||||||
*
|
|
||||||
* @param plugin Plugin responsible for this attachment, may not be null or disabled
|
|
||||||
* @return The PermissionAttachment that was just created
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PermissionAttachment addAttachment(Plugin plugin) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Temporarily adds a new {@link org.bukkit.permissions.PermissionAttachment} with a single permission by name and
|
|
||||||
* value
|
|
||||||
*
|
|
||||||
* @param plugin Plugin responsible for this attachment, may not be null or disabled
|
|
||||||
* @param name Name of the permission to attach
|
|
||||||
* @param value Value of the permission
|
|
||||||
* @param ticks Amount of ticks to automatically remove this attachment after
|
|
||||||
* @return The PermissionAttachment that was just created
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Temporarily adds a new empty {@link org.bukkit.permissions.PermissionAttachment} to this object
|
|
||||||
*
|
|
||||||
* @param plugin Plugin responsible for this attachment, may not be null or disabled
|
|
||||||
* @param ticks Amount of ticks to automatically remove this attachment after
|
|
||||||
* @return The PermissionAttachment that was just created
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes the given {@link org.bukkit.permissions.PermissionAttachment} from this object
|
|
||||||
*
|
|
||||||
* @param attachment Attachment to remove
|
|
||||||
* @throws IllegalArgumentException Thrown when the specified attachment isn't part of this object
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void removeAttachment(PermissionAttachment attachment) {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Recalculates the permissions for this object, if the attachments have changed values.
|
|
||||||
* <p>
|
|
||||||
* This should very rarely need to be called from a plugin.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void recalculatePermissions() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a set containing all of the permissions currently in effect by this object
|
|
||||||
*
|
|
||||||
* @return Set of currently effective permissions
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Set<PermissionAttachmentInfo> getEffectivePermissions() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if this object is a server operator
|
|
||||||
*
|
|
||||||
* @return true if this is an operator, otherwise false
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isOp() {
|
|
||||||
return this.isOp;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the operator status of this object
|
|
||||||
*
|
|
||||||
* @param value New operator value
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void setOp(boolean value) {
|
|
||||||
this.isOp = value;
|
|
||||||
}
|
|
||||||
}
|
|
@ -20,10 +20,12 @@ import java.util.logging.Logger;
|
|||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.WorldCreator;
|
import org.bukkit.WorldCreator;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.permissions.Permission;
|
||||||
import org.bukkit.plugin.PluginDescriptionFile;
|
import org.bukkit.plugin.PluginDescriptionFile;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
@ -138,7 +140,23 @@ public class TestInstanceCreator {
|
|||||||
worldmanagerfield.set(core, wm);
|
worldmanagerfield.set(core, wm);
|
||||||
|
|
||||||
// Init our command sender
|
// Init our command sender
|
||||||
commandSender = spy(new TestCommandSender(mockServer));
|
final Logger commandSenderLogger = Logger.getLogger("CommandSender");
|
||||||
|
commandSenderLogger.setParent(Util.logger);
|
||||||
|
commandSender = mock(CommandSender.class);
|
||||||
|
doAnswer(new Answer<Void>() {
|
||||||
|
public Void answer(InvocationOnMock invocation) throws Throwable {
|
||||||
|
commandSenderLogger.info(ChatColor.stripColor((String) invocation.getArguments()[0]));
|
||||||
|
return null;
|
||||||
|
}}).when(commandSender).sendMessage(anyString());
|
||||||
|
when(commandSender.getServer()).thenReturn(mockServer);
|
||||||
|
when(commandSender.getName()).thenReturn("MockCommandSender");
|
||||||
|
when(commandSender.isPermissionSet(anyString())).thenReturn(true);
|
||||||
|
when(commandSender.isPermissionSet(Matchers.isA(Permission.class))).thenReturn(true);
|
||||||
|
when(commandSender.hasPermission(anyString())).thenReturn(true);
|
||||||
|
when(commandSender.hasPermission(Matchers.isA(Permission.class))).thenReturn(true);
|
||||||
|
when(commandSender.addAttachment(core)).thenReturn(null);
|
||||||
|
when(commandSender.isOp()).thenReturn(true);
|
||||||
|
|
||||||
Bukkit.setServer(mockServer);
|
Bukkit.setServer(mockServer);
|
||||||
|
|
||||||
// Load Multiverse Core
|
// Load Multiverse Core
|
||||||
|
Loading…
Reference in New Issue
Block a user