Refactor util for setting BukkitService mock behavior

- Move helper methods for setting BukkitService mock behavior into their own class
- Change methods to use Mockito's answer instead of verification + argument capture -> calling the methods now belongs to the test setup (given clause) and allows the behavior to take effect more than once
This commit is contained in:
ljacqu
2017-11-22 00:24:11 +01:00
parent 4717dc148c
commit 1053440b15
13 changed files with 147 additions and 139 deletions
@@ -22,6 +22,7 @@ import org.mockito.junit.MockitoJUnitRunner;
import static fr.xephi.authme.AuthMeMatchers.equalToHash;
import static fr.xephi.authme.AuthMeMatchers.hasAuthBasicData;
import static fr.xephi.authme.service.BukkitServiceTestHelper.setBukkitServiceToScheduleSyncDelayedTaskWithDelay;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.not;
@@ -116,12 +117,12 @@ public class PasswordRegisterExecutorTest {
given(commonService.getProperty(PluginSettings.USE_ASYNC_TASKS)).willReturn(false);
Player player = mock(Player.class);
PasswordRegisterParams params = PasswordRegisterParams.of(player, "pass", "mail@example.org");
setBukkitServiceToScheduleSyncDelayedTaskWithDelay(bukkitService);
// when
executor.executePostPersistAction(params);
// then
TestHelper.runSyncDelayedTaskWithDelay(bukkitService);
verify(asynchronousLogin).forceLogin(player);
verify(syncProcessManager).processSyncPasswordRegister(player);
}
@@ -31,7 +31,7 @@ import org.mockito.junit.MockitoJUnitRunner;
import java.util.function.Function;
import static fr.xephi.authme.TestHelper.setBukkitServiceToRunOptionallyAsyncTasks;
import static fr.xephi.authme.service.BukkitServiceTestHelper.setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -115,7 +115,7 @@ public class AsynchronousUnregisterTest {
given(service.getProperty(RegistrationSettings.FORCE)).willReturn(true);
given(service.getProperty(RegistrationSettings.APPLY_BLIND_EFFECT)).willReturn(true);
given(service.getProperty(RestrictionSettings.TIMEOUT)).willReturn(21);
setBukkitServiceToRunOptionallyAsyncTasks(bukkitService);
setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask(bukkitService);
// when
asynchronousUnregister.unregister(player, userPassword);
@@ -148,7 +148,7 @@ public class AsynchronousUnregisterTest {
given(dataSource.removeAuth(name)).willReturn(true);
given(service.getProperty(RegistrationSettings.FORCE)).willReturn(true);
given(service.getProperty(RegistrationSettings.APPLY_BLIND_EFFECT)).willReturn(false);
setBukkitServiceToRunOptionallyAsyncTasks(bukkitService);
setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask(bukkitService);
// when
asynchronousUnregister.unregister(player, userPassword);
@@ -179,7 +179,7 @@ public class AsynchronousUnregisterTest {
given(passwordSecurity.comparePassword(userPassword, password, name)).willReturn(true);
given(dataSource.removeAuth(name)).willReturn(true);
given(service.getProperty(RegistrationSettings.FORCE)).willReturn(false);
setBukkitServiceToRunOptionallyAsyncTasks(bukkitService);
setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask(bukkitService);
// when
asynchronousUnregister.unregister(player, userPassword);
@@ -257,7 +257,7 @@ public class AsynchronousUnregisterTest {
given(service.getProperty(RegistrationSettings.FORCE)).willReturn(true);
given(service.getProperty(RegistrationSettings.APPLY_BLIND_EFFECT)).willReturn(false);
CommandSender initiator = mock(CommandSender.class);
setBukkitServiceToRunOptionallyAsyncTasks(bukkitService);
setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask(bukkitService);
// when
asynchronousUnregister.adminUnregister(initiator, name, player);