11package fr .xephi .authme .service ;
22
3- import org .junit .jupiter .api .extension .ExtendWith ;
4- import fr .xephi .authme .DelayedInjectionExtension ;
5- import ch .jalu .injector .testing .BeforeInjecting ;
6- import ch .jalu .injector .testing .InjectDelayed ;
73import fr .xephi .authme .message .MessageKey ;
84import fr .xephi .authme .message .Messages ;
95import fr .xephi .authme .permission .AdminPermission ;
106import fr .xephi .authme .permission .PermissionsManager ;
117import fr .xephi .authme .settings .Settings ;
128import fr .xephi .authme .settings .properties .ProtectionSettings ;
139import org .bukkit .entity .Player ;
10+ import org .junit .jupiter .api .BeforeEach ;
1411import org .junit .jupiter .api .Test ;
12+ import org .junit .jupiter .api .extension .ExtendWith ;
1513import org .mockito .ArgumentCaptor ;
16- import org .mockito .Captor ;
1714import org .mockito .Mock ;
15+ import org .mockito .junit .jupiter .MockitoExtension ;
1816
1917import java .util .Arrays ;
2018import java .util .List ;
2119
22- import static fr .xephi .authme .service .BukkitServiceTestHelper .setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask ;
2320import static fr .xephi .authme .service .BukkitServiceTestHelper .setBukkitServiceToRunOnGlobalRegion ;
2421import static fr .xephi .authme .service .BukkitServiceTestHelper .setBukkitServiceToRunTaskLaterOnGlobalRegion ;
25- import static org . hamcrest . Matchers . equalTo ;
22+ import static fr . xephi . authme . service . BukkitServiceTestHelper . setBukkitServiceToScheduleSyncEntityTaskFromOptionallyAsyncTask ;
2623import static org .hamcrest .MatcherAssert .assertThat ;
24+ import static org .hamcrest .Matchers .equalTo ;
2725import static org .mockito .ArgumentMatchers .any ;
2826import static org .mockito .ArgumentMatchers .anyLong ;
27+ import static org .mockito .ArgumentMatchers .eq ;
2928import static org .mockito .BDDMockito .given ;
3029import static org .mockito .Mockito .mock ;
3130import static org .mockito .Mockito .only ;
3231import static org .mockito .Mockito .reset ;
32+ import static org .mockito .Mockito .times ;
3333import static org .mockito .Mockito .verify ;
3434import static org .mockito .Mockito .verifyNoInteractions ;
3535
3636/**
3737 * Test for {@link AntiBotService}.
3838 */
39- @ ExtendWith (DelayedInjectionExtension .class )
40- public class AntiBotServiceTest {
39+ @ ExtendWith (MockitoExtension .class )
40+ class AntiBotServiceTest {
4141
42- @ InjectDelayed
4342 private AntiBotService antiBotService ;
4443
4544 @ Mock
@@ -50,28 +49,26 @@ public class AntiBotServiceTest {
5049 private PermissionsManager permissionsManager ;
5150 @ Mock
5251 private BukkitService bukkitService ;
53- @ Captor
54- private ArgumentCaptor <Runnable > runnableCaptor ;
5552
56- @ BeforeInjecting
57- public void initSettings () {
53+ @ BeforeEach
54+ void initSettingsAndService () {
5855 given (settings .getProperty (ProtectionSettings .ANTIBOT_DURATION )).willReturn (10 );
5956 given (settings .getProperty (ProtectionSettings .ANTIBOT_INTERVAL )).willReturn (5 );
6057 given (settings .getProperty (ProtectionSettings .ANTIBOT_SENSIBILITY )).willReturn (5 );
6158 given (settings .getProperty (ProtectionSettings .ENABLE_ANTIBOT )).willReturn (true );
6259 given (settings .getProperty (ProtectionSettings .ANTIBOT_DELAY )).willReturn (8 );
6360 setBukkitServiceToRunTaskLaterOnGlobalRegion (bukkitService );
64- setBukkitServiceToRunOnGlobalRegion ( bukkitService );
61+ antiBotService = new AntiBotService ( settings , messages , permissionsManager , bukkitService );
6562 }
6663
6764 @ Test
68- public void shouldStartListenerOnStartup () {
65+ void shouldStartListenerOnStartup () {
6966 // given / when / then
7067 assertThat (antiBotService .getAntiBotStatus (), equalTo (AntiBotService .AntiBotStatus .LISTENING ));
7168 }
7269
7370 @ Test
74- public void shouldNotListenForDisabledSetting () {
71+ void shouldNotListenForDisabledSetting () {
7572 // given
7673 reset (bukkitService );
7774 given (settings .getProperty (ProtectionSettings .ENABLE_ANTIBOT )).willReturn (false );
@@ -85,7 +82,7 @@ public void shouldNotListenForDisabledSetting() {
8582 }
8683
8784 @ Test
88- public void shouldActivateAntibot () {
85+ void shouldActivateAntibot () {
8986 // given - listening antibot
9087 CancellableTask task = mock (CancellableTask .class );
9188 given (bukkitService .runTaskLaterOnGlobalRegion (any (Runnable .class ), anyLong ())).willReturn (task );
@@ -96,13 +93,14 @@ public void shouldActivateAntibot() {
9693 // then
9794 assertThat (antiBotService .getAntiBotStatus (), equalTo (AntiBotService .AntiBotStatus .ACTIVE ));
9895 // Check that a task is scheduled to disable again
99- verify (bukkitService , org .mockito .Mockito .times (2 )).runTaskLaterOnGlobalRegion (runnableCaptor .capture (), anyLong ());
96+ ArgumentCaptor <Runnable > runnableCaptor = ArgumentCaptor .forClass (Runnable .class );
97+ verify (bukkitService , times (2 )).runTaskLaterOnGlobalRegion (runnableCaptor .capture (), anyLong ());
10098 runnableCaptor .getAllValues ().get (1 ).run ();
10199 assertThat (antiBotService .getAntiBotStatus (), equalTo (AntiBotService .AntiBotStatus .LISTENING ));
102100 }
103101
104102 @ Test
105- public void shouldNotActivateAntibotForDisabledSetting () {
103+ void shouldNotActivateAntibotForDisabledSetting () {
106104 // given - disabled antibot
107105 given (settings .getProperty (ProtectionSettings .ENABLE_ANTIBOT )).willReturn (false );
108106 AntiBotService antiBotService = new AntiBotService (settings , messages , permissionsManager , bukkitService );
@@ -115,7 +113,7 @@ public void shouldNotActivateAntibotForDisabledSetting() {
115113 }
116114
117115 @ Test
118- public void shouldKeepTrackOfKickedPlayers () {
116+ void shouldKeepTrackOfKickedPlayers () {
119117 // given
120118 String name = "eratic" ;
121119 antiBotService .addPlayerKick (name );
@@ -130,7 +128,7 @@ public void shouldKeepTrackOfKickedPlayers() {
130128 }
131129
132130 @ Test
133- public void shouldAcceptPlayerToJoin () {
131+ void shouldAcceptPlayerToJoin () {
134132 // given / when
135133 boolean result = antiBotService .shouldKick ();
136134
@@ -139,7 +137,7 @@ public void shouldAcceptPlayerToJoin() {
139137 }
140138
141139 @ Test
142- public void shouldActivateAntibotAfterThreshold () {
140+ void shouldActivateAntibotAfterThreshold () {
143141 // given
144142 int sensitivity = 10 ;
145143 given (settings .getProperty (ProtectionSettings .ANTIBOT_SENSIBILITY )).willReturn (sensitivity );
@@ -158,29 +156,27 @@ public void shouldActivateAntibotAfterThreshold() {
158156 }
159157
160158 @ Test
161- public void shouldInformPlayersOnActivation () {
159+ void shouldInformPlayersOnActivation () {
162160 // given - listening antibot
163161 List <Player > players = Arrays .asList (mock (Player .class ), mock (Player .class ));
164162 given (bukkitService .getOnlinePlayers ()).willReturn (players );
165163 given (permissionsManager .hasPermission (players .get (0 ), AdminPermission .ANTIBOT_MESSAGES )).willReturn (false );
166164 given (permissionsManager .hasPermission (players .get (1 ), AdminPermission .ANTIBOT_MESSAGES )).willReturn (true );
167- setBukkitServiceToScheduleSyncTaskFromOptionallyAsyncTask (bukkitService );
165+ setBukkitServiceToScheduleSyncEntityTaskFromOptionallyAsyncTask (bukkitService );
168166 setBukkitServiceToRunOnGlobalRegion (bukkitService );
169167
170168 // when
171169 antiBotService .overrideAntiBotStatus (true );
172170
173171 // then
174- verify (permissionsManager ).hasPermission (players .get (0 ), AdminPermission .ANTIBOT_MESSAGES );
175- verify (permissionsManager ).hasPermission (players .get (1 ), AdminPermission .ANTIBOT_MESSAGES );
176- verify (bukkitService ).scheduleSyncTaskFromOptionallyAsyncTask (org .mockito .ArgumentMatchers .eq (players .get (0 )), any (Runnable .class ));
177- verify (bukkitService ).scheduleSyncTaskFromOptionallyAsyncTask (org .mockito .ArgumentMatchers .eq (players .get (1 )), any (Runnable .class ));
172+ verify (messages , only ()).send (players .get (1 ), MessageKey .ANTIBOT_AUTO_ENABLED_MESSAGE , new String [0 ]);
173+ verify (bukkitService ).scheduleSyncTaskFromOptionallyAsyncTask (eq (players .get (0 )), any (Runnable .class ));
174+ verify (bukkitService ).scheduleSyncTaskFromOptionallyAsyncTask (eq (players .get (1 )), any (Runnable .class ));
178175 }
179176
180177 @ Test
181- public void shouldImmediatelyStartAfterFirstStartup () {
178+ void shouldImmediatelyStartAfterFirstStartup () {
182179 // given - listening antibot
183- given (bukkitService .runTaskLaterOnGlobalRegion (any (Runnable .class ), anyLong ())).willReturn (mock (CancellableTask .class ));
184180 antiBotService .overrideAntiBotStatus (true );
185181
186182 // when
@@ -191,5 +187,3 @@ public void shouldImmediatelyStartAfterFirstStartup() {
191187 }
192188
193189}
194-
195-
0 commit comments