use of com.faforever.client.remote.domain.LoginClientMessage in project downlords-faf-client by FAForever.
the class FafServerAccessorImpl method logIn.
private void logIn(String username, String password) {
try {
String uniqueId = uidService.generate(String.valueOf(sessionId.get()), preferencesService.getFafDataDirectory().resolve("uid.log"));
writeToServer(new LoginClientMessage(username, Hashing.sha256().hashString(password, UTF_8).toString(), sessionId.get(), uniqueId, localIp));
} catch (IOException e) {
onUIDNotExecuted(e);
}
}
use of com.faforever.client.remote.domain.LoginClientMessage 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));
}
Aggregations