55import fr .xephi .authme .message .MessageKey ;
66import fr .xephi .authme .message .Messages ;
77import fr .xephi .authme .service .bungeecord .BungeeSender ;
8+ import fr .xephi .authme .settings .Settings ;
9+ import fr .xephi .authme .settings .properties .PremiumSettings ;
810import org .bukkit .entity .Player ;
911import org .junit .jupiter .api .Test ;
1012import org .junit .jupiter .api .extension .ExtendWith ;
1921import static org .mockito .BDDMockito .given ;
2022import static org .mockito .Mockito .never ;
2123import static org .mockito .Mockito .verify ;
24+ import static org .mockito .Mockito .verifyNoInteractions ;
2225
2326/**
2427 * Test for {@link ProxyLoginRequestValidator}.
@@ -47,6 +50,9 @@ class ProxyLoginRequestValidatorTest {
4750 @ Mock
4851 private Messages messages ;
4952
53+ @ Mock
54+ private Settings settings ;
55+
5056 @ Mock
5157 private Player player ;
5258
@@ -55,6 +61,7 @@ void shouldAcceptStoredPremiumUuidFromProxy() {
5561 UUID premiumUuid = UUID .randomUUID ();
5662 PlayerAuth auth = PlayerAuth .builder ().name ("bobby" ).premiumUuid (premiumUuid ).build ();
5763 given (player .getName ()).willReturn ("Bobby" );
64+ given (settings .getProperty (PremiumSettings .ENABLE_PREMIUM )).willReturn (true );
5865 given (playerCache .getAuth ("Bobby" )).willReturn (auth );
5966
6067 assertTrue (validator .validate (player , premiumUuid ));
@@ -67,6 +74,7 @@ void shouldRejectStoredPremiumUuidMismatch() {
6774 UUID forwardedUuid = UUID .randomUUID ();
6875 PlayerAuth auth = PlayerAuth .builder ().name ("bobby" ).premiumUuid (storedUuid ).build ();
6976 given (player .getName ()).willReturn ("Bobby" );
77+ given (settings .getProperty (PremiumSettings .ENABLE_PREMIUM )).willReturn (true );
7078 given (playerCache .getAuth ("Bobby" )).willReturn (auth );
7179
7280 assertFalse (validator .validate (player , forwardedUuid ));
@@ -78,6 +86,7 @@ void shouldFinalizeMatchingPendingPremiumUuid() {
7886 UUID pendingUuid = UUID .randomUUID ();
7987 PlayerAuth auth = PlayerAuth .builder ().name ("bobby" ).build ();
8088 given (player .getName ()).willReturn ("Bobby" );
89+ given (settings .getProperty (PremiumSettings .ENABLE_PREMIUM )).willReturn (true );
8190 given (playerCache .getAuth ("Bobby" )).willReturn (auth );
8291 given (pendingPremiumCache .removePending ("Bobby" )).willReturn (pendingUuid );
8392
@@ -92,6 +101,7 @@ void shouldStaySilentWhenPendingAlreadyConsumed() {
92101 UUID forwardedUuid = UUID .randomUUID ();
93102 PlayerAuth auth = PlayerAuth .builder ().name ("bobby" ).build ();
94103 given (player .getName ()).willReturn ("Bobby" );
104+ given (settings .getProperty (PremiumSettings .ENABLE_PREMIUM )).willReturn (true );
95105 given (playerCache .getAuth ("Bobby" )).willReturn (auth );
96106 given (pendingPremiumCache .removePending ("Bobby" )).willReturn (null );
97107
@@ -107,6 +117,7 @@ void shouldRejectPendingPremiumUuidMismatchAndNotifyPlayer() {
107117 UUID forwardedUuid = UUID .randomUUID ();
108118 PlayerAuth auth = PlayerAuth .builder ().name ("bobby" ).build ();
109119 given (player .getName ()).willReturn ("Bobby" );
120+ given (settings .getProperty (PremiumSettings .ENABLE_PREMIUM )).willReturn (true );
110121 given (playerCache .getAuth ("Bobby" )).willReturn (auth );
111122 given (pendingPremiumCache .removePending ("Bobby" )).willReturn (pendingUuid );
112123
@@ -115,4 +126,16 @@ void shouldRejectPendingPremiumUuidMismatchAndNotifyPlayer() {
115126 verify (messages ).send (player , MessageKey .PREMIUM_PENDING_FAIL );
116127 verify (premiumService , never ()).finalizePendingPremium (player , forwardedUuid );
117128 }
129+
130+ @ Test
131+ void shouldRejectProxyPremiumClaimAndNotifyProxyWhenPremiumIsDisabled () {
132+ UUID forwardedUuid = UUID .randomUUID ();
133+ given (player .getName ()).willReturn ("Bobby" );
134+ given (settings .getProperty (PremiumSettings .ENABLE_PREMIUM )).willReturn (false );
135+
136+ assertFalse (validator .validate (player , forwardedUuid ));
137+ verify (bungeeSender ).sendPremiumUnset ("Bobby" );
138+ verify (messages , never ()).send (player , MessageKey .PREMIUM_PENDING_FAIL );
139+ verifyNoInteractions (playerCache , dataSource , pendingPremiumCache , premiumService );
140+ }
118141}
0 commit comments