#792 Add missing tests / fix CodeClimate issues
This commit is contained in:
+6
-6
@@ -21,9 +21,9 @@ public class MySqlDefaultChangerColumnsTest {
|
||||
|
||||
// when / then
|
||||
for (MySqlDefaultChanger.Columns col : MySqlDefaultChanger.Columns.values()) {
|
||||
if (!properties.add(col.columnName.getPath())) {
|
||||
if (!properties.add(col.getColumnNameProperty().getPath())) {
|
||||
fail("Column '" + col + "' has a column name property path that was already encountered: "
|
||||
+ col.columnName.getPath());
|
||||
+ col.getColumnNameProperty().getPath());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,8 +44,8 @@ public class MySqlDefaultChangerColumnsTest {
|
||||
|
||||
private void verifyHasCorrespondingColumnDefinitions(MySqlDefaultChanger.Columns column) {
|
||||
// given / when
|
||||
String nullable = column.nullableDefinition;
|
||||
String notNull = column.notNullDefinition;
|
||||
String nullable = column.getNullableDefinition();
|
||||
String notNull = column.getNotNullDefinition();
|
||||
|
||||
// then
|
||||
String expectedNotNull = nullable + " NOT NULL DEFAULT ";
|
||||
@@ -56,8 +56,8 @@ public class MySqlDefaultChangerColumnsTest {
|
||||
|
||||
private void verifyHasSameDefaultValueInNotNullDefinition(MySqlDefaultChanger.Columns column) {
|
||||
// given / when
|
||||
String notNull = column.notNullDefinition;
|
||||
Object defaultValue = column.defaultValue;
|
||||
String notNull = column.getNotNullDefinition();
|
||||
Object defaultValue = column.getDefaultValue();
|
||||
|
||||
// then
|
||||
String defaultValueAsString = String.valueOf(defaultValue);
|
||||
|
||||
+59
-1
@@ -1,18 +1,29 @@
|
||||
package fr.xephi.authme.command.executable.authme.debug;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import fr.xephi.authme.ReflectionTestUtils;
|
||||
import fr.xephi.authme.TestHelper;
|
||||
import fr.xephi.authme.data.auth.PlayerCache;
|
||||
import fr.xephi.authme.datasource.CacheDataSource;
|
||||
import fr.xephi.authme.datasource.DataSource;
|
||||
import fr.xephi.authme.datasource.MySQL;
|
||||
import fr.xephi.authme.datasource.MySqlTestUtil;
|
||||
import fr.xephi.authme.settings.Settings;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
import static org.hamcrest.Matchers.sameInstance;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
/**
|
||||
* Test for {@link MySqlDefaultChanger}.
|
||||
@@ -49,7 +60,54 @@ public class MySqlDefaultChangerTest {
|
||||
assertThat(result, equalTo(source));
|
||||
}
|
||||
|
||||
// TODO #792: Add more tests
|
||||
@Test
|
||||
public void shouldReturnMySqlConnection() throws SQLException {
|
||||
// given
|
||||
Settings settings = mock(Settings.class);
|
||||
TestHelper.returnDefaultsForAllProperties(settings);
|
||||
HikariDataSource dataSource = mock(HikariDataSource.class);
|
||||
Connection connection = mock(Connection.class);
|
||||
given(dataSource.getConnection()).willReturn(connection);
|
||||
MySQL mySQL = MySqlTestUtil.createMySql(settings, dataSource);
|
||||
MySqlDefaultChanger defaultChanger = createDefaultChanger(mySQL);
|
||||
|
||||
// when
|
||||
Connection result = defaultChanger.getConnection(mySQL);
|
||||
|
||||
// then
|
||||
assertThat(result, equalTo(connection));
|
||||
verify(dataSource).getConnection();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldSetMySqlFieldOnInitialization() {
|
||||
// given
|
||||
MySQL mySql = mock(MySQL.class);
|
||||
MySqlDefaultChanger defaultChanger = createDefaultChanger(mySql);
|
||||
|
||||
// when
|
||||
defaultChanger.setMySqlField();
|
||||
|
||||
// then
|
||||
assertThat(ReflectionTestUtils.getFieldValue(MySqlDefaultChanger.class, defaultChanger, "mySql"),
|
||||
sameInstance(mySql));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldLeaveMySqlFieldToNullOnInitialization() {
|
||||
// given
|
||||
DataSource dataSource = mock(DataSource.class);
|
||||
PlayerCache playerCache = mock(PlayerCache.class);
|
||||
CacheDataSource cacheDataSource = new CacheDataSource(dataSource, playerCache);
|
||||
MySqlDefaultChanger defaultChanger = createDefaultChanger(cacheDataSource);
|
||||
|
||||
// when
|
||||
defaultChanger.setMySqlField();
|
||||
|
||||
// then
|
||||
assertThat(ReflectionTestUtils.getFieldValue(MySqlDefaultChanger.class, defaultChanger, "mySql"),
|
||||
nullValue());
|
||||
}
|
||||
|
||||
private MySqlDefaultChanger createDefaultChanger(DataSource dataSource) {
|
||||
MySqlDefaultChanger defaultChanger = new MySqlDefaultChanger();
|
||||
|
||||
Reference in New Issue
Block a user