You've already forked Arcturus-Morningstar-Extended
mirror of
https://github.com/duckietm/Arcturus-Morningstar-Extended.git
synced 2026-06-20 07:26:18 +00:00
fix(session): separate forced disconnects from resume parking
Add a forced dispose path for bans, RCON disconnects, logout/account endpoints, plugin-cancelled login, duplicate login replacement, and late MAC-ban enforcement. Soft channel closes still park a session for reconnect, while security-driven closes now bypass session resume. Also null-guard client/channel disposal and cover the contract with focused tests.
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
package com.eu.habbo.habbohotel.gameclients;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
||||
|
||||
class GameClientManagerContractTest {
|
||||
|
||||
@Test
|
||||
void exposesExplicitForcedDisposePath() {
|
||||
assertDoesNotThrow(() -> GameClient.class.getDeclaredMethod("dispose", boolean.class));
|
||||
assertDoesNotThrow(() -> GameClientManager.class.getDeclaredMethod("forceDisposeClient", GameClient.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void disposeMethodsIgnoreNullClient() {
|
||||
GameClientManager manager = new GameClientManager();
|
||||
|
||||
assertDoesNotThrow(() -> manager.disposeClient(null));
|
||||
assertDoesNotThrow(() -> manager.forceDisposeClient(null));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user