Fixing some of the java test cases. Still incomplete.
This commit is contained in:
@@ -28,9 +28,12 @@ import org.junit.Test;
|
|||||||
import com.google.protobuf.ByteString;
|
import com.google.protobuf.ByteString;
|
||||||
|
|
||||||
import de.pokerth.protocol.ProtoBuf.AnnounceMessage;
|
import de.pokerth.protocol.ProtoBuf.AnnounceMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.AuthClientRequestMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.AuthMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.ErrorMessage.ErrorReason;
|
import de.pokerth.protocol.ProtoBuf.ErrorMessage.ErrorReason;
|
||||||
import de.pokerth.protocol.ProtoBuf.InitMessage;
|
|
||||||
import de.pokerth.protocol.ProtoBuf.AnnounceMessage.ServerType;
|
import de.pokerth.protocol.ProtoBuf.AnnounceMessage.ServerType;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.AuthMessage.AuthMessageType;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||||
|
|
||||||
@@ -49,22 +52,25 @@ public class BlockedPlayerTest extends TestBase {
|
|||||||
.setMajorVersion(PROTOCOL_VERSION_MAJOR)
|
.setMajorVersion(PROTOCOL_VERSION_MAJOR)
|
||||||
.setMinorVersion(PROTOCOL_VERSION_MINOR)
|
.setMinorVersion(PROTOCOL_VERSION_MINOR)
|
||||||
.build();
|
.build();
|
||||||
InitMessage init = InitMessage.newBuilder()
|
AuthClientRequestMessage init = AuthClientRequestMessage.newBuilder()
|
||||||
.setBuildId(0)
|
.setBuildId(0)
|
||||||
.setLogin(InitMessage.LoginType.authenticatedLogin)
|
.setLogin(AuthClientRequestMessage.LoginType.authenticatedLogin)
|
||||||
.setRequestedVersion(requestedVersion)
|
.setRequestedVersion(requestedVersion)
|
||||||
.setClientUserData(ByteString.copyFromUtf8(scramAuth.executeStep1("test9999")))
|
.setClientUserData(ByteString.copyFromUtf8(scramAuth.executeStep1("test9999")))
|
||||||
.build();
|
.build();
|
||||||
|
AuthMessage auth = AuthMessage.newBuilder()
|
||||||
|
.setMessageType(AuthMessageType.Type_AuthClientRequestMessage)
|
||||||
|
.setAuthClientRequestMessage(init)
|
||||||
|
.build();
|
||||||
msg = PokerTHMessage.newBuilder()
|
msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_InitMessage)
|
.setMessageType(PokerTHMessageType.Type_AuthMessage)
|
||||||
.setInitMessage(init)
|
.setAuthMessage(auth)
|
||||||
.build();
|
.build();
|
||||||
sendMessage(msg, sock);
|
sendMessage(msg, sock);
|
||||||
|
|
||||||
msg = receiveMessage(sock);
|
msg = receiveMessage(sock);
|
||||||
assertTrue(msg.hasErrorMessage() && msg.getMessageType() == PokerTHMessageType.Type_ErrorMessage);
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasErrorMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_ErrorMessage);
|
||||||
assertEquals(ErrorReason.blockedByServer, msg.getErrorMessage().getErrorReason());
|
assertEquals(ErrorReason.blockedByServer, msg.getLobbyMessage().getErrorMessage().getErrorReason());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -27,8 +27,15 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import de.pokerth.protocol.ProtoBuf.ChatMessage.ChatType;
|
import de.pokerth.protocol.ProtoBuf.ChatMessage.ChatType;
|
||||||
import de.pokerth.protocol.ProtoBuf.ChatRequestMessage;
|
import de.pokerth.protocol.ProtoBuf.ChatRequestMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.ErrorMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LobbyMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||||
@@ -45,21 +52,33 @@ public class ChatTest extends TestBase {
|
|||||||
ChatRequestMessage chatLobby = ChatRequestMessage.newBuilder()
|
ChatRequestMessage chatLobby = ChatRequestMessage.newBuilder()
|
||||||
.setChatText(chatText)
|
.setChatText(chatText)
|
||||||
.build();
|
.build();
|
||||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_ChatRequestMessage)
|
.setMessageType(LobbyMessageType.Type_ChatRequestMessage)
|
||||||
.setChatRequestMessage(chatLobby)
|
.setChatRequestMessage(chatLobby)
|
||||||
.build();
|
.build();
|
||||||
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
|
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||||
|
.setLobbyMessage(lobby)
|
||||||
|
.build();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
PokerTHMessage createGameChatMsg(String chatText, int gameId) {
|
PokerTHMessage createGameChatMsg(String chatText, int gameId) {
|
||||||
ChatRequestMessage chatGame = ChatRequestMessage.newBuilder()
|
ChatRequestMessage chatGame = ChatRequestMessage.newBuilder()
|
||||||
.setChatText(chatText)
|
.setChatText(chatText)
|
||||||
.setTargetGameId(gameId)
|
.build();
|
||||||
|
GameManagementMessage gameManagment = GameManagementMessage.newBuilder()
|
||||||
|
.setMessageType(GameManagementMessageType.Type_ChatRequestMessage)
|
||||||
|
.setChatRequestMessage(chatGame)
|
||||||
|
.build();
|
||||||
|
GameMessage game = GameMessage.newBuilder()
|
||||||
|
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||||
|
.setGameManagementMessage(gameManagment)
|
||||||
|
.setGameId(gameId)
|
||||||
.build();
|
.build();
|
||||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_ChatRequestMessage)
|
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||||
.setChatRequestMessage(chatGame)
|
.setGameMessage(game)
|
||||||
.build();
|
.build();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
@@ -69,10 +88,14 @@ public class ChatTest extends TestBase {
|
|||||||
.setChatText(chatText)
|
.setChatText(chatText)
|
||||||
.setTargetPlayerId(playerId)
|
.setTargetPlayerId(playerId)
|
||||||
.build();
|
.build();
|
||||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_ChatRequestMessage)
|
.setMessageType(LobbyMessageType.Type_ChatRequestMessage)
|
||||||
.setChatRequestMessage(chatPrivate)
|
.setChatRequestMessage(chatPrivate)
|
||||||
.build();
|
.build();
|
||||||
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
|
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||||
|
.setLobbyMessage(lobby)
|
||||||
|
.build();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,62 +117,47 @@ public class ChatTest extends TestBase {
|
|||||||
sendMessage(msg);
|
sendMessage(msg);
|
||||||
do {
|
do {
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
} while (msg.hasPlayerListMessage());
|
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||||
assertTrue(msg.hasChatRejectMessage());
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasChatRejectMessage());
|
||||||
assertEquals(ChatText + 1, msg.getChatRejectMessage().getChatText());
|
assertEquals(ChatText + 1, msg.getLobbyMessage().getChatRejectMessage().getChatText());
|
||||||
|
|
||||||
// Message as registered user should be sent to other users and guests.
|
// Message as registered user should be sent to other users and guests.
|
||||||
msg = createLobbyChatMsg(ChatText + 2);
|
msg = createLobbyChatMsg(ChatText + 2);
|
||||||
sendMessage(msg, s[0]);
|
sendMessage(msg, s[0]);
|
||||||
|
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
assertTrue(msg.hasChatMessage() && msg.getMessageType() == PokerTHMessageType.Type_ChatMessage);
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasChatMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_ChatMessage);
|
||||||
assertEquals(ChatText + 2, msg.getChatMessage().getChatText());
|
assertEquals(ChatText + 2, msg.getLobbyMessage().getChatMessage().getChatText());
|
||||||
assertEquals(ChatType.chatTypeLobby, msg.getChatMessage().getChatType());
|
assertEquals(ChatType.chatTypeStandard, msg.getLobbyMessage().getChatMessage().getChatType());
|
||||||
assertEquals(playerId[0], msg.getChatMessage().getPlayerId());
|
assertEquals(playerId[0], msg.getLobbyMessage().getChatMessage().getPlayerId());
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
do {
|
do {
|
||||||
msg = receiveMessage(s[i]);
|
msg = receiveMessage(s[i]);
|
||||||
} while (msg.hasPlayerListMessage());
|
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||||
assertTrue(msg.hasChatMessage() && msg.getMessageType() == PokerTHMessageType.Type_ChatMessage);
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasChatMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_ChatMessage);
|
||||||
assertEquals(ChatText + 2, msg.getChatMessage().getChatText());
|
assertEquals(ChatText + 2, msg.getLobbyMessage().getChatMessage().getChatText());
|
||||||
assertEquals(ChatType.chatTypeLobby, msg.getChatMessage().getChatType());
|
assertEquals(ChatType.chatTypeStandard, msg.getLobbyMessage().getChatMessage().getChatType());
|
||||||
assertEquals(playerId[0], msg.getChatMessage().getPlayerId());
|
assertEquals(playerId[0], msg.getLobbyMessage().getChatMessage().getPlayerId());
|
||||||
}
|
}
|
||||||
|
|
||||||
// A game chat message, if not within a game, should be rejected.
|
|
||||||
msg = createGameChatMsg(ChatText + 3, 1);
|
|
||||||
sendMessage(msg);
|
|
||||||
|
|
||||||
msg = receiveMessage();
|
|
||||||
assertTrue(msg.hasChatRejectMessage() && msg.getMessageType() == PokerTHMessageType.Type_ChatRejectMessage);
|
|
||||||
assertEquals(ChatText + 3, msg.getChatRejectMessage().getChatText());
|
|
||||||
|
|
||||||
msg = createGameChatMsg(ChatText + 4, 1);
|
|
||||||
sendMessage(msg, s[0]);
|
|
||||||
|
|
||||||
msg = receiveMessage(s[0]);
|
|
||||||
assertTrue(msg.hasChatRejectMessage() && msg.getMessageType() == PokerTHMessageType.Type_ChatRejectMessage);
|
|
||||||
assertEquals(ChatText + 4, msg.getChatRejectMessage().getChatText());
|
|
||||||
|
|
||||||
// Guests are not allowed to send private messages in the lobby.
|
// Guests are not allowed to send private messages in the lobby.
|
||||||
msg = createPrivateChatMsg(ChatText + 5, playerId[1]);
|
msg = createPrivateChatMsg(ChatText + 5, playerId[1]);
|
||||||
sendMessage(msg);
|
sendMessage(msg);
|
||||||
|
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
assertTrue(msg.hasChatRejectMessage() && msg.getMessageType() == PokerTHMessageType.Type_ChatRejectMessage);
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasChatRejectMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_ChatRejectMessage);
|
||||||
assertEquals(ChatText + 5, msg.getChatRejectMessage().getChatText());
|
assertEquals(ChatText + 5, msg.getLobbyMessage().getChatRejectMessage().getChatText());
|
||||||
|
|
||||||
// Registered users are allowed to send private messages in the lobby.
|
// Registered users are allowed to send private messages in the lobby.
|
||||||
msg = createPrivateChatMsg(ChatText + 6, playerId[1]);
|
msg = createPrivateChatMsg(ChatText + 6, playerId[1]);
|
||||||
sendMessage(msg, s[0]);
|
sendMessage(msg, s[0]);
|
||||||
|
|
||||||
msg = receiveMessage(s[1]);
|
msg = receiveMessage(s[1]);
|
||||||
assertTrue(msg.hasChatMessage() && msg.getMessageType() == PokerTHMessageType.Type_ChatMessage);
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasChatMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_ChatMessage);
|
||||||
assertEquals(ChatText + 6, msg.getChatMessage().getChatText());
|
assertEquals(ChatText + 6, msg.getLobbyMessage().getChatMessage().getChatText());
|
||||||
assertEquals(ChatType.chatTypePrivate, msg.getChatMessage().getChatType());
|
assertEquals(ChatType.chatTypePrivate, msg.getLobbyMessage().getChatMessage().getChatType());
|
||||||
assertEquals(playerId[0], msg.getChatMessage().getPlayerId());
|
assertEquals(playerId[0], msg.getLobbyMessage().getChatMessage().getPlayerId());
|
||||||
|
|
||||||
// Game messages can be sent by registered users within a game.
|
// Game messages can be sent by registered users within a game.
|
||||||
Collection<Integer> l = new ArrayList<Integer>();
|
Collection<Integer> l = new ArrayList<Integer>();
|
||||||
@@ -161,9 +169,10 @@ public class ChatTest extends TestBase {
|
|||||||
do {
|
do {
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())
|
||||||
assertTrue(msg.hasJoinGameAckMessage() && msg.getMessageType() == PokerTHMessageType.Type_JoinGameAckMessage);
|
&& !(msg.hasLobbyMessage() && msg.getLobbyMessage().hasCreateGameFailedMessage()));
|
||||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_JoinGameAckMessage);
|
||||||
|
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||||
|
|
||||||
// Let 8 players join the game, and test game chat.
|
// Let 8 players join the game, and test game chat.
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
@@ -171,34 +180,51 @@ public class ChatTest extends TestBase {
|
|||||||
do {
|
do {
|
||||||
msg = receiveMessage(s[i]);
|
msg = receiveMessage(s[i]);
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())
|
||||||
assertTrue(msg.hasJoinGameAckMessage() && msg.getMessageType() == PokerTHMessageType.Type_JoinGameAckMessage);
|
&& !(msg.hasLobbyMessage() && msg.getLobbyMessage().hasCreateGameFailedMessage()));
|
||||||
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_JoinGameAckMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
StartEventMessage startEvent = StartEventMessage.newBuilder()
|
StartEventMessage startEvent = StartEventMessage.newBuilder()
|
||||||
.setGameId(gameId)
|
|
||||||
.setFillWithComputerPlayers(false)
|
.setFillWithComputerPlayers(false)
|
||||||
.setStartEventType(StartEventType.startEvent)
|
.setStartEventType(StartEventType.startEvent)
|
||||||
.build();
|
.build();
|
||||||
msg = PokerTHMessage.newBuilder()
|
GameManagementMessage gameManagment = GameManagementMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_StartEventMessage)
|
.setMessageType(GameManagementMessageType.Type_StartEventMessage)
|
||||||
.setStartEventMessage(startEvent)
|
.setStartEventMessage(startEvent)
|
||||||
.build();
|
.build();
|
||||||
|
GameMessage game = GameMessage.newBuilder()
|
||||||
|
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||||
|
.setGameManagementMessage(gameManagment)
|
||||||
|
.setGameId(gameId)
|
||||||
|
.build();
|
||||||
|
msg = PokerTHMessage.newBuilder()
|
||||||
|
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||||
|
.setGameMessage(game)
|
||||||
|
.build();
|
||||||
sendMessage(msg);
|
sendMessage(msg);
|
||||||
|
|
||||||
// Server should confirm start event.
|
// Server should confirm start event.
|
||||||
do {
|
do {
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
} while (!msg.hasStartEventMessage());
|
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()));
|
||||||
|
|
||||||
// Acknowledge start event.
|
// Acknowledge start event.
|
||||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||||
|
.build();
|
||||||
|
gameManagment = GameManagementMessage.newBuilder()
|
||||||
|
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||||
|
.setStartEventAckMessage(startAck)
|
||||||
|
.build();
|
||||||
|
game = GameMessage.newBuilder()
|
||||||
|
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||||
|
.setGameManagementMessage(gameManagment)
|
||||||
.setGameId(gameId)
|
.setGameId(gameId)
|
||||||
.build();
|
.build();
|
||||||
msg = PokerTHMessage.newBuilder()
|
msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||||
.setStartEventAckMessage(startAck)
|
.setGameMessage(game)
|
||||||
.build();
|
.build();
|
||||||
sendMessage(msg);
|
sendMessage(msg);
|
||||||
|
|
||||||
@@ -210,8 +236,7 @@ public class ChatTest extends TestBase {
|
|||||||
do {
|
do {
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
} while (!msg.hasGameStartInitialMessage());
|
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage()));
|
||||||
|
|
||||||
|
|
||||||
// Guest user: not allowed.
|
// Guest user: not allowed.
|
||||||
msg = createGameChatMsg(ChatText + 7, gameId);
|
msg = createGameChatMsg(ChatText + 7, gameId);
|
||||||
@@ -219,9 +244,9 @@ public class ChatTest extends TestBase {
|
|||||||
do {
|
do {
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
assertFalse(msg.hasChatMessage());
|
assertFalse(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatMessage());
|
||||||
} while (!msg.hasChatRejectMessage());
|
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatRejectMessage()));
|
||||||
assertEquals(ChatText + 7, msg.getChatRejectMessage().getChatText());
|
assertEquals(ChatText + 7, msg.getGameMessage().getGameManagementMessage().getChatRejectMessage().getChatText());
|
||||||
|
|
||||||
// Other users: allowed.
|
// Other users: allowed.
|
||||||
for (int c = 0; c < 8; c++) {
|
for (int c = 0; c < 8; c++) {
|
||||||
@@ -230,25 +255,25 @@ public class ChatTest extends TestBase {
|
|||||||
do {
|
do {
|
||||||
msg = receiveMessage(s[c]);
|
msg = receiveMessage(s[c]);
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
assertFalse(msg.hasChatRejectMessage() || msg.getMessageType() == PokerTHMessageType.Type_ChatRejectMessage);
|
assertFalse(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatRejectMessage());
|
||||||
} while (!msg.hasChatMessage());
|
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatMessage()));
|
||||||
|
|
||||||
assertEquals(ChatText + "c" + c, msg.getChatMessage().getChatText());
|
assertEquals(ChatText + "c" + c, msg.getGameMessage().getGameManagementMessage().getChatMessage().getChatText());
|
||||||
assertEquals(ChatType.chatTypeGame, msg.getChatMessage().getChatType());
|
assertEquals(ChatType.chatTypeStandard, msg.getGameMessage().getGameManagementMessage().getChatMessage().getChatType());
|
||||||
assertEquals(playerId[c], msg.getChatMessage().getPlayerId());
|
assertEquals(playerId[c], msg.getGameMessage().getGameManagementMessage().getChatMessage().getPlayerId());
|
||||||
assertEquals(gameId, msg.getChatMessage().getGameId());
|
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
if (i != c) {
|
if (i != c) {
|
||||||
do {
|
do {
|
||||||
msg = receiveMessage(s[i]);
|
msg = receiveMessage(s[i]);
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
assertFalse(msg.hasChatRejectMessage() || msg.getMessageType() == PokerTHMessageType.Type_ChatRejectMessage);
|
assertFalse(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatRejectMessage());
|
||||||
} while (!msg.hasChatMessage());
|
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatMessage()));
|
||||||
assertEquals(ChatText + "c" + c, msg.getChatMessage().getChatText());
|
assertEquals(ChatText + "c" + c, msg.getGameMessage().getGameManagementMessage().getChatMessage().getChatText());
|
||||||
assertEquals(ChatType.chatTypeGame, msg.getChatMessage().getChatType());
|
assertEquals(ChatType.chatTypeStandard, msg.getGameMessage().getGameManagementMessage().getChatMessage().getChatType());
|
||||||
assertEquals(playerId[c], msg.getChatMessage().getPlayerId());
|
assertEquals(playerId[c], msg.getGameMessage().getGameManagementMessage().getChatMessage().getPlayerId());
|
||||||
assertEquals(gameId, msg.getChatMessage().getGameId());
|
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -259,8 +284,23 @@ public class ChatTest extends TestBase {
|
|||||||
do {
|
do {
|
||||||
msg = receiveMessage(s[0]);
|
msg = receiveMessage(s[0]);
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
assertFalse(msg.hasChatMessage() || msg.getMessageType() == PokerTHMessageType.Type_ChatMessage);
|
assertFalse(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasChatMessage());
|
||||||
} while (!msg.hasChatRejectMessage());
|
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasChatRejectMessage()));
|
||||||
|
|
||||||
|
// Leave the game.
|
||||||
|
msg = leaveGameRequestMsg(gameId);
|
||||||
|
sendMessage(msg, s[0]);
|
||||||
|
do {
|
||||||
|
msg = receiveMessage(s[0]);
|
||||||
|
failOnErrorMessage(msg);
|
||||||
|
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasRemovedFromGameMessage()));
|
||||||
|
// A game chat message, if not within a game, should be rejected with error.
|
||||||
|
msg = createGameChatMsg(ChatText + 9, gameId);
|
||||||
|
sendMessage(msg, s[0]);
|
||||||
|
|
||||||
|
msg = receiveMessage(s[0]);
|
||||||
|
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasErrorMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_ErrorMessage);
|
||||||
|
assertEquals(ErrorMessage.ErrorReason.invalidState, msg.getLobbyMessage().getErrorMessage().getErrorReason());
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
s[i].close();
|
s[i].close();
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ import java.util.Iterator;
|
|||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
|
||||||
|
|
||||||
public class CreateGameTest extends TestBase {
|
public class CreateGameTest extends TestBase {
|
||||||
|
|
||||||
@@ -48,22 +48,22 @@ public class CreateGameTest extends TestBase {
|
|||||||
|
|
||||||
PokerTHMessage msg;
|
PokerTHMessage msg;
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (!msg.hasPlayerListMessage() || msg.getMessageType() != PokerTHMessageType.Type_PlayerListMessage) {
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_PlayerListMessage) {
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Invalid message.");
|
fail("Invalid message.");
|
||||||
}
|
}
|
||||||
|
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (!msg.hasGameListNewMessage() || msg.getMessageType() != PokerTHMessageType.Type_GameListNewMessage) {
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_GameListNewMessage) {
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Invalid message.");
|
fail("Invalid message.");
|
||||||
}
|
}
|
||||||
|
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (msg.hasJoinGameAckMessage() && msg.getMessageType() == PokerTHMessageType.Type_JoinGameAckMessage)
|
if (msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_JoinGameAckMessage)
|
||||||
{
|
{
|
||||||
assertTrue(msg.getJoinGameAckMessage().getGameId() != 0);
|
assertTrue(msg.getLobbyMessage().getJoinGameAckMessage().getGameId() != 0);
|
||||||
NetGameInfo receivedGameInfo = msg.getJoinGameAckMessage().getGameInfo();
|
NetGameInfo receivedGameInfo = msg.getLobbyMessage().getJoinGameAckMessage().getGameInfo();
|
||||||
assertEquals(receivedGameInfo.getDelayBetweenHands(), gameInfo.getDelayBetweenHands());
|
assertEquals(receivedGameInfo.getDelayBetweenHands(), gameInfo.getDelayBetweenHands());
|
||||||
assertEquals(receivedGameInfo.getEndRaiseMode(), gameInfo.getEndRaiseMode());
|
assertEquals(receivedGameInfo.getEndRaiseMode(), gameInfo.getEndRaiseMode());
|
||||||
assertEquals(receivedGameInfo.getEndRaiseSmallBlindValue(), gameInfo.getEndRaiseSmallBlindValue());
|
assertEquals(receivedGameInfo.getEndRaiseSmallBlindValue(), gameInfo.getEndRaiseSmallBlindValue());
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class CreateRankingGameTest extends TestBase {
|
|||||||
|
|
||||||
PokerTHMessage msg;
|
PokerTHMessage msg;
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (!msg.hasPlayerListMessage()) {
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Invalid message.");
|
fail("Invalid message.");
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ public class CreateRankingGameTest extends TestBase {
|
|||||||
createRankingGame("");
|
createRankingGame("");
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
|
|
||||||
if (!msg.hasJoinGameFailedMessage())
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasCreateGameFailedMessage())
|
||||||
{
|
{
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Guest user could create ranking game!");
|
fail("Guest user could create ranking game!");
|
||||||
@@ -72,7 +72,7 @@ public class CreateRankingGameTest extends TestBase {
|
|||||||
// Waiting for player list update.
|
// Waiting for player list update.
|
||||||
PokerTHMessage msg;
|
PokerTHMessage msg;
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (!msg.hasPlayerListMessage()) {
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Invalid message.");
|
fail("Invalid message.");
|
||||||
}
|
}
|
||||||
@@ -80,10 +80,10 @@ public class CreateRankingGameTest extends TestBase {
|
|||||||
createRankingGame("");
|
createRankingGame("");
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
|
|
||||||
if (msg.hasGameListNewMessage())
|
if (msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListNewMessage())
|
||||||
{
|
{
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (msg.hasJoinGameFailedMessage())
|
if (msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameFailedMessage())
|
||||||
{
|
{
|
||||||
fail("Registered user could not join ranking game!");
|
fail("Registered user could not join ranking game!");
|
||||||
}
|
}
|
||||||
@@ -101,7 +101,7 @@ public class CreateRankingGameTest extends TestBase {
|
|||||||
// Waiting for player list update.
|
// Waiting for player list update.
|
||||||
PokerTHMessage msg;
|
PokerTHMessage msg;
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
if (!msg.hasPlayerListMessage()) {
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Invalid message.");
|
fail("Invalid message.");
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ public class CreateRankingGameTest extends TestBase {
|
|||||||
createRankingGame(GamePassword);
|
createRankingGame(GamePassword);
|
||||||
msg = receiveMessage();
|
msg = receiveMessage();
|
||||||
|
|
||||||
if (!msg.hasJoinGameFailedMessage())
|
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasCreateGameFailedMessage())
|
||||||
{
|
{
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
fail("Registered user should not be allowed to create ranking game with password!");
|
fail("Registered user should not be allowed to create ranking game with password!");
|
||||||
|
|||||||
@@ -41,16 +41,25 @@ import javax.xml.parsers.DocumentBuilderFactory;
|
|||||||
|
|
||||||
import de.pokerth.protocol.ProtoBuf.AnnounceMessage;
|
import de.pokerth.protocol.ProtoBuf.AnnounceMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.AnnounceMessage.ServerType;
|
import de.pokerth.protocol.ProtoBuf.AnnounceMessage.ServerType;
|
||||||
import de.pokerth.protocol.ProtoBuf.AuthClientResponseMessage;
|
import de.pokerth.protocol.ProtoBuf.AuthMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.AuthMessage.AuthMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.ErrorMessage;
|
import de.pokerth.protocol.ProtoBuf.ErrorMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.InitAckMessage;
|
import de.pokerth.protocol.ProtoBuf.AuthClientRequestMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.InitMessage;
|
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.JoinExistingGameMessage;
|
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.JoinNewGameMessage;
|
import de.pokerth.protocol.ProtoBuf.InitDoneMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.AuthClientResponseMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.CreateGameMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.JoinGameMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LeaveGameRequestMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LobbyMessage;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||||
|
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||||
import de.pokerth.protocol.ProtoBuf.RejoinExistingGameMessage;
|
import de.pokerth.protocol.ProtoBuf.RejoinGameMessage;
|
||||||
|
|
||||||
public abstract class TestBase {
|
public abstract class TestBase {
|
||||||
|
|
||||||
@@ -159,24 +168,29 @@ public abstract class TestBase {
|
|||||||
.setMajorVersion(PROTOCOL_VERSION_MAJOR)
|
.setMajorVersion(PROTOCOL_VERSION_MAJOR)
|
||||||
.setMinorVersion(PROTOCOL_VERSION_MINOR)
|
.setMinorVersion(PROTOCOL_VERSION_MINOR)
|
||||||
.build();
|
.build();
|
||||||
InitMessage init = InitMessage.newBuilder()
|
AuthClientRequestMessage init = AuthClientRequestMessage.newBuilder()
|
||||||
.setBuildId(0)
|
.setBuildId(0)
|
||||||
.setLogin(InitMessage.LoginType.guestLogin)
|
.setLogin(AuthClientRequestMessage.LoginType.guestLogin)
|
||||||
.setRequestedVersion(requestedVersion)
|
.setRequestedVersion(requestedVersion)
|
||||||
.setNickName(GuestUser)
|
.setNickName(GuestUser)
|
||||||
.build();
|
.build();
|
||||||
|
AuthMessage auth = AuthMessage.newBuilder()
|
||||||
|
.setMessageType(AuthMessageType.Type_AuthClientRequestMessage)
|
||||||
|
.setAuthClientRequestMessage(init)
|
||||||
|
.build();
|
||||||
msg = PokerTHMessage.newBuilder()
|
msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_InitMessage)
|
.setMessageType(PokerTHMessageType.Type_AuthMessage)
|
||||||
.setInitMessage(init)
|
.setAuthMessage(auth)
|
||||||
.build();
|
.build();
|
||||||
sendMessage(msg, s);
|
sendMessage(msg, s);
|
||||||
|
|
||||||
msg = receiveMessage(s);
|
msg = receiveMessage(s);
|
||||||
if (msg.hasInitAckMessage() && msg.getMessageType() == PokerTHMessageType.Type_InitAckMessage) {
|
if (msg.hasLobbyMessage() && msg.getMessageType() == PokerTHMessageType.Type_LobbyMessage
|
||||||
InitAckMessage initAck = msg.getInitAckMessage();
|
&& msg.getLobbyMessage().hasInitDoneMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_InitDoneMessage) {
|
||||||
assertTrue(initAck.getYourPlayerId() != 0L);
|
InitDoneMessage initDone = msg.getLobbyMessage().getInitDoneMessage();
|
||||||
assertTrue(!initAck.hasYourAvatarHash());
|
assertTrue(initDone.getYourPlayerId() != 0L);
|
||||||
playerId = initAck.getYourPlayerId();
|
assertTrue(!initDone.hasYourAvatarHash());
|
||||||
|
playerId = initDone.getYourPlayerId();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
@@ -210,10 +224,9 @@ public abstract class TestBase {
|
|||||||
.setMajorVersion(PROTOCOL_VERSION_MAJOR)
|
.setMajorVersion(PROTOCOL_VERSION_MAJOR)
|
||||||
.setMinorVersion(PROTOCOL_VERSION_MINOR)
|
.setMinorVersion(PROTOCOL_VERSION_MINOR)
|
||||||
.build();
|
.build();
|
||||||
InitMessage.Builder initBuilder = InitMessage.newBuilder();
|
AuthClientRequestMessage.Builder initBuilder = AuthClientRequestMessage.newBuilder()
|
||||||
initBuilder
|
|
||||||
.setBuildId(0)
|
.setBuildId(0)
|
||||||
.setLogin(InitMessage.LoginType.authenticatedLogin)
|
.setLogin(AuthClientRequestMessage.LoginType.authenticatedLogin)
|
||||||
.setRequestedVersion(requestedVersion)
|
.setRequestedVersion(requestedVersion)
|
||||||
.setClientUserData(ByteString.copyFromUtf8(scramAuth.executeStep1(user)));
|
.setClientUserData(ByteString.copyFromUtf8(scramAuth.executeStep1(user)));
|
||||||
if (avatarData != null) {
|
if (avatarData != null) {
|
||||||
@@ -222,26 +235,37 @@ public abstract class TestBase {
|
|||||||
if (lastSessionId != null && lastSessionId.value != null) {
|
if (lastSessionId != null && lastSessionId.value != null) {
|
||||||
initBuilder.setMyLastSessionId(ByteString.copyFrom(lastSessionId.value));
|
initBuilder.setMyLastSessionId(ByteString.copyFrom(lastSessionId.value));
|
||||||
}
|
}
|
||||||
InitMessage init = initBuilder.build();
|
AuthClientRequestMessage init = initBuilder.build();
|
||||||
|
|
||||||
|
AuthMessage authRequest = AuthMessage.newBuilder()
|
||||||
|
.setMessageType(AuthMessageType.Type_AuthClientRequestMessage)
|
||||||
|
.setAuthClientRequestMessage(init)
|
||||||
|
.build();
|
||||||
msg = PokerTHMessage.newBuilder()
|
msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_InitMessage)
|
.setMessageType(PokerTHMessageType.Type_AuthMessage)
|
||||||
.setInitMessage(init)
|
.setAuthMessage(authRequest)
|
||||||
.build();
|
.build();
|
||||||
sendMessage(msg, s);
|
sendMessage(msg, s);
|
||||||
|
|
||||||
msg = receiveMessage(s);
|
msg = receiveMessage(s);
|
||||||
|
|
||||||
if (msg.hasAuthServerChallengeMessage() && msg.getMessageType() == PokerTHMessageType.Type_AuthServerChallengeMessage)
|
if (msg.hasAuthMessage() && msg.getMessageType() == PokerTHMessageType.Type_AuthMessage
|
||||||
|
&& msg.getAuthMessage().hasAuthServerChallengeMessage() && msg.getAuthMessage().getMessageType() == AuthMessageType.Type_AuthServerChallengeMessage)
|
||||||
{
|
{
|
||||||
String serverFirstMessage = new String(msg.getAuthServerChallengeMessage().getServerChallenge().toStringUtf8());
|
String serverFirstMessage = new String(msg.getAuthMessage().getAuthServerChallengeMessage().getServerChallenge().toStringUtf8());
|
||||||
AuthClientResponseMessage authClient = AuthClientResponseMessage.newBuilder()
|
AuthClientResponseMessage authClient = AuthClientResponseMessage.newBuilder()
|
||||||
.setClientResponse(ByteString.copyFromUtf8(scramAuth.executeStep2(password, serverFirstMessage)))
|
.setClientResponse(ByteString.copyFromUtf8(scramAuth.executeStep2(password, serverFirstMessage)))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
msg = PokerTHMessage.newBuilder()
|
AuthMessage authResponse = AuthMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_AuthClientResponseMessage)
|
.setMessageType(AuthMessageType.Type_AuthClientResponseMessage)
|
||||||
.setAuthClientResponseMessage(authClient)
|
.setAuthClientResponseMessage(authClient)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
msg = PokerTHMessage.newBuilder()
|
||||||
|
.setMessageType(PokerTHMessageType.Type_AuthMessage)
|
||||||
|
.setAuthMessage(authResponse)
|
||||||
|
.build();
|
||||||
sendMessage(msg, s);
|
sendMessage(msg, s);
|
||||||
}
|
}
|
||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
@@ -250,16 +274,17 @@ public abstract class TestBase {
|
|||||||
failOnErrorMessage(msg);
|
failOnErrorMessage(msg);
|
||||||
|
|
||||||
msg = receiveMessage(s);
|
msg = receiveMessage(s);
|
||||||
if (msg.hasInitAckMessage() && msg.getMessageType() == PokerTHMessageType.Type_InitAckMessage) {
|
if (msg.hasLobbyMessage() && msg.getMessageType() == PokerTHMessageType.Type_LobbyMessage
|
||||||
InitAckMessage initAck = msg.getInitAckMessage();
|
&& msg.getLobbyMessage().hasInitDoneMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_InitDoneMessage) {
|
||||||
assertTrue(initAck.getYourPlayerId() != 0L);
|
InitDoneMessage initDone = msg.getLobbyMessage().getInitDoneMessage();
|
||||||
assertTrue(!initAck.hasYourAvatarHash());
|
assertTrue(initDone.getYourPlayerId() != 0L);
|
||||||
playerId = initAck.getYourPlayerId();
|
assertTrue(!initDone.hasYourAvatarHash());
|
||||||
|
playerId = initDone.getYourPlayerId();
|
||||||
if (lastSessionId != null) {
|
if (lastSessionId != null) {
|
||||||
lastSessionId.value = initAck.getYourSessionId().toByteArray();
|
lastSessionId.value = initDone.getYourSessionId().toByteArray();
|
||||||
}
|
}
|
||||||
if (initAck.hasRejoinGameId()) {
|
if (initDone.hasRejoinGameId()) {
|
||||||
lastRejoinGameId = initAck.getRejoinGameId();
|
lastRejoinGameId = initDone.getRejoinGameId();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lastRejoinGameId = 0;
|
lastRejoinGameId = 0;
|
||||||
@@ -273,17 +298,23 @@ public abstract class TestBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PokerTHMessage createGameRequestMsg(NetGameInfo gameInfo, String password, boolean autoLeave) {
|
public PokerTHMessage createGameRequestMsg(NetGameInfo gameInfo, String password, boolean autoLeave) {
|
||||||
JoinNewGameMessage.Builder joinBuilder = JoinNewGameMessage.newBuilder();
|
CreateGameMessage.Builder createBuilder = CreateGameMessage.newBuilder();
|
||||||
joinBuilder.setGameInfo(gameInfo);
|
createBuilder.setRequestId(1);
|
||||||
joinBuilder.setAutoLeave(autoLeave);
|
createBuilder.setGameInfo(gameInfo);
|
||||||
|
createBuilder.setAutoLeave(autoLeave);
|
||||||
if (!password.isEmpty()) {
|
if (!password.isEmpty()) {
|
||||||
joinBuilder.setPassword(password);
|
createBuilder.setPassword(password);
|
||||||
}
|
}
|
||||||
JoinNewGameMessage joinNew = joinBuilder.build();
|
CreateGameMessage createNew = createBuilder.build();
|
||||||
|
|
||||||
|
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||||
|
.setMessageType(LobbyMessageType.Type_CreateGameMessage)
|
||||||
|
.setCreateGameMessage(createNew)
|
||||||
|
.build();
|
||||||
|
|
||||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_JoinNewGameMessage)
|
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||||
.setJoinNewGameMessage(joinNew)
|
.setLobbyMessage(lobby)
|
||||||
.build();
|
.build();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
@@ -293,31 +324,61 @@ public abstract class TestBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PokerTHMessage joinGameRequestMsg(int gameId, String password, boolean autoLeave, boolean spectateOnly) {
|
public PokerTHMessage joinGameRequestMsg(int gameId, String password, boolean autoLeave, boolean spectateOnly) {
|
||||||
JoinExistingGameMessage.Builder joinBuilder = JoinExistingGameMessage.newBuilder();
|
JoinGameMessage.Builder joinBuilder = JoinGameMessage.newBuilder();
|
||||||
joinBuilder.setGameId(gameId);
|
joinBuilder.setGameId(gameId);
|
||||||
joinBuilder.setAutoLeave(autoLeave);
|
joinBuilder.setAutoLeave(autoLeave);
|
||||||
joinBuilder.setSpectateOnly(spectateOnly);
|
joinBuilder.setSpectateOnly(spectateOnly);
|
||||||
if (!password.isEmpty()) {
|
if (!password.isEmpty()) {
|
||||||
joinBuilder.setPassword(password);
|
joinBuilder.setPassword(password);
|
||||||
}
|
}
|
||||||
JoinExistingGameMessage joinExisting = joinBuilder.build();
|
JoinGameMessage joinExisting = joinBuilder.build();
|
||||||
|
|
||||||
|
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||||
|
.setMessageType(LobbyMessageType.Type_JoinGameMessage)
|
||||||
|
.setJoinGameMessage(joinExisting)
|
||||||
|
.build();
|
||||||
|
|
||||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_JoinExistingGameMessage)
|
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||||
.setJoinExistingGameMessage(joinExisting)
|
.setLobbyMessage(lobby)
|
||||||
.build();
|
.build();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PokerTHMessage rejoinGameRequestMsg(int gameId, boolean autoLeave) {
|
public PokerTHMessage rejoinGameRequestMsg(int gameId, boolean autoLeave) {
|
||||||
RejoinExistingGameMessage rejoinRequest = RejoinExistingGameMessage.newBuilder()
|
RejoinGameMessage rejoinRequest = RejoinGameMessage.newBuilder()
|
||||||
.setGameId(gameId)
|
.setGameId(gameId)
|
||||||
.setAutoLeave(autoLeave)
|
.setAutoLeave(autoLeave)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||||
|
.setMessageType(LobbyMessageType.Type_RejoinGameMessage)
|
||||||
|
.setRejoinGameMessage(rejoinRequest)
|
||||||
|
.build();
|
||||||
|
|
||||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
.setMessageType(PokerTHMessageType.Type_RejoinExistingGameMessage)
|
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||||
.setRejoinExistingGameMessage(rejoinRequest)
|
.setLobbyMessage(lobby)
|
||||||
|
.build();
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PokerTHMessage leaveGameRequestMsg(int gameId) {
|
||||||
|
LeaveGameRequestMessage leaveRequest = LeaveGameRequestMessage.newBuilder()
|
||||||
|
.build();
|
||||||
|
GameManagementMessage gameManagment = GameManagementMessage.newBuilder()
|
||||||
|
.setMessageType(GameManagementMessageType.Type_LeaveGameRequestMessage)
|
||||||
|
.setLeaveGameRequestMessage(leaveRequest)
|
||||||
|
.build();
|
||||||
|
GameMessage game = GameMessage.newBuilder()
|
||||||
|
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||||
|
.setGameManagementMessage(gameManagment)
|
||||||
|
.setGameId(gameId)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||||
|
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||||
|
.setGameMessage(game)
|
||||||
.build();
|
.build();
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
@@ -354,10 +415,15 @@ public abstract class TestBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void failOnErrorMessage(PokerTHMessage msg) {
|
void failOnErrorMessage(PokerTHMessage msg) {
|
||||||
if (msg.hasErrorMessage())
|
if (msg.hasLobbyMessage() && msg.getLobbyMessage().hasErrorMessage())
|
||||||
{
|
{
|
||||||
ErrorMessage error = msg.getErrorMessage();
|
ErrorMessage error = msg.getLobbyMessage().getErrorMessage();
|
||||||
fail("Received error: " + error.getErrorReason().toString());
|
fail("Received lobby error: " + error.getErrorReason().toString());
|
||||||
|
}
|
||||||
|
else if (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasErrorMessage())
|
||||||
|
{
|
||||||
|
ErrorMessage error = msg.getGameMessage().getGameManagementMessage().getErrorMessage();
|
||||||
|
fail("Received game error: " + error.getErrorReason().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user