mirror of
https://github.com/AuthMe/AuthMeReloaded.git
synced 2024-11-25 03:35:16 +01:00
Add test for set of deprecated algorithms
This commit is contained in:
parent
72411d884c
commit
001a782a19
@ -59,7 +59,7 @@ public class RegisterCommand extends PlayerCommand {
|
||||
// Check if we are migrating from old 2FA -> we reuse this method for simplicity but in reality if we match
|
||||
// this condition the user is already registered and we override the password with the given one
|
||||
if (limbo != null && limbo.getState() == LimboPlayerState.NEW_PASSWORD_FOR_TWO_FACTOR_MIGRATION_REQUIRED) {
|
||||
handleNewPasswordInMigration(player, arguments);
|
||||
handleNewPasswordFromTwoFactorMigration(player, arguments);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -208,13 +208,13 @@ public class RegisterCommand extends PlayerCommand {
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the input arguments for a forced password migration. Two arguments are expected, password
|
||||
* and password confirmation.
|
||||
* Handles the input arguments for a forced password migration from the old two factor hash.
|
||||
* Two arguments are expected, password and password confirmation.
|
||||
*
|
||||
* @param player the player
|
||||
* @param arguments the arguments supplied to the command
|
||||
*/
|
||||
private void handleNewPasswordInMigration(Player player, List<String> arguments) {
|
||||
private void handleNewPasswordFromTwoFactorMigration(Player player, List<String> arguments) {
|
||||
if (arguments.size() != 2) {
|
||||
player.sendMessage("Expected two arguments! /register <password> <confirmPassword>");
|
||||
} else if (!arguments.get(0).equals(arguments.get(1))) {
|
||||
|
@ -4,6 +4,7 @@ import ch.jalu.configme.configurationdata.ConfigurationData;
|
||||
import ch.jalu.configme.migration.PlainMigrationService;
|
||||
import ch.jalu.configme.properties.Property;
|
||||
import ch.jalu.configme.resource.PropertyReader;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import fr.xephi.authme.ConsoleLogger;
|
||||
import fr.xephi.authme.initialization.DataFolder;
|
||||
import fr.xephi.authme.output.LogLevel;
|
||||
@ -51,7 +52,8 @@ public class SettingsMigrationService extends PlainMigrationService {
|
||||
* it will be moved into the "legacy hashes" property and the default will be used instead.
|
||||
* Note: do not add PLAINTEXT to this set as it is handled elsewhere (force-migration).
|
||||
*/
|
||||
private static final EnumSet<HashAlgorithm> DEPRECATED_ARGUMENTS =
|
||||
@VisibleForTesting
|
||||
static final Set<HashAlgorithm> DEPRECATED_ARGUMENTS =
|
||||
EnumSet.of(DOUBLEMD5, MD5, SHA1, SHA512, TWO_FACTOR, WHIRLPOOL);
|
||||
|
||||
private final File pluginFolder;
|
||||
|
@ -19,9 +19,12 @@ import org.junit.rules.TemporaryFolder;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static fr.xephi.authme.TestHelper.getJarFile;
|
||||
import static fr.xephi.authme.settings.properties.DatabaseSettings.MYSQL_COL_SALT;
|
||||
@ -116,6 +119,23 @@ public class SettingsMigrationServiceTest {
|
||||
assertThat(migrationService.getOldOtherAccountsCommandThreshold(), equalTo(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldHaveDeprecatedEnumEntries() throws NoSuchFieldException {
|
||||
// given
|
||||
Set<HashAlgorithm> deprecatedEntries = EnumSet.noneOf(HashAlgorithm.class);
|
||||
for (HashAlgorithm algorithm : HashAlgorithm.values()) {
|
||||
if (algorithm != HashAlgorithm.PLAINTEXT) {
|
||||
Field algorithmField = HashAlgorithm.class.getDeclaredField(algorithm.name());
|
||||
if (algorithmField.isAnnotationPresent(Deprecated.class)) {
|
||||
deprecatedEntries.add(algorithm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// when / then
|
||||
assertThat(SettingsMigrationService.DEPRECATED_ARGUMENTS, equalTo(deprecatedEntries));
|
||||
}
|
||||
|
||||
private void verifyHasUpToDateSettings(Settings settings, File dataFolder) throws IOException {
|
||||
assertThat(settings.getProperty(ALLOWED_NICKNAME_CHARACTERS), equalTo(ALLOWED_NICKNAME_CHARACTERS.getDefaultValue()));
|
||||
assertThat(settings.getProperty(DELAY_JOIN_MESSAGE), equalTo(true));
|
||||
|
Loading…
Reference in New Issue
Block a user