Updated testing dependencies and maven plugins.

This commit is contained in:
Jeremy Wood 2019-01-24 01:00:42 -05:00
parent 01f549f408
commit 4bdeacfd05
11 changed files with 56 additions and 35 deletions

26
pom.xml
View File

@ -79,7 +79,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version> <version>3.7.0</version>
<configuration> <configuration>
<source>1.8</source> <source>1.8</source>
<target>1.8</target> <target>1.8</target>
@ -122,7 +122,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId> <artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version> <version>3.0.0-M3</version>
<configuration> <configuration>
<parallel>methods</parallel> <parallel>methods</parallel>
<threadCount>10</threadCount> <threadCount>10</threadCount>
@ -135,7 +135,7 @@
<dependency> <dependency>
<groupId>org.apache.maven.surefire</groupId> <groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId> <artifactId>surefire-junit47</artifactId>
<version>2.19.1</version> <version>3.0.0-M3</version>
</dependency> </dependency>
</dependencies> </dependencies>
</plugin> </plugin>
@ -379,6 +379,11 @@
<type>jar</type> <type>jar</type>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>de.themoep.idconverter</groupId>
<artifactId>mappings</artifactId>
<version>1.2-SNAPSHOT</version>
</dependency>
<!-- Start of Test Dependencies --> <!-- Start of Test Dependencies -->
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
@ -388,35 +393,30 @@
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId> <artifactId>powermock-module-junit4</artifactId>
<version>1.6.5</version> <version>2.0.0</version>
<type>jar</type> <type>jar</type>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>org.powermock</groupId>
<artifactId>powermock-api-easymock</artifactId> <artifactId>powermock-api-easymock</artifactId>
<version>1.6.5</version> <version>2.0.0</version>
<type>jar</type> <type>jar</type>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId> <artifactId>powermock-api-mockito2</artifactId>
<version>1.6.6</version> <version>2.0.0</version>
<type>jar</type> <type>jar</type>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.easymock</groupId> <groupId>org.easymock</groupId>
<artifactId>easymock</artifactId> <artifactId>easymock</artifactId>
<version>3.4</version> <version>4.0.2</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>de.themoep.idconverter</groupId>
<artifactId>mappings</artifactId>
<version>1.2-SNAPSHOT</version>
</dependency>
<!-- End of Test Dependencies --> <!-- End of Test Dependencies -->
</dependencies> </dependencies>
<distributionManagement> <distributionManagement>

View File

