Remove useless packages
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
package fr.xephi.authme.service;
|
||||
|
||||
import com.maxmind.geoip.Country;
|
||||
import com.maxmind.geoip.LookupService;
|
||||
import fr.xephi.authme.service.GeoIpService;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
/**
|
||||
* Test for {@link GeoIpService}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class GeoIpServiceTest {
|
||||
|
||||
private GeoIpService geoIpService;
|
||||
private File dataFolder;
|
||||
@Mock
|
||||
private LookupService lookupService;
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder temporaryFolder = new TemporaryFolder();
|
||||
|
||||
@Before
|
||||
public void initializeGeoLiteApi() throws IOException {
|
||||
dataFolder = temporaryFolder.newFolder();
|
||||
geoIpService = new GeoIpService(dataFolder, lookupService);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetCountry() {
|
||||
// given
|
||||
String ip = "123.45.67.89";
|
||||
String countryCode = "XX";
|
||||
Country country = mock(Country.class);
|
||||
given(country.getCode()).willReturn(countryCode);
|
||||
given(lookupService.getCountry(ip)).willReturn(country);
|
||||
|
||||
// when
|
||||
String result = geoIpService.getCountryCode(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(countryCode));
|
||||
verify(lookupService).getCountry(ip);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotLookUpCountryForLocalhostIp() {
|
||||
// given
|
||||
String ip = "127.0.0.1";
|
||||
|
||||
// when
|
||||
String result = geoIpService.getCountryCode(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo("--"));
|
||||
verify(lookupService, never()).getCountry(anyString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldLookUpCountryName() {
|
||||
// given
|
||||
String ip = "24.45.167.89";
|
||||
String countryName = "Ecuador";
|
||||
Country country = mock(Country.class);
|
||||
given(country.getName()).willReturn(countryName);
|
||||
given(lookupService.getCountry(ip)).willReturn(country);
|
||||
|
||||
// when
|
||||
String result = geoIpService.getCountryName(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(countryName));
|
||||
verify(lookupService).getCountry(ip);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotLookUpCountryNameForLocalhostIp() {
|
||||
// given
|
||||
String ip = "127.0.0.1";
|
||||
|
||||
// when
|
||||
String result = geoIpService.getCountryName(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo("N/A"));
|
||||
verify(lookupService, never()).getCountry(ip);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
package fr.xephi.authme.service;
|
||||
|
||||
import com.earth2me.essentials.Essentials;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
|
||||
import fr.xephi.authme.service.PluginHookService;
|
||||
import fr.xephi.authme.ReflectionTestUtils;
|
||||
import fr.xephi.authme.TestHelper;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Matchers.anyString;
|
||||
import static org.mockito.Mockito.doThrow;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
/**
|
||||
* Test for {@link PluginHookService}.
|
||||
*/
|
||||
public class PluginHookServiceTest {
|
||||
|
||||
/** The plugin name of Essentials. */
|
||||
private static final String ESSENTIALS = "Essentials";
|
||||
/** The plugin name of Multiverse-Core. */
|
||||
private static final String MULTIVERSE = "Multiverse-Core";
|
||||
|
||||
@BeforeClass
|
||||
public static void setLogger() {
|
||||
TestHelper.setupLogger();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHookIntoEssentials() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
setPluginAvailable(pluginManager, ESSENTIALS, Essentials.class);
|
||||
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(false));
|
||||
|
||||
// when
|
||||
pluginHookService.tryHookToEssentials();
|
||||
|
||||
// then
|
||||
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(true));
|
||||
}
|
||||
|
||||
// Note ljacqu 20160312: Cannot test with Multiverse or CombatTagPlus because their classes are declared final
|
||||
|
||||
@Test
|
||||
public void shouldHookIntoEssentialsAtInitialization() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
setPluginAvailable(pluginManager, ESSENTIALS, Essentials.class);
|
||||
|
||||
// when
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// then
|
||||
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHookIntoMultiverseAtInitialization() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
setPluginAvailable(pluginManager, MULTIVERSE, MultiverseCore.class);
|
||||
|
||||
// when
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// then
|
||||
assertThat(pluginHookService.isMultiverseAvailable(), equalTo(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnEssentialsDataFolder() {
|
||||
// given
|
||||
Essentials ess = mock(Essentials.class);
|
||||
File essDataFolder = new File("test/data-folder");
|
||||
// Need to set the data folder with reflections because getDataFolder() is declared final
|
||||
ReflectionTestUtils.setField(JavaPlugin.class, ess, "dataFolder", essDataFolder);
|
||||
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
setPluginAvailable(pluginManager, ESSENTIALS, ess);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// when
|
||||
File dataFolder = pluginHookService.getEssentialsDataFolder();
|
||||
|
||||
// then
|
||||
assertThat(dataFolder, equalTo(essDataFolder));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnNullForUnhookedEssentials() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// when
|
||||
File result = pluginHookService.getEssentialsDataFolder();
|
||||
|
||||
// then
|
||||
assertThat(result, nullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldSetSocialSpyStatus() {
|
||||
// given
|
||||
Player player = mock(Player.class);
|
||||
|
||||
Essentials ess = mock(Essentials.class);
|
||||
User user = mock(User.class);
|
||||
given(ess.getUser(player)).willReturn(user);
|
||||
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
setPluginAvailable(pluginManager, ESSENTIALS, ess);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// when
|
||||
pluginHookService.setEssentialsSocialSpyStatus(player, true);
|
||||
|
||||
// then
|
||||
verify(ess).getUser(player);
|
||||
verify(user).setSocialSpyEnabled(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotDoAnythingForUnhookedEssentials() {
|
||||
// given
|
||||
PluginHookService pluginHookService = new PluginHookService(mock(PluginManager.class));
|
||||
|
||||
// when/then
|
||||
pluginHookService.setEssentialsSocialSpyStatus(mock(Player.class), false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldUnhookEssentialsAndMultiverse() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
setPluginAvailable(pluginManager, ESSENTIALS, Essentials.class);
|
||||
setPluginAvailable(pluginManager, MULTIVERSE, MultiverseCore.class);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// when
|
||||
pluginHookService.unhookEssentials();
|
||||
pluginHookService.unhookMultiverse();
|
||||
|
||||
// then
|
||||
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(false));
|
||||
assertThat(pluginHookService.isMultiverseAvailable(), equalTo(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHandlePluginRetrievalError() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
given(pluginManager.isPluginEnabled(anyString())).willReturn(true);
|
||||
doThrow(IllegalStateException.class).when(pluginManager).getPlugin(anyString());
|
||||
|
||||
// when
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// then
|
||||
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(false));
|
||||
assertThat(pluginHookService.isMultiverseAvailable(), equalTo(false));
|
||||
assertThat(pluginHookService.isCombatTagPlusAvailable(), equalTo(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnNullForUnavailableMultiverse() {
|
||||
// given
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
World world = mock(World.class);
|
||||
|
||||
// when
|
||||
Location result = pluginHookService.getMultiverseSpawn(world);
|
||||
|
||||
// then
|
||||
assertThat(result, nullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldGetMultiverseSpawn() {
|
||||
// given
|
||||
Location location = mock(Location.class);
|
||||
MultiverseWorld multiverseWorld = mock(MultiverseWorld.class);
|
||||
given(multiverseWorld.getSpawnLocation()).willReturn(location);
|
||||
|
||||
World world = mock(World.class);
|
||||
MVWorldManager mvWorldManager = mock(MVWorldManager.class);
|
||||
given(mvWorldManager.isMVWorld(world)).willReturn(true);
|
||||
given(mvWorldManager.getMVWorld(world)).willReturn(multiverseWorld);
|
||||
MultiverseCore multiverse = mock(MultiverseCore.class);
|
||||
given(multiverse.getMVWorldManager()).willReturn(mvWorldManager);
|
||||
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
setPluginAvailable(pluginManager, MULTIVERSE, multiverse);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// when
|
||||
Location spawn = pluginHookService.getMultiverseSpawn(world);
|
||||
|
||||
// then
|
||||
assertThat(spawn, equalTo(location));
|
||||
verify(mvWorldManager).isMVWorld(world);
|
||||
verify(mvWorldManager).getMVWorld(world);
|
||||
verify(multiverseWorld).getSpawnLocation();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnNullForNonMvWorld() {
|
||||
// given
|
||||
World world = mock(World.class);
|
||||
MVWorldManager mvWorldManager = mock(MVWorldManager.class);
|
||||
given(mvWorldManager.isMVWorld(world)).willReturn(false);
|
||||
|
||||
PluginManager pluginManager = mock(PluginManager.class);
|
||||
MultiverseCore multiverse = mock(MultiverseCore.class);
|
||||
setPluginAvailable(pluginManager, MULTIVERSE, multiverse);
|
||||
given(multiverse.getMVWorldManager()).willReturn(mvWorldManager);
|
||||
PluginHookService pluginHookService = new PluginHookService(pluginManager);
|
||||
|
||||
// when
|
||||
Location spawn = pluginHookService.getMultiverseSpawn(world);
|
||||
|
||||
// then
|
||||
assertThat(spawn, nullValue());
|
||||
verify(mvWorldManager).isMVWorld(world);
|
||||
verify(mvWorldManager, never()).getMVWorld(world);
|
||||
}
|
||||
|
||||
private static void setPluginAvailable(PluginManager managerMock, String pluginName,
|
||||
Class<? extends Plugin> pluginClass) {
|
||||
setPluginAvailable(managerMock, pluginName, mock(pluginClass));
|
||||
}
|
||||
|
||||
private static <T extends Plugin> void setPluginAvailable(PluginManager managerMock, String pluginName, T plugin) {
|
||||
given(managerMock.isPluginEnabled(pluginName)).willReturn(true);
|
||||
given(managerMock.getPlugin(pluginName)).willReturn(plugin);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,7 +5,6 @@ import ch.jalu.injector.testing.DelayedInjectionRunner;
|
||||
import ch.jalu.injector.testing.InjectDelayed;
|
||||
import com.google.common.base.Strings;
|
||||
import fr.xephi.authme.datasource.DataSource;
|
||||
import fr.xephi.authme.geoip.GeoIpManager;
|
||||
import fr.xephi.authme.message.MessageKey;
|
||||
import fr.xephi.authme.permission.PermissionsManager;
|
||||
import fr.xephi.authme.permission.PlayerStatePermission;
|
||||
@@ -45,7 +44,7 @@ public class ValidationServiceTest {
|
||||
@Mock
|
||||
private PermissionsManager permissionsManager;
|
||||
@Mock
|
||||
private GeoIpManager geoIpManager;
|
||||
private GeoIpService geoIpService;
|
||||
|
||||
@BeforeInjecting
|
||||
public void createService() {
|
||||
@@ -266,7 +265,7 @@ public class ValidationServiceTest {
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(true));
|
||||
verifyZeroInteractions(geoIpManager);
|
||||
verifyZeroInteractions(geoIpService);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -275,14 +274,14 @@ public class ValidationServiceTest {
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_WHITELIST)).willReturn(asList("ch", "it"));
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_BLACKLIST)).willReturn(Collections.<String>emptyList());
|
||||
String ip = "127.0.0.1";
|
||||
given(geoIpManager.getCountryCode(ip)).willReturn("CH");
|
||||
given(geoIpService.getCountryCode(ip)).willReturn("CH");
|
||||
|
||||
// when
|
||||
boolean result = validationService.isCountryAdmitted(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(true));
|
||||
verify(geoIpManager).getCountryCode(ip);
|
||||
verify(geoIpService).getCountryCode(ip);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -291,14 +290,14 @@ public class ValidationServiceTest {
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_WHITELIST)).willReturn(asList("ch", "it"));
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_BLACKLIST)).willReturn(Collections.<String>emptyList());
|
||||
String ip = "123.45.67.89";
|
||||
given(geoIpManager.getCountryCode(ip)).willReturn("BR");
|
||||
given(geoIpService.getCountryCode(ip)).willReturn("BR");
|
||||
|
||||
// when
|
||||
boolean result = validationService.isCountryAdmitted(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(false));
|
||||
verify(geoIpManager).getCountryCode(ip);
|
||||
verify(geoIpService).getCountryCode(ip);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -307,14 +306,14 @@ public class ValidationServiceTest {
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_WHITELIST)).willReturn(Collections.<String>emptyList());
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_BLACKLIST)).willReturn(asList("ch", "it"));
|
||||
String ip = "127.0.0.1";
|
||||
given(geoIpManager.getCountryCode(ip)).willReturn("BR");
|
||||
given(geoIpService.getCountryCode(ip)).willReturn("BR");
|
||||
|
||||
// when
|
||||
boolean result = validationService.isCountryAdmitted(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(true));
|
||||
verify(geoIpManager).getCountryCode(ip);
|
||||
verify(geoIpService).getCountryCode(ip);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -323,14 +322,14 @@ public class ValidationServiceTest {
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_WHITELIST)).willReturn(Collections.<String>emptyList());
|
||||
given(settings.getProperty(ProtectionSettings.COUNTRIES_BLACKLIST)).willReturn(asList("ch", "it"));
|
||||
String ip = "123.45.67.89";
|
||||
given(geoIpManager.getCountryCode(ip)).willReturn("IT");
|
||||
given(geoIpService.getCountryCode(ip)).willReturn("IT");
|
||||
|
||||
// when
|
||||
boolean result = validationService.isCountryAdmitted(ip);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(false));
|
||||
verify(geoIpManager).getCountryCode(ip);
|
||||
verify(geoIpService).getCountryCode(ip);
|
||||
}
|
||||
|
||||
private static void assertErrorEquals(ValidationResult validationResult, MessageKey messageKey, String... args) {
|
||||
|
||||
Reference in New Issue
Block a user