package com.jenjinstudios.client.message; import com.jenjinstudios.client.net.AuthClient; import com.jenjinstudios.core.io.Message; import com.jenjinstudios.core.io.MessageRegistry; import org.testng.annotations.Test; import static org.mockito.Mockito.*; /** * Test the ExecutableLogoutResponse class. * * @author Caleb Brinkman */ public class ExecutableLogoutResponseTest { /** * Test the execution of the ExecutableLogoutResponse. */ @Test public void testMessageExecution() { Message loginResponse = MessageRegistry.getInstance().createMessage("LogoutResponse"); loginResponse.setArgument("success", true); AuthClient authClient = mock(AuthClient.class); AuthClient.LoginTracker loginTracker = mock(AuthClient.LoginTracker.class); when(authClient.getLoginTracker()).thenReturn(loginTracker); ExecutableLogoutResponse response = new ExecutableLogoutResponse(authClient, loginResponse); response.runImmediate(); response.runDelayed(); verify(loginTracker).setLoggedIn(false); } }