@ -20,6 +20,7 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -32,6 +33,7 @@ import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class) @RunWith(PowerMockRunner.class)
@PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class}) @PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class})
@PowerMockIgnore("javax.script.*")
public class TestDebugMode { public class TestDebugMode {
TestInstanceCreator creator; TestInstanceCreator creator;
Server mockServer; Server mockServer;

View File

@ -3,8 +3,10 @@ package com.onarandombox.MultiverseCore;
import com.onarandombox.MultiverseCore.api.MVWorldManager; import com.onarandombox.MultiverseCore.api.MVWorldManager;
import com.onarandombox.MultiverseCore.api.MultiverseWorld; import com.onarandombox.MultiverseCore.api.MultiverseWorld;
import com.onarandombox.MultiverseCore.listeners.MVEntityListener; import com.onarandombox.MultiverseCore.listeners.MVEntityListener;
import com.onarandombox.MultiverseCore.utils.MockWorldFactory;
import com.onarandombox.MultiverseCore.utils.TestInstanceCreator; import com.onarandombox.MultiverseCore.utils.TestInstanceCreator;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.WorldType;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
@ -18,6 +20,7 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -26,11 +29,13 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import static junit.framework.Assert.assertEquals;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
@RunWith(PowerMockRunner.class) @RunWith(PowerMockRunner.class)
@PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class}) @PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class})
@PowerMockIgnore("javax.script.*")
public class TestEntitySpawnRules { public class TestEntitySpawnRules {
TestInstanceCreator creator; TestInstanceCreator creator;
MultiverseCore core; MultiverseCore core;
@ -53,7 +58,7 @@ public class TestEntitySpawnRules {
listener = core.getEntityListener(); listener = core.getEntityListener();
mvWorld = mock(MultiverseWorld.class); mvWorld = mock(MultiverseWorld.class);
cbworld = mock(World.class); cbworld = MockWorldFactory.makeNewMockWorld("world", World.Environment.NORMAL, WorldType.NORMAL);
when(mvWorld.getCBWorld()).thenReturn(cbworld); when(mvWorld.getCBWorld()).thenReturn(cbworld);
MVWorldManager worldman = mock(MVWorldManager.class); MVWorldManager worldman = mock(MVWorldManager.class);

View File

@ -8,6 +8,7 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -18,6 +19,7 @@ import static org.junit.Assert.*;
@RunWith(PowerMockRunner.class) @RunWith(PowerMockRunner.class)
@PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class}) @PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class})
@PowerMockIgnore("javax.script.*")
public class TestEntryFeeConversion { public class TestEntryFeeConversion {
private TestInstanceCreator creator; private TestInstanceCreator creator;

View File

@ -12,6 +12,7 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -22,6 +23,7 @@ import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class) @RunWith(PowerMockRunner.class)
@PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class }) @PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class })
@PowerMockIgnore("javax.script.*")
public class TestModifyCommand { public class TestModifyCommand {
TestInstanceCreator creator; TestInstanceCreator creator;
Server mockServer; Server mockServer;

View File

@ -45,6 +45,7 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.internal.verification.VerificationModeFactory; import org.mockito.internal.verification.VerificationModeFactory;
import org.powermock.api.mockito.PowerMockito; import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -60,6 +61,7 @@ import static org.mockito.Mockito.*;
WeatherChangeEvent.class, ThunderChangeEvent.class, AsyncPlayerChatEvent.class, WeatherChangeEvent.class, ThunderChangeEvent.class, AsyncPlayerChatEvent.class,
PlayerJoinEvent.class, PlayerRespawnEvent.class, EntityRegainHealthEvent.class, PlayerJoinEvent.class, PlayerRespawnEvent.class, EntityRegainHealthEvent.class,
FoodLevelChangeEvent.class, WorldManager.class, PluginDescriptionFile.class, JavaPluginLoader.class }) FoodLevelChangeEvent.class, WorldManager.class, PluginDescriptionFile.class, JavaPluginLoader.class })
@PowerMockIgnore("javax.script.*")
public class TestWorldProperties { public class TestWorldProperties {
private TestInstanceCreator creator; private TestInstanceCreator creator;
private MultiverseCore core; private MultiverseCore core;

View File

@ -14,6 +14,7 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -24,6 +25,7 @@ import static org.mockito.Mockito.*;
@RunWith(PowerMockRunner.class) @RunWith(PowerMockRunner.class)
@PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class }) @PrepareForTest({ MultiverseCore.class, PluginDescriptionFile.class, JavaPluginLoader.class })
@PowerMockIgnore("javax.script.*")
public class TestWorldPurger { public class TestWorldPurger {
TestInstanceCreator creator; TestInstanceCreator creator;
MultiverseCore core; MultiverseCore core;

View File

@ -28,8 +28,10 @@ import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentMatchers;
import org.mockito.Matchers; import org.mockito.Matchers;
import org.mockito.internal.verification.VerificationModeFactory; import org.mockito.internal.verification.VerificationModeFactory;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.modules.junit4.PowerMockRunner;
@ -41,6 +43,7 @@ import static org.mockito.Mockito.*;
@RunWith(PowerMockRunner.class) @RunWith(PowerMockRunner.class)
@PrepareForTest({ PluginManager.class, MultiverseCore.class, Permission.class, Bukkit.class, WorldManager.class, @PrepareForTest({ PluginManager.class, MultiverseCore.class, Permission.class, Bukkit.class, WorldManager.class,
PluginDescriptionFile.class, JavaPluginLoader.class }) PluginDescriptionFile.class, JavaPluginLoader.class })
@PowerMockIgnore("javax.script.*")
public class TestWorldStuff { public class TestWorldStuff {
private TestInstanceCreator creator; private TestInstanceCreator creator;
@ -170,7 +173,7 @@ public class TestWorldStuff {
verify(mockCommandSender).sendMessage("Complete!"); verify(mockCommandSender).sendMessage("Complete!");
WorldCreatorMatcher matcher = new WorldCreatorMatcher(new WorldCreator("newworld")); WorldCreatorMatcher matcher = new WorldCreatorMatcher(new WorldCreator("newworld"));
verify(mockServer).createWorld(Matchers.argThat(matcher)); verify(mockServer).createWorld(ArgumentMatchers.argThat(matcher));
} }
@Test @Test
@ -233,7 +236,7 @@ public class TestWorldStuff {
verify(mockCommandSender).sendMessage("Complete!"); verify(mockCommandSender).sendMessage("Complete!");
WorldCreatorMatcher matcher = new WorldCreatorMatcher(new WorldCreator("nullworld")); WorldCreatorMatcher matcher = new WorldCreatorMatcher(new WorldCreator("nullworld"));
verify(mockServer).createWorld(Matchers.argThat(matcher)); verify(mockServer).createWorld(ArgumentMatchers.argThat(matcher));
} }
@Test @Test

View File

@ -178,6 +178,7 @@ public class MockWorldFactory {
return mockBlock; return mockBlock;
} }
}); });
when(mockWorld.getUID()).thenReturn(UUID.randomUUID());
return mockWorld; return mockWorld;
} }

