Remove tests calling hidden constructor of util classes
- Newer versions of JaCoCo now ignore hidden constructors out of the box so we don't need the dummy method that calls the constructor for coverage anymore
This commit is contained in:
parent
e31cb5bb9e
commit
39fbb4ac05
@ -6,9 +6,6 @@ import org.bukkit.entity.Player;
|
|||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.Constructor;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Modifier;
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
@ -95,33 +92,6 @@ public final class TestHelper {
|
|||||||
return logger;
|
return logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check that a class only has a hidden, zero-argument constructor, preventing the
|
|
||||||
* instantiation of such classes (utility classes). Invokes the hidden constructor
|
|
||||||
* as to register the code coverage.
|
|
||||||
*
|
|
||||||
* @param clazz The class to validate
|
|
||||||
*/
|
|
||||||
public static void validateHasOnlyPrivateEmptyConstructor(Class<?> clazz) {
|
|
||||||
Constructor<?>[] constructors = clazz.getDeclaredConstructors();
|
|
||||||
if (constructors.length > 1) {
|
|
||||||
throw new IllegalStateException("Class " + clazz.getSimpleName() + " has more than one constructor");
|
|
||||||
} else if (constructors[0].getParameterTypes().length != 0) {
|
|
||||||
throw new IllegalStateException("Constructor of " + clazz + " does not have empty parameter list");
|
|
||||||
} else if (!Modifier.isPrivate(constructors[0].getModifiers())) {
|
|
||||||
throw new IllegalStateException("Constructor of " + clazz + " is not private");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ugly hack to get coverage on the private constructors
|
|
||||||
// http://stackoverflow.com/questions/14077842/how-to-test-a-private-constructor-in-java-application
|
|
||||||
try {
|
|
||||||
constructors[0].setAccessible(true);
|
|
||||||
constructors[0].newInstance();
|
|
||||||
} catch (InvocationTargetException | InstantiationException | IllegalAccessException e) {
|
|
||||||
throw new UnsupportedOperationException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configures the player mock to return the given IP address.
|
* Configures the player mock to return the given IP address.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.command;
|
package fr.xephi.authme.command;
|
||||||
|
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -83,12 +82,6 @@ public class CommandUtilsTest {
|
|||||||
checkArgumentCount(command, 1, 3);
|
checkArgumentCount(command, 1, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(CommandUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldFormatSimpleArgument() {
|
public void shouldFormatSimpleArgument() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
@ -58,11 +58,6 @@ public class DebugSectionUtilsTest {
|
|||||||
assertThat(DebugSectionUtils.formatLocation(null), equalTo("null"));
|
assertThat(DebugSectionUtils.formatLocation(null), equalTo("null"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(DebugSectionUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldFetchMapInLimboService() {
|
public void shouldFetchMapInLimboService() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
@ -30,11 +30,6 @@ public class SqlDataSourceUtilsTest {
|
|||||||
logger = TestHelper.setupLogger();
|
logger = TestHelper.setupLogger();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(SqlDataSourceUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldLogException() {
|
public void shouldLogException() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
@ -38,10 +38,4 @@ public class PlayerAuthBuilderHelperTest {
|
|||||||
assertThat(Math.abs(auth.getRegistrationDate() - System.currentTimeMillis()), lessThan(1000L));
|
assertThat(Math.abs(auth.getRegistrationDate() - System.currentTimeMillis()), lessThan(1000L));
|
||||||
assertThat(auth.getPassword(), equalToHash("myHash0001"));
|
assertThat(auth.getPassword(), equalToHash("myHash0001"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(PlayerAuthBuilderHelper.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,9 +12,7 @@ import org.junit.BeforeClass;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.invocation.InvocationOnMock;
|
|
||||||
import org.mockito.junit.MockitoJUnitRunner;
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
import org.mockito.stubbing.Answer;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
@ -110,11 +108,6 @@ public class MigrationServiceTest {
|
|||||||
verifyNoMoreInteractions(settings, dataSource, sha256);
|
verifyNoMoreInteractions(settings, dataSource, sha256);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenEmptyConstructorOnly() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(MigrationService.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static PlayerAuth authWithNickAndHash(String nick, String hash) {
|
private static PlayerAuth authWithNickAndHash(String nick, String hash) {
|
||||||
return PlayerAuth.builder()
|
return PlayerAuth.builder()
|
||||||
.name(nick)
|
.name(nick)
|
||||||
@ -123,12 +116,9 @@ public class MigrationServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void setSha256MockToUppercase(Sha256 sha256) {
|
private static void setSha256MockToUppercase(Sha256 sha256) {
|
||||||
given(sha256.computeHash(anyString(), anyString())).willAnswer(new Answer<HashedPassword>() {
|
given(sha256.computeHash(anyString(), anyString())).willAnswer(invocation -> {
|
||||||
@Override
|
String plainPassword = invocation.getArgument(0);
|
||||||
public HashedPassword answer(InvocationOnMock invocation) {
|
return new HashedPassword(plainPassword.toUpperCase(), null);
|
||||||
String plainPassword = invocation.getArgument(0);
|
|
||||||
return new HashedPassword(plainPassword.toUpperCase(), null);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -294,12 +294,6 @@ public class CommandManagerTest {
|
|||||||
verify(bukkitService).dispatchConsoleCommand("msg Bobby sad to see you go!");
|
verify(bukkitService).dispatchConsoleCommand("msg Bobby sad to see you go!");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructorInSettingsHolderClass() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(CommandSettingsHolder.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initManager() {
|
private void initManager() {
|
||||||
manager = new CommandManager(testFolder, bukkitService, geoIpService, commandMigrationService);
|
manager = new CommandManager(testFolder, bukkitService, geoIpService, commandMigrationService);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package fr.xephi.authme.settings.properties;
|
package fr.xephi.authme.settings.properties;
|
||||||
|
|
||||||
import ch.jalu.configme.configurationdata.ConfigurationData;
|
import ch.jalu.configme.configurationdata.ConfigurationData;
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.closeTo;
|
import static org.hamcrest.Matchers.closeTo;
|
||||||
@ -24,9 +23,4 @@ public class AuthMeSettingsRetrieverTest {
|
|||||||
assertThat((double) configurationData.getProperties().size(),
|
assertThat((double) configurationData.getProperties().size(),
|
||||||
closeTo(182, 10));
|
closeTo(182, 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(AuthMeSettingsRetriever.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -98,13 +98,6 @@ public class SettingsClassConsistencyTest {
|
|||||||
configData.getProperties(), hasSize((int) totalProperties));
|
configData.getProperties(), hasSize((int) totalProperties));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenEmptyConstructorOnly() {
|
|
||||||
for (Class<?> clazz : classes) {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(clazz);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isValidConstantField(Field field) {
|
private static boolean isValidConstantField(Field field) {
|
||||||
int modifiers = field.getModifiers();
|
int modifiers = field.getModifiers();
|
||||||
return Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers);
|
return Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers);
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package fr.xephi.authme.util;
|
package fr.xephi.authme.util;
|
||||||
|
|
||||||
import fr.xephi.authme.ReflectionTestUtils;
|
import fr.xephi.authme.ReflectionTestUtils;
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
@ -55,12 +54,6 @@ public class ExceptionUtilsTest {
|
|||||||
assertThat(resultUoe, sameInstance(uoe));
|
assertThat(resultUoe, sameInstance(uoe));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(ExceptionUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldFormatException() {
|
public void shouldFormatException() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
@ -185,12 +185,6 @@ public class FileUtilsTest {
|
|||||||
assertThat(dirAsFile.isFile(), equalTo(true));
|
assertThat(dirAsFile.isFile(), equalTo(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(FileUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldCreateCurrentTimestampString() {
|
public void shouldCreateCurrentTimestampString() {
|
||||||
// given / when
|
// given / when
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.util;
|
package fr.xephi.authme.util;
|
||||||
|
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
@ -50,10 +49,4 @@ public class InternetProtocolUtilsTest {
|
|||||||
assertThat(InternetProtocolUtils.isLoopbackAddress("127.0.0.1"), equalTo(true));
|
assertThat(InternetProtocolUtils.isLoopbackAddress("127.0.0.1"), equalTo(true));
|
||||||
assertThat(InternetProtocolUtils.isLoopbackAddress("::1"), equalTo(true));
|
assertThat(InternetProtocolUtils.isLoopbackAddress("::1"), equalTo(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHavePrivateConstructor() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(InternetProtocolUtils.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,11 +5,9 @@ import org.bukkit.entity.Player;
|
|||||||
import org.junit.BeforeClass;
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import static org.hamcrest.Matchers.equalTo;
|
import static org.hamcrest.Matchers.equalTo;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
import static org.mockito.BDDMockito.given;
|
import static org.mockito.BDDMockito.given;
|
||||||
import static org.mockito.Mockito.doThrow;
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -36,12 +34,6 @@ public class PlayerUtilsTest {
|
|||||||
assertThat(result, equalTo(ip));
|
assertThat(result, equalTo(ip));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(PlayerUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldCheckIfIsNpc() {
|
public void shouldCheckIfIsNpc() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.util;
|
package fr.xephi.authme.util;
|
||||||
|
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@ -84,11 +83,4 @@ public class RandomStringUtilsTest {
|
|||||||
|
|
||||||
// then - throw exception
|
// then - throw exception
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(RandomStringUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.util;
|
package fr.xephi.authme.util;
|
||||||
|
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static java.util.Arrays.asList;
|
import static java.util.Arrays.asList;
|
||||||
@ -77,11 +76,6 @@ public class StringUtilsTest {
|
|||||||
assertThat(StringUtils.getDifference("test", "something"), greaterThan(0.88));
|
assertThat(StringUtils.getDifference("test", "something"), greaterThan(0.88));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(StringUtils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldCheckIfHasNeedleInWord() {
|
public void shouldCheckIfHasNeedleInWord() {
|
||||||
// given/when/then
|
// given/when/then
|
||||||
|
|||||||
@ -55,12 +55,6 @@ public class UtilsTest {
|
|||||||
assertThat(result.toString(), equalTo(".*?"));
|
assertThat(result.toString(), equalTo(".*?"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHavePrivateConstructorOnly() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(Utils.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldLogAndSendMessage() {
|
public void shouldLogAndSendMessage() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package fr.xephi.authme.util.lazytags;
|
package fr.xephi.authme.util.lazytags;
|
||||||
|
|
||||||
import fr.xephi.authme.TestHelper;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@ -40,11 +39,4 @@ public class TagBuilderTest {
|
|||||||
assertThat(tag, instanceOf(DependentTag.class));
|
assertThat(tag, instanceOf(DependentTag.class));
|
||||||
assertThat(tag.getValue(24d), equalTo("26.4"));
|
assertThat(tag.getValue(24d), equalTo("26.4"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void shouldHaveHiddenConstructor() {
|
|
||||||
// given / when / then
|
|
||||||
TestHelper.validateHasOnlyPrivateEmptyConstructor(TagBuilder.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user