Search in sources :

Example 1 with SessionMessage

use of com.faforever.client.remote.domain.SessionMessage in project downlords-faf-client by FAForever.

the class ServerAccessorImplTest method connectAndLogIn.

private void connectAndLogIn() throws Exception {
    CompletableFuture<LoginMessage> loginFuture = instance.connectAndLogIn("JUnit", "JUnitPassword").toCompletableFuture();
    assertNotNull(messagesReceivedByFafServer.poll(TIMEOUT, TIMEOUT_UNIT));
    SessionMessage sessionMessage = new SessionMessage();
    sessionMessage.setSession(5678);
    sendFromServer(sessionMessage);
    assertNotNull(messagesReceivedByFafServer.poll(TIMEOUT, TIMEOUT_UNIT));
    LoginMessage loginServerMessage = new LoginMessage();
    loginServerMessage.setId(123);
    loginServerMessage.setLogin("JUnitUser");
    sendFromServer(loginServerMessage);
    assertNotNull(loginFuture.get(TIMEOUT, TIMEOUT_UNIT));
}
Also used : InitSessionMessage(com.faforever.client.remote.domain.InitSessionMessage) SessionMessage(com.faforever.client.remote.domain.SessionMessage) LoginMessage(com.faforever.client.remote.domain.LoginMessage)

Example 2 with SessionMessage

use of com.faforever.client.remote.domain.SessionMessage in project downlords-faf-client by FAForever.

the class ServerAccessorImplTest method testConnectAndLogIn.

@Test
public void testConnectAndLogIn() throws Exception {
    int playerUid = 123;
    String username = "JunitUser";
    String password = "JunitPassword";
    long sessionId = 456;
    CompletableFuture<LoginMessage> loginFuture = instance.connectAndLogIn(username, password).toCompletableFuture();
    String json = messagesReceivedByFafServer.poll(TIMEOUT, TIMEOUT_UNIT);
    InitSessionMessage initSessionMessage = gson.fromJson(json, InitSessionMessage.class);
    assertThat(initSessionMessage.getCommand(), is(ClientMessageType.ASK_SESSION));
    SessionMessage sessionMessage = new SessionMessage();
    sessionMessage.setSession(sessionId);
    sendFromServer(sessionMessage);
    json = messagesReceivedByFafServer.poll(TIMEOUT, TIMEOUT_UNIT);
    LoginClientMessage loginClientMessage = gson.fromJson(json, LoginClientMessage.class);
    assertThat(loginClientMessage.getCommand(), is(ClientMessageType.LOGIN));
    assertThat(loginClientMessage.getLogin(), is(username));
    assertThat(loginClientMessage.getPassword(), is(Hashing.sha256().hashString(password, UTF_8).toString()));
    assertThat(loginClientMessage.getSession(), is(sessionId));
    assertThat(loginClientMessage.getUniqueId(), is("encrypteduidstring"));
    LoginMessage loginServerMessage = new LoginMessage();
    loginServerMessage.setId(playerUid);
    loginServerMessage.setLogin(username);
    sendFromServer(loginServerMessage);
    LoginMessage result = loginFuture.get(TIMEOUT, TIMEOUT_UNIT);
    assertThat(result.getMessageType(), is(FafServerMessageType.WELCOME));
    assertThat(result.getId(), is(playerUid));
    assertThat(result.getLogin(), is(username));
}
Also used : InitSessionMessage(com.faforever.client.remote.domain.InitSessionMessage) SessionMessage(com.faforever.client.remote.domain.SessionMessage) LoginMessage(com.faforever.client.remote.domain.LoginMessage) InitSessionMessage(com.faforever.client.remote.domain.InitSessionMessage) LoginClientMessage(com.faforever.client.remote.domain.LoginClientMessage) Test(org.junit.Test) AbstractPlainJavaFxTest(com.faforever.client.test.AbstractPlainJavaFxTest)

Aggregations

InitSessionMessage (com.faforever.client.remote.domain.InitSessionMessage)2 LoginMessage (com.faforever.client.remote.domain.LoginMessage)2 SessionMessage (com.faforever.client.remote.domain.SessionMessage)2 LoginClientMessage (com.faforever.client.remote.domain.LoginClientMessage)1 AbstractPlainJavaFxTest (com.faforever.client.test.AbstractPlainJavaFxTest)1 Test (org.junit.Test)1