View File

@ -27,7 +27,7 @@ import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.JavaPluginLoader; import org.bukkit.plugin.java.JavaPluginLoader;
import org.bukkit.scheduler.BukkitScheduler; import org.bukkit.scheduler.BukkitScheduler;
import org.mockito.Matchers; import org.mockito.ArgumentMatchers;
import org.mockito.invocation.InvocationOnMock; import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer; import org.mockito.stubbing.Answer;
import org.powermock.api.easymock.PowerMock; import org.powermock.api.easymock.PowerMock;
@ -44,11 +44,15 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.anyString; import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.anyBoolean; import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.Mockito.anyLong; import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.*; import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.doAnswer;
public class TestInstanceCreator { public class TestInstanceCreator {
private MultiverseCore core; private MultiverseCore core;
@ -116,8 +120,6 @@ public class TestInstanceCreator {
Util.log("Creating world-folder: " + worldSkylandsFile.getAbsolutePath()); Util.log("Creating world-folder: " + worldSkylandsFile.getAbsolutePath());
worldSkylandsFile.mkdirs(); worldSkylandsFile.mkdirs();
// Give the server some worlds // Give the server some worlds
when(mockServer.getWorld(anyString())).thenAnswer(new Answer<World>() { when(mockServer.getWorld(anyString())).thenAnswer(new Answer<World>() {
@Override @Override
@ -154,7 +156,7 @@ public class TestInstanceCreator {
when(mockServer.getPluginManager()).thenReturn(mockPluginManager); when(mockServer.getPluginManager()).thenReturn(mockPluginManager);
when(mockServer.createWorld(Matchers.isA(WorldCreator.class))).thenAnswer( when(mockServer.createWorld(ArgumentMatchers.isA(WorldCreator.class))).thenAnswer(
new Answer<World>() { new Answer<World>() {
@Override @Override
public World answer(InvocationOnMock invocation) throws Throwable { public World answer(InvocationOnMock invocation) throws Throwable {
@ -254,9 +256,9 @@ public class TestInstanceCreator {
when(commandSender.getServer()).thenReturn(mockServer); when(commandSender.getServer()).thenReturn(mockServer);
when(commandSender.getName()).thenReturn("MockCommandSender"); when(commandSender.getName()).thenReturn("MockCommandSender");
when(commandSender.isPermissionSet(anyString())).thenReturn(true); when(commandSender.isPermissionSet(anyString())).thenReturn(true);
when(commandSender.isPermissionSet(Matchers.isA(Permission.class))).thenReturn(true); when(commandSender.isPermissionSet(ArgumentMatchers.isA(Permission.class))).thenReturn(true);
when(commandSender.hasPermission(anyString())).thenReturn(true); when(commandSender.hasPermission(anyString())).thenReturn(true);
when(commandSender.hasPermission(Matchers.isA(Permission.class))).thenReturn(true); when(commandSender.hasPermission(ArgumentMatchers.isA(Permission.class))).thenReturn(true);
when(commandSender.addAttachment(core)).thenReturn(null); when(commandSender.addAttachment(core)).thenReturn(null);
when(commandSender.isOp()).thenReturn(true); when(commandSender.isOp()).thenReturn(true);

View File

@ -10,7 +10,7 @@ package com.onarandombox.MultiverseCore.utils;
import org.bukkit.WorldCreator; import org.bukkit.WorldCreator;
import org.mockito.ArgumentMatcher; import org.mockito.ArgumentMatcher;
public class WorldCreatorMatcher extends ArgumentMatcher<WorldCreator> { public class WorldCreatorMatcher implements ArgumentMatcher<WorldCreator> {
private WorldCreator worldCreator; private WorldCreator worldCreator;
private boolean careAboutSeeds = false; private boolean careAboutSeeds = false;
private boolean careAboutGenerators = false; private boolean careAboutGenerators = false;
@ -28,23 +28,23 @@ public class WorldCreatorMatcher extends ArgumentMatcher<WorldCreator> {
this.careAboutGenerators = doICare; this.careAboutGenerators = doICare;
} }
public boolean matches(Object creator) { public boolean matches(WorldCreator creator) {
Util.log("Checking world creators."); Util.log("Checking world creators.");
if (creator == null) { if (creator == null) {
Util.log("The given creator was null, but I was checking: " + this.worldCreator.name()); Util.log("The given creator was null, but I was checking: " + this.worldCreator.name());
return false; return false;
} }
Util.log("Checking Names...(" + ((WorldCreator) creator).name() + ") vs (" + this.worldCreator.name() + ")"); Util.log("Checking Names...(" + creator.name() + ") vs (" + this.worldCreator.name() + ")");
Util.log("Checking Envs...(" + ((WorldCreator) creator).environment() + ") vs (" + this.worldCreator.environment() + ")"); Util.log("Checking Envs...(" + creator.environment() + ") vs (" + this.worldCreator.environment() + ")");
if (!((WorldCreator) creator).name().equals(this.worldCreator.name())) { if (!creator.name().equals(this.worldCreator.name())) {
return false; return false;
} else if (!((WorldCreator) creator).environment().equals(this.worldCreator.environment())) { } else if (!creator.environment().equals(this.worldCreator.environment())) {
Util.log("Checking Environments..."); Util.log("Checking Environments...");
return false; return false;
} else if (careAboutSeeds && ((WorldCreator) creator).seed() != this.worldCreator.seed()) { } else if (careAboutSeeds && creator.seed() != this.worldCreator.seed()) {
Util.log("Checking Seeds..."); Util.log("Checking Seeds...");
return false; return false;
} else if (careAboutGenerators && !((WorldCreator) creator).generator().equals(this.worldCreator.generator())) { } else if (careAboutGenerators && !creator.generator().equals(this.worldCreator.generator())) {
Util.log("Checking Gens..."); Util.log("Checking Gens...");
return false; return false;
} }