diff --git a/pom.xml b/pom.xml
index 581affd15..3f57df922 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,14 +60,13 @@
UTF-8
UTF-8
- 1.8
- 1.8
- 8
- 11
- 3.6.3
+ 17
+ 17
+ 17
+ 17
+ 3.9.0
- 1.19.2-R0.1-SNAPSHOT
AuthMe
@@ -80,6 +79,31 @@
${project.versionCode}
${project.groupId}.${project.artifactId}.${pluginDescription.name}
sgdc3, ljacqu, games647, Hex3l, krusic22
+
+
+ 1.0
+ 1.0.0
+ 4.2.0
+ 2.5
+ 1.6.0
+ 5.1.0
+ 2.0.13
+ 0.1.1-SNAPSHOT
+ 8.3.0
+ 3.3.3
+ 42.5.1
+ 1.1.4
+ 2.11
+ 0.9.0
+ 1.5.0
+ 1.4.1
+
+ 1.20.5-R0.1-SNAPSHOT
+ 31.1-jre
+ 2.10
+ 2.19.0
+
+ 3.0.2
@@ -154,7 +178,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.4.1
+ 3.6.3
@@ -164,7 +188,7 @@
org.apache.maven.plugins
maven-enforcer-plugin
- 3.1.0
+ 3.4.1
enforce-environment
@@ -177,7 +201,7 @@
${maven.minimumVersion}
- [11,)
+ [${java.compiler.minimumVersion},)
true
@@ -189,19 +213,19 @@
org.apache.maven.plugins
maven-clean-plugin
- 3.2.0
+ 3.3.2
org.apache.maven.plugins
maven-resources-plugin
- 3.3.0
+ 3.3.1
org.apache.maven.plugins
maven-compiler-plugin
- 3.10.1
+ 3.13.0
${java.source}
${java.target}
@@ -212,7 +236,13 @@
org.jacoco
jacoco-maven-plugin
- 0.8.8
+ 0.8.12
+
+
+ fr/xephi/authme/*
+ fr/xephi/authme/**/*
+
+
pre-unit-test
@@ -232,11 +262,12 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.22.2
+ 3.2.5
+
- -Dfile.encoding=${project.build.sourceEncoding} -Duser.language=en @{argLine}
+ --add-opens=java.base/java.lang=ALL-UNNAMED -Dfile.encoding=${project.build.sourceEncoding} -Duser.language=en @{argLine}
${project.skipExtendedHashTests}
@@ -248,7 +279,7 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.3.0
+ 3.4.1
@@ -257,7 +288,7 @@
${project.finalNameBase}
- 8
+ ${java.source}
@@ -272,7 +303,7 @@
org.apache.maven.plugins
maven-source-plugin
- 3.2.1
+ 3.3.1
${project.finalNameBase}
@@ -289,7 +320,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.4.0
+ 3.5.3
shaded-jar
@@ -297,52 +328,6 @@
shade
-
-
-
-
- com.google.guava:guava
- com.google.guava:failureaccess
- com.google.guava:listenablefuture
- com.google.errorprone:error_prone_annotations
- com.google.j2objc:j2objc-annotations
-
- com.google.code.gson:gson
-
-
-
-
-
- shaded-jar-legacy
- package
-
- shade
-
-
- ${project.finalNameBase}-legacy
-
-
- com.google.common
- fr.xephi.authme.libs.com.google.common
-
-
- com.google.thirdparty
- fr.xephi.authme.libs.com.google.thirdparty
-
-
- com.google.j2objc
- fr.xephi.authme.libs.com.google.j2objc
-
-
- com.google.errorprone
- fr.xephi.authme.libs.com.google.errorprone
-
-
- com.google.gson
- fr.xephi.authme.libs.com.google.gson
-
-
-
@@ -353,87 +338,10 @@
${project.finalNameBase}
-
-
+
- ch.jalu
- fr.xephi.authme.libs.ch.jalu
-
-
- com.zaxxer.hikari
- fr.xephi.authme.libs.com.zaxxer.hikari
-
-
- org.slf4j
- fr.xephi.authme.libs.org.slf4j
-
-
- com.maxmind.db
- fr.xephi.authme.libs.com.maxmind.db
-
-
- com.ice.tar
- fr.xephi.authme.libs.com.icetar.tar
-
-
- net.ricecode.similarity
- fr.xephi.authme.libs.ricecode.net.ricecode.similarity
-
-
- de.rtner
- fr.xephi.authme.libs.de.rtner
-
-
- org.picketbox
- fr.xephi.authme.libs.org.picketbox
-
-
- org.jboss.crypto
- fr.xephi.authme.libs.org.jboss.crypto
-
-
- org.jboss.security
- fr.xephi.authme.libs.org.jboss.security
-
-
- de.mkammerer
- fr.xephi.authme.libs.de.mkammerer
-
-
- com.warrenstrange
- fr.xephi.authme.libs.com.warrenstrange
-
-
- javax.inject
- fr.xephi.authme.libs.javax.inject
-
-
- at.favre.lib
- fr.xephi.authme.libs.at.favre.lib
-
-
- org.postgresql
- fr.xephi.authme.libs.org.postgresql
-
-
-
- org.bstats
- fr.xephi.authme.libs.org.bstats
-
-
- org.mariadb.jdbc
- fr.xephi.authme.libs.org.mariadb.jdbc
-
-
- com.mysql
- fr.xephi.authme.libs.com.mysql
-
-
- com.google.protobuf
- fr.xephi.authme.libs.com.google.protobuf
+ ch.jalu.datasourcecolumns
+ fr.xephi.authme.libs.ch.jalu.datasourcecolumns
@@ -467,13 +375,13 @@
org.apache.maven.plugins
maven-install-plugin
- 3.0.1
+ 3.1.1
org.apache.maven.plugins
maven-deploy-plugin
- 3.0.0
+ 3.1.1
@@ -602,54 +510,39 @@
ch.jalu
injector
- 1.0
- true
+ ${dependencies.injector.version}
+ provided
net.ricecode
string-similarity
- 1.0.0
- true
+ ${dependencies.string-similarity.version}
+ provided
-
-
+
- com.maxmind.db
- maxmind-db-gson
- 2.0.3
- true
-
-
- com.google.code.gson
- gson
-
-
+ com.maxmind.geoip2
+ geoip2
+ ${dependencies.geoip2.version}
+ provided
javatar
javatar
- 2.5
- true
+ ${dependencies.javatar.version}
+ provided
org.apache.commons
commons-email
- 1.6-SNAPSHOT
- true
-
-
-
-
- org.apache.logging.log4j
- log4j-core
- 2.8.1
+ ${dependencies.commons-email.version}
provided
@@ -657,88 +550,62 @@
com.zaxxer
HikariCP
- 4.0.3
- true
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.slf4j
- slf4j-simple
- 1.7.36
- true
-
-
-
-
- de.rtner
- PBKDF2
- 1.1.4
- true
-
-
-
-
- com.mysql
- mysql-connector-j
- 8.0.31
- true
-
-
- org.mariadb.jdbc
- mariadb-java-client
- 3.0.8
- true
-
-
-
-
- de.mkammerer
- argon2-jvm-nolibs
- 2.11
- true
-
-
-
-
- com.warrenstrange
- googleauth
- 1.5.0
- true
-
-
-
-
- org.spigotmc
- spigot-api
- ${spigot.version}
+ ${dependencies.hikaricp.version}
provided
- junit
- junit
-
-
- bungeecord-chat
- net.md-5
-
-
- com.googlecode.json-simple
- json-simple
+ org.slf4j
+ slf4j-api
-
- com.google.guava
- guava
- 31.0.1-jre
- true
+ org.slf4j
+ slf4j-simple
+ ${dependencies.slf4j.version}
+ provided
+
+
+
+
+ ch.jalu
+ datasourcecolumns
+ ${dependencies.datasourcecolumns.version}
+
+
+
+
+
+ com.mysql
+ mysql-connector-j
+ ${dependencies.mysql-connector-j.version}
+ provided
+
+
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ ${dependencies.mariadb-java-client.version}
+ provided
+
+
+ org.checkerframework
+ checker-qual
+
+
+ com.google.errorprone
+ error_prone_annotations
+
+
+
+
+
+
+ org.postgresql
+ postgresql
+ ${dependencies.postgresql.version}
+ provided
org.checkerframework
@@ -746,43 +613,112 @@
-
+
+
- com.google.code.gson
- gson
- 2.8.9
- true
+ de.rtner
+ PBKDF2
+ ${dependencies.pbkdf2.version}
+ provided
-
+
+
+ de.mkammerer
+ argon2-jvm-nolibs
+ ${dependencies.argon2-jvm-nolibs.version}
+ provided
+
+
+
+
+ at.favre.lib
+ bcrypt
+ ${dependencies.bcrypt.version}
+ provided
+
+
+
+
+ com.warrenstrange
+ googleauth
+ ${dependencies.googleauth.version}
+ provided
+
ch.jalu
configme
- 1.3.0
- true
+ ${dependencies.configme.version}
+ provided
+
+
+
+
+ org.spigotmc
+ spigot-api
+ ${dependencies.spigot.version}
+ provided
+
+ com.google.guava
+ guava
+
+
+ com.google.code.gson
+ gson
+
+
+ org.joml
+ joml
+
+
+ net.md-5
+ bungeecord-chat
+
org.yaml
snakeyaml
+
+ com.google.guava
+ guava
+ ${dependencies.guava.version}
+ provided
+
+
+ com.google.code.gson
+ gson
+ ${dependencies.gson.version}
+ provided
+
+
+ org.apache.logging.log4j
+ log4j-core
+ ${dependencies.log4j-core.version}
+ provided
+
+
+
org.bstats
bstats-bukkit
- 3.0.0
- true
+ ${dependencies.bstats.version}
+ provided
+
+
com.comphenix.protocol
ProtocolLib
- 4.8.0
+ 5.1.0
provided
@@ -925,7 +861,7 @@
net.essentialsx
EssentialsX
- 2.19.7
+ 2.20.1
provided
@@ -971,14 +907,6 @@
-
-
- at.favre.lib
- bcrypt
- 0.9.0
- true
-
-
de.luricos.bukkit
@@ -987,60 +915,42 @@
provided
-
- ch.jalu
- datasourcecolumns
- 0.1.1-SNAPSHOT
- true
-
-
-
- org.postgresql
- postgresql
- 42.5.0
- true
-
-
- org.checkerframework
- checker-qual
-
-
-
-
+
junit
junit
test
4.13.2
+
+
+ org.hamcrest
+ hamcrest-core
+
+
org.hamcrest
- java-hamcrest
+ hamcrest
test
- 2.0.0.0
+ 2.2
+
org.mockito
mockito-core
test
- 4.8.1
-
-
- hamcrest-core
- org.hamcrest
-
-
+ 4.11.0
org.checkerframework
checker-qual
- 3.26.0
+ 3.42.0
test
@@ -1048,13 +958,19 @@
org.xerial
sqlite-jdbc
- 3.39.3.0
+ 3.45.3.0
test
+
+
+ org.slf4j
+ slf4j-api
+
+
com.h2database
h2
- 2.1.214
+ 2.2.224
test
diff --git a/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java b/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java
index 029c9b608..c750b6d11 100644
--- a/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java
+++ b/src/main/java/fr/xephi/authme/initialization/OnStartupTasks.java
@@ -32,7 +32,7 @@ import static fr.xephi.authme.settings.properties.EmailSettings.RECALL_PLAYERS;
*/
public class OnStartupTasks {
- private static ConsoleLogger consoleLogger = ConsoleLoggerFactory.get(OnStartupTasks.class);
+ private static final ConsoleLogger consoleLogger = ConsoleLoggerFactory.get(OnStartupTasks.class);
@Inject
private DataSource dataSource;
@@ -53,6 +53,8 @@ public class OnStartupTasks {
* @param settings the settings
*/
public static void sendMetrics(AuthMe plugin, Settings settings) {
+ // We do not relocate as the library is downloaded at runtime
+ System.setProperty("bstats.relocatecheck", "false");
final Metrics metrics = new Metrics(plugin, 164);
metrics.addCustomChart(new SimplePie("messages_language",
@@ -109,6 +111,6 @@ public class OnStartupTasks {
}
});
}
- }, 1, TICKS_PER_MINUTE * settings.getProperty(EmailSettings.DELAY_RECALL));
+ }, 1, (long) TICKS_PER_MINUTE * settings.getProperty(EmailSettings.DELAY_RECALL));
}
}
diff --git a/src/main/java/fr/xephi/authme/listener/protocollib/InventoryPacketAdapter.java b/src/main/java/fr/xephi/authme/listener/protocollib/InventoryPacketAdapter.java
index bceeaca7a..bef64b3cf 100644
--- a/src/main/java/fr/xephi/authme/listener/protocollib/InventoryPacketAdapter.java
+++ b/src/main/java/fr/xephi/authme/listener/protocollib/InventoryPacketAdapter.java
@@ -34,14 +34,13 @@ import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
-import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.List;
class InventoryPacketAdapter extends PacketAdapter {
private static final int PLAYER_INVENTORY = 0;
- // http://wiki.vg/Inventory#Inventory (0-4 crafting, 5-8 armor, 9-35 main inventory, 36-44 hotbar, 45 off hand)
+ // http://wiki.vg/Inventory#Inventory (0-4 crafting, 5-8 armor, 9-35 main inventory, 36-44 hotbar, 45 offhand)
// +1 because an index starts with 0
private static final int CRAFTING_SIZE = 5;
private static final int ARMOR_SIZE = 4;
@@ -116,8 +115,8 @@ class InventoryPacketAdapter extends PacketAdapter {
try {
protocolManager.sendServerPacket(player, inventoryPacket, false);
- } catch (InvocationTargetException invocationExc) {
- logger.logException("Error during sending blank inventory", invocationExc);
+ } catch (Throwable throwable) {
+ logger.logException("Error during sending blank inventory", throwable);
}
}
}
diff --git a/src/main/java/fr/xephi/authme/service/GeoIpService.java b/src/main/java/fr/xephi/authme/service/GeoIpService.java
index d2e7324fe..fd365969b 100644
--- a/src/main/java/fr/xephi/authme/service/GeoIpService.java
+++ b/src/main/java/fr/xephi/authme/service/GeoIpService.java
@@ -4,12 +4,12 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.hash.HashCode;
import com.google.common.hash.HashFunction;
import com.google.common.hash.Hashing;
-import com.maxmind.db.GeoIp2Provider;
-import com.maxmind.db.Reader;
+import com.maxmind.db.CHMCache;
import com.maxmind.db.Reader.FileMode;
-import com.maxmind.db.cache.CHMCache;
-import com.maxmind.db.model.Country;
-import com.maxmind.db.model.CountryResponse;
+import com.maxmind.geoip2.DatabaseReader;
+import com.maxmind.geoip2.exception.GeoIp2Exception;
+import com.maxmind.geoip2.model.AbstractCountryResponse;
+import com.maxmind.geoip2.record.Country;
import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.initialization.DataFolder;
import fr.xephi.authme.output.ConsoleLoggerFactory;
@@ -61,21 +61,21 @@ public class GeoIpService {
private final BukkitService bukkitService;
private final Settings settings;
- private GeoIp2Provider databaseReader;
+ private DatabaseReader databaseReader;
private volatile boolean downloading;
@Inject
- GeoIpService(@DataFolder File dataFolder, BukkitService bukkitService, Settings settings) {
+ public GeoIpService(@DataFolder File dataFolder, BukkitService bukkitService, Settings settings) {
this.bukkitService = bukkitService;
this.dataFile = dataFolder.toPath().resolve(DATABASE_FILE);
this.settings = settings;
- // Fires download of recent data or the initialization of the look up service
+ // Fires download of recent data or the initialization of the look-up service
isDataAvailable();
}
@VisibleForTesting
- GeoIpService(@DataFolder File dataFolder, BukkitService bukkitService, Settings settings, GeoIp2Provider reader) {
+ GeoIpService(@DataFolder File dataFolder, BukkitService bukkitService, Settings settings, DatabaseReader reader) {
this.bukkitService = bukkitService;
this.settings = settings;
this.dataFile = dataFolder.toPath().resolve(DATABASE_FILE);
@@ -105,7 +105,7 @@ public class GeoIpService {
if (Duration.between(lastModifiedTime.toInstant(), Instant.now()).toDays() <= UPDATE_INTERVAL_DAYS) {
startReading();
- // don't fire the update task - we are up to date
+ // don't fire the update task - we are up-to-date
return true;
} else {
logger.debug("GEO IP database is older than " + UPDATE_INTERVAL_DAYS + " Days");
@@ -149,6 +149,7 @@ public class GeoIpService {
extractDatabase(downloadFile, tempFile);
// MD5 checksum verification
+ //noinspection deprecation
verifyChecksum(Hashing.md5(), tempFile, expectedChecksum);
Files.copy(tempFile, dataFile, StandardCopyOption.REPLACE_EXISTING);
@@ -170,7 +171,7 @@ public class GeoIpService {
}
private void startReading() throws IOException {
- databaseReader = new Reader(dataFile.toFile(), FileMode.MEMORY, new CHMCache());
+ databaseReader = new DatabaseReader.Builder(dataFile.toFile()).withCache(new CHMCache()).fileMode(FileMode.MEMORY).build();
logger.info(LICENSE);
// clear downloading flag, because we now have working reader instance
@@ -178,7 +179,7 @@ public class GeoIpService {
}
/**
- * Downloads the archive to the destination file if it's newer than the locally version.
+ * Downloads the archive to the destination file if it's newer than the local version.
*
* @param lastModified modification timestamp of the already present file
* @param destination save file
@@ -220,7 +221,7 @@ public class GeoIpService {
}
/**
- * Downloads the archive to the destination file if it's newer than the locally version.
+ * Downloads the archive to the destination file if it's newer than the local version.
*
* @param destination save file
* @return null if no updates were found, the MD5 hash of the downloaded archive if successful
@@ -320,11 +321,11 @@ public class GeoIpService {
InetAddress address = InetAddress.getByName(ip);
// Reader.getCountry() can be null for unknown addresses
- return Optional.ofNullable(databaseReader.getCountry(address)).map(CountryResponse::getCountry);
+ return Optional.ofNullable(databaseReader.country(address)).map(AbstractCountryResponse::getCountry);
} catch (UnknownHostException e) {
// Ignore invalid ip addresses
- // Legacy GEO IP Database returned a unknown country object with Country-Code: '--' and Country-Name: 'N/A'
- } catch (IOException ioEx) {
+ // Legacy GEO IP Database returned an unknown country object with Country-Code: '--' and Country-Name: 'N/A'
+ } catch (GeoIp2Exception | IOException ioEx) {
logger.logException("Cannot lookup country for " + ip + " at GEO IP database", ioEx);
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index aa267deac..9391aedf2 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,10 +1,13 @@
+# noinspection YAMLSchemaValidation
name: ${pluginDescription.name}
+# noinspection YAMLSchemaValidation
authors: [${pluginDescription.authors}]
website: ${project.url}
description: ${project.description}
+# noinspection YAMLSchemaValidation
main: ${pluginDescription.main}
version: ${pluginDescription.version}
-api-version: 1.13
+api-version: 1.19
softdepend:
- Vault
- LuckPerms
@@ -15,6 +18,23 @@ softdepend:
- Essentials
- EssentialsSpawn
- ProtocolLib
+libraries:
+ - ch.jalu:injector:${dependencies.injector.version}
+ - net.ricecode:string-similarity:${dependencies.string-similarity.version}
+ - com.maxmind.geoip2:geoip2:${dependencies.geoip2.version}
+ - javatar:javatar:${dependencies.javatar.version}
+ - org.apache.commons:commons-email:${dependencies.commons-email.version}
+ - com.zaxxer:HikariCP:${dependencies.hikaricp.version}
+ - org.slf4j:slf4j-simple:${dependencies.slf4j.version}
+ - com.mysql:mysql-connector-j:${dependencies.mysql-connector-j.version}
+ - org.mariadb.jdbc:mariadb-java-client:${dependencies.mariadb-java-client.version}
+ - org.postgresql:postgresql:${dependencies.postgresql.version}
+ - de.rtner:PBKDF2:${dependencies.pbkdf2.version}
+ - de.mkammerer:argon2-jvm-nolibs:${dependencies.argon2-jvm-nolibs.version}
+ - at.favre.lib:bcrypt:${dependencies.bcrypt.version}
+ - com.warrenstrange:googleauth:${dependencies.googleauth.version}
+ - ch.jalu:configme:${dependencies.configme.version}
+ - org.bstats:bstats-bukkit:${dependencies.bstats.version}
commands:
authme:
description: AuthMe op commands
diff --git a/src/test/java/fr/xephi/authme/data/limbo/persistence/LimboPersistenceTest.java b/src/test/java/fr/xephi/authme/data/limbo/persistence/LimboPersistenceTest.java
index b9ac1cd81..e8aba73fe 100644
--- a/src/test/java/fr/xephi/authme/data/limbo/persistence/LimboPersistenceTest.java
+++ b/src/test/java/fr/xephi/authme/data/limbo/persistence/LimboPersistenceTest.java
@@ -18,6 +18,7 @@ import org.mockito.Mock;
import java.util.logging.Logger;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.both;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.equalTo;
@@ -25,7 +26,6 @@ import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.nullValue;
import static org.hamcrest.Matchers.sameInstance;
-import static org.junit.Assert.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
@@ -40,6 +40,7 @@ import static org.mockito.hamcrest.MockitoHamcrest.argThat;
@RunWith(DelayedInjectionRunner.class)
public class LimboPersistenceTest {
+ @SuppressWarnings("unused")
@InjectDelayed
private LimboPersistence limboPersistence;
@@ -59,7 +60,7 @@ public class LimboPersistenceTest {
public void setUpMocks() {
given(settings.getProperty(LimboSettings.LIMBO_PERSISTENCE_TYPE)).willReturn(LimboPersistenceType.DISABLED);
given(handlerFactory.newInstance(any(Class.class)))
- .willAnswer(invocation -> mock(invocation.getArgument(0)));
+ .willAnswer(invocation -> mock((Class>) invocation.getArgument(0)));
}
@Test
diff --git a/src/test/java/fr/xephi/authme/service/GeoIpServiceTest.java b/src/test/java/fr/xephi/authme/service/GeoIpServiceTest.java
index 8654ec8b5..9dea8037b 100644
--- a/src/test/java/fr/xephi/authme/service/GeoIpServiceTest.java
+++ b/src/test/java/fr/xephi/authme/service/GeoIpServiceTest.java
@@ -1,13 +1,12 @@
package fr.xephi.authme.service;
-import com.maxmind.db.GeoIp2Provider;
-import com.maxmind.db.model.Country;
-import com.maxmind.db.model.CountryResponse;
-
import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
+import com.maxmind.geoip2.DatabaseReader;
+import com.maxmind.geoip2.model.CountryResponse;
+import com.maxmind.geoip2.record.Country;
import fr.xephi.authme.settings.Settings;
import org.junit.Before;
import org.junit.Rule;
@@ -17,11 +16,11 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.hamcrest.Matchers.equalTo;
-import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -33,10 +32,9 @@ import static org.mockito.Mockito.verify;
public class GeoIpServiceTest {
private GeoIpService geoIpService;
- private File dataFolder;
@Mock
- private GeoIp2Provider lookupService;
+ private DatabaseReader lookupService;
@Mock
private BukkitService bukkitService;
@@ -49,7 +47,7 @@ public class GeoIpServiceTest {
@Before
public void initializeGeoLiteApi() throws IOException {
- dataFolder = temporaryFolder.newFolder();
+ File dataFolder = temporaryFolder.newFolder();
geoIpService = new GeoIpService(dataFolder, bukkitService, settings, lookupService);
}
@@ -64,14 +62,14 @@ public class GeoIpServiceTest {
CountryResponse response = mock(CountryResponse.class);
given(response.getCountry()).willReturn(country);
- given(lookupService.getCountry(ip)).willReturn(response);
+ given(lookupService.country(ip)).willReturn(response);
// when
String result = geoIpService.getCountryCode(ip.getHostAddress());
// then
assertThat(result, equalTo(countryCode));
- verify(lookupService).getCountry(ip);
+ verify(lookupService).country(ip);
}
@Test
@@ -84,7 +82,7 @@ public class GeoIpServiceTest {
// then
assertThat(result, equalTo("LOCALHOST"));
- verify(lookupService, never()).getCountry(any());
+ verify(lookupService, never()).country(any());
}
@Test
@@ -98,14 +96,14 @@ public class GeoIpServiceTest {
CountryResponse response = mock(CountryResponse.class);
given(response.getCountry()).willReturn(country);
- given(lookupService.getCountry(ip)).willReturn(response);
+ given(lookupService.country(ip)).willReturn(response);
// when
String result = geoIpService.getCountryName(ip.getHostAddress());
// then
assertThat(result, equalTo(countryName));
- verify(lookupService).getCountry(ip);
+ verify(lookupService).country(ip);
}
@Test
@@ -118,6 +116,6 @@ public class GeoIpServiceTest {
// then
assertThat(result, equalTo("LocalHost"));
- verify(lookupService, never()).getCountry(ip);
+ verify(lookupService, never()).country(ip);
}
}