Fixing java tests and bugs found by tests.
This commit is contained in:
@@ -1379,6 +1379,7 @@ ServerGameStateHand::CheckPlayerTimeouts(boost::shared_ptr<ServerGame> server)
|
||||
boost::shared_ptr<SessionData> session = server->GetSessionManager().GetSessionByUniquePlayerId(tmpPlayer->getMyUniqueID());
|
||||
if (session) {
|
||||
boost::shared_ptr<NetPacket> packet(new NetPacket);
|
||||
packet->GetMsg()->set_messagetype(PokerTHMessage::Type_GameMessage);
|
||||
GameMessage *netGame = packet->GetMsg()->mutable_gamemessage();
|
||||
netGame->set_gameid(server->GetId());
|
||||
netGame->set_messagetype(GameMessage::Type_GameManagementMessage);
|
||||
@@ -1455,6 +1456,7 @@ ServerGameStateHand::PerformRejoin(boost::shared_ptr<ServerGame> server, boost::
|
||||
if (rejoinPlayer) {
|
||||
// Notify other clients about id change.
|
||||
boost::shared_ptr<NetPacket> packet(new NetPacket);
|
||||
packet->GetMsg()->set_messagetype(PokerTHMessage::Type_GameMessage);
|
||||
GameMessage *netGame = packet->GetMsg()->mutable_gamemessage();
|
||||
netGame->set_gameid(server->GetId());
|
||||
netGame->set_messagetype(GameMessage::Type_GameManagementMessage);
|
||||
@@ -1486,6 +1488,7 @@ ServerGameStateHand::SendGameData(boost::shared_ptr<ServerGame> server, boost::s
|
||||
Game &curGame = server->GetGame();
|
||||
// Send game start notification to rejoining client.
|
||||
boost::shared_ptr<NetPacket> packet(new NetPacket);
|
||||
packet->GetMsg()->set_messagetype(PokerTHMessage::Type_GameMessage);
|
||||
GameMessage *netGame = packet->GetMsg()->mutable_gamemessage();
|
||||
netGame->set_gameid(server->GetId());
|
||||
netGame->set_messagetype(GameMessage::Type_GameManagementMessage);
|
||||
|
||||
@@ -1345,6 +1345,7 @@ ServerLobbyThread::HandleNetPacketSubscriptionRequest(boost::shared_ptr<SessionD
|
||||
} else {
|
||||
session->ResetWantsLobbyMsg();
|
||||
}
|
||||
|
||||
boost::shared_ptr<NetPacket> packet(new NetPacket);
|
||||
packet->GetMsg()->set_messagetype(PokerTHMessage::Type_LobbyMessage);
|
||||
LobbyMessage *netLobby = packet->GetMsg()->mutable_lobbymessage();
|
||||
|
||||
@@ -33,7 +33,6 @@ import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.RaiseIntervalMode;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameMode;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
|
||||
@@ -67,7 +66,7 @@ public class GameListTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() || msg.getLobbyMessage().hasPlayerListMessage());
|
||||
|
||||
// Create a new game.
|
||||
Collection<Integer> l = new ArrayList<Integer>();
|
||||
@@ -79,8 +78,8 @@ public class GameListTest extends TestBase {
|
||||
|
||||
// Game list message is sent before join game ack.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasGameListNewMessage());
|
||||
GameListNewMessage gameListNewMsg = msg.getGameListNewMessage();
|
||||
assertTrue(msg.hasLobbyMessage() || msg.getLobbyMessage().hasGameListNewMessage());
|
||||
GameListNewMessage gameListNewMsg = msg.getLobbyMessage().getGameListNewMessage();
|
||||
int gameId = gameListNewMsg.getGameId();
|
||||
assertTrue(0 != gameListNewMsg.getGameId());
|
||||
checkGameListNewMsg(
|
||||
@@ -92,14 +91,14 @@ public class GameListTest extends TestBase {
|
||||
|
||||
// Next message is join game ack.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasJoinGameAckMessage() && msg.getMessageType() == PokerTHMessageType.Type_JoinGameAckMessage);
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage());
|
||||
// Make sure game list id equals join game ack id.
|
||||
assertEquals(gameId, msg.getJoinGameAckMessage().getGameId());
|
||||
assertEquals(gameId, msg.getLobbyMessage().getJoinGameAckMessage().getGameId());
|
||||
|
||||
// Next message is game list player joined.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasGameListPlayerJoinedMessage());
|
||||
GameListPlayerJoinedMessage gameListJoinedMsg = msg.getGameListPlayerJoinedMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage());
|
||||
GameListPlayerJoinedMessage gameListJoinedMsg = msg.getLobbyMessage().getGameListPlayerJoinedMessage();
|
||||
assertEquals(gameId, gameListJoinedMsg.getGameId());
|
||||
assertEquals(myId, gameListJoinedMsg.getPlayerId());
|
||||
|
||||
@@ -112,13 +111,13 @@ public class GameListTest extends TestBase {
|
||||
String password = username;
|
||||
playerId[i] = userInit(s[i], username, password);
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasGameListNewMessage());
|
||||
gameListNewMsg = msg.getGameListNewMessage();
|
||||
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListNewMessage());
|
||||
gameListNewMsg = msg.getLobbyMessage().getGameListNewMessage();
|
||||
assertEquals(gameId, gameListNewMsg.getGameId());
|
||||
assertTrue(0 != gameListNewMsg.getGameId());
|
||||
checkGameListNewMsg(
|
||||
@@ -135,26 +134,26 @@ public class GameListTest extends TestBase {
|
||||
sendMessage(joinGameRequestMsg(gameId, "", false), s[i]);
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasPlayerListMessage());
|
||||
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
for (int j = 0; j < i; j++) {
|
||||
assertTrue(msg.hasGameListPlayerJoinedMessage());
|
||||
gameListJoinedMsg = msg.getGameListPlayerJoinedMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage());
|
||||
gameListJoinedMsg = msg.getLobbyMessage().getGameListPlayerJoinedMessage();
|
||||
assertEquals(gameId, gameListJoinedMsg.getGameId());
|
||||
assertEquals(playerId[j], gameListJoinedMsg.getPlayerId());
|
||||
msg = receiveMessage(s[i]);
|
||||
}
|
||||
failOnErrorMessage(msg);
|
||||
// Next message is join game ack.
|
||||
assertTrue(msg.hasJoinGameAckMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage());
|
||||
// Make sure game list id equals join game ack id.
|
||||
assertEquals(gameId, msg.getJoinGameAckMessage().getGameId());
|
||||
assertEquals(gameId, msg.getLobbyMessage().getJoinGameAckMessage().getGameId());
|
||||
|
||||
// Next message is game list player joined.
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasGamePlayerJoinedMessage());
|
||||
assertTrue(msg.hasGameListPlayerJoinedMessage());
|
||||
gameListJoinedMsg = msg.getGameListPlayerJoinedMessage();
|
||||
} while (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage());
|
||||
gameListJoinedMsg = msg.getLobbyMessage().getGameListPlayerJoinedMessage();
|
||||
assertEquals(gameId, gameListJoinedMsg.getGameId());
|
||||
assertEquals(playerId[i], gameListJoinedMsg.getPlayerId());
|
||||
}
|
||||
@@ -163,9 +162,9 @@ public class GameListTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!(msg.hasGameListUpdateMessage()));
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListUpdateMessage()));
|
||||
|
||||
assertEquals(NetGameMode.netGameStarted, msg.getGameListUpdateMessage().getGameMode());
|
||||
assertEquals(NetGameMode.netGameStarted, msg.getLobbyMessage().getGameListUpdateMessage().getGameMode());
|
||||
|
||||
// Wait for player left messages.
|
||||
for (int i = 0; i < 9; i++) {
|
||||
@@ -173,8 +172,8 @@ public class GameListTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasGameListPlayerLeftMessage());
|
||||
GameListPlayerLeftMessage gameListLeftMsg = msg.getGameListPlayerLeftMessage();
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerLeftMessage()));
|
||||
GameListPlayerLeftMessage gameListLeftMsg = msg.getLobbyMessage().getGameListPlayerLeftMessage();
|
||||
assertEquals(gameId, gameListLeftMsg.getGameId());
|
||||
assertEquals(playerId[i], gameListLeftMsg.getPlayerId());
|
||||
}
|
||||
@@ -183,8 +182,8 @@ public class GameListTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!(msg.hasGameListUpdateMessage()));
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListUpdateMessage()));
|
||||
|
||||
assertEquals(NetGameMode.netGameClosed, msg.getGameListUpdateMessage().getGameMode());
|
||||
assertEquals(NetGameMode.netGameClosed, msg.getLobbyMessage().getGameListUpdateMessage().getGameMode());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,10 @@ import java.util.Collection;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.GameEngineMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameEngineMessage.GameEngineMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
@@ -61,8 +65,9 @@ public class LoadTest extends TestBase {
|
||||
|
||||
do {
|
||||
msg = receiveMessage(s[i * 10]);
|
||||
} while (msg.hasGameListNewMessage() || msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -80,14 +85,14 @@ public class LoadTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i * 10]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (msg.hasGameListNewMessage() || msg.hasGameListPlayerJoinedMessage() || msg.hasPlayerListMessage());
|
||||
} while (msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage() || msg.getLobbyMessage().hasPlayerListMessage()));
|
||||
|
||||
// Join game ack.
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
gameId[i] = msg.getJoinGameAckMessage().getGameId();
|
||||
gameId[i] = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
}
|
||||
|
||||
|
||||
@@ -103,8 +108,9 @@ public class LoadTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
} while ((msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage())
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -112,8 +118,8 @@ public class LoadTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage()) && !(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameFailedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
fail("User " + username + " could not join normal game.");
|
||||
}
|
||||
}
|
||||
@@ -125,26 +131,38 @@ public class LoadTest extends TestBase {
|
||||
while (s[i].getInputStream().available() > 0) {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
if (msg.hasHandStartMessage()) {
|
||||
if (msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()) {
|
||||
handNum[i / 10]++;
|
||||
}
|
||||
else if (msg.hasPlayersTurnMessage()) {
|
||||
if (msg.getPlayersTurnMessage().getPlayerId() == playerId[i / 10]) {
|
||||
else if (msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasPlayersTurnMessage()) {
|
||||
if (msg.getGameMessage().getGameEngineMessage().getPlayersTurnMessage().getPlayerId() == playerId[i / 10]) {
|
||||
MyActionRequestMessage myRequest = MyActionRequestMessage.newBuilder()
|
||||
.setGameId(gameId[i / 10])
|
||||
.setGameState(msg.getPlayersTurnMessage().getGameState())
|
||||
.setGameState(msg.getGameMessage().getGameEngineMessage().getPlayersTurnMessage().getGameState())
|
||||
.setHandNum(handNum[i / 10])
|
||||
.setMyAction(NetPlayerAction.netActionAllIn)
|
||||
.setMyRelativeBet(0)
|
||||
.build();
|
||||
PokerTHMessage outMsg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_MyActionRequestMessage)
|
||||
|
||||
GameEngineMessage gameEngine = GameEngineMessage.newBuilder()
|
||||
.setMessageType(GameEngineMessageType.Type_MyActionRequestMessage)
|
||||
.setMyActionRequestMessage(myRequest)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setGameId(gameId[i / 10])
|
||||
.setMessageType(GameMessageType.Type_GameEngineMessage)
|
||||
.setGameEngineMessage(gameEngine)
|
||||
.build();
|
||||
|
||||
PokerTHMessage outMsg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(outMsg, s[i]);
|
||||
}
|
||||
}
|
||||
else if (msg.hasEndOfGameMessage()) {
|
||||
else if (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasEndOfGameMessage()) {
|
||||
abort = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
package de.pokerth.test;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.net.Socket;
|
||||
import java.util.ArrayList;
|
||||
@@ -27,7 +26,9 @@ import java.util.Collection;
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.LobbyMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.SubscriptionRequestMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
@@ -41,22 +42,34 @@ public class LobbySubscriptionTest extends TestBase {
|
||||
public void testLobbySubscription() throws Exception {
|
||||
guestInit();
|
||||
|
||||
final int requestId = 1234;
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
SubscriptionRequestMessage subscriptionRequest = SubscriptionRequestMessage.newBuilder()
|
||||
.setRequestId(requestId)
|
||||
.setSubscriptionAction(SubscriptionAction.unsubscribeGameList)
|
||||
.build();
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_SubscriptionRequestMessage)
|
||||
|
||||
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||
.setMessageType(LobbyMessageType.Type_SubscriptionRequestMessage)
|
||||
.setSubscriptionRequestMessage(subscriptionRequest)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||
.setLobbyMessage(lobby)
|
||||
.build();
|
||||
sendMessage(msg);
|
||||
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasSubscriptionReplyMessage());
|
||||
assertEquals(requestId, msg.getLobbyMessage().getSubscriptionReplyMessage().getRequestId());
|
||||
|
||||
// Create a new game.
|
||||
Collection<Integer> l = new ArrayList<Integer>();
|
||||
NetGameInfo gameInfo = createGameInfo(NetGameType.normalGame, 10, 5, 5, EndRaiseMode.doubleBlinds, 0, 100, GuestUser + " game list normal game", l, 10, 0, 2, 2000);
|
||||
@@ -68,8 +81,8 @@ public class LobbySubscriptionTest extends TestBase {
|
||||
// No game list message should be sent by the server.
|
||||
// Next message is join game ack.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasJoinGameAckMessage());
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage());
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
Socket s[] = new Socket[9];
|
||||
for (int i = 0; i < 9; i++) {
|
||||
@@ -83,29 +96,42 @@ public class LobbySubscriptionTest extends TestBase {
|
||||
// No game list message should be received.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
if (msg.hasGameListNewMessage() || msg.hasPlayerListMessage()) {
|
||||
if (msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
fail("Game/player list messages are switched off!");
|
||||
}
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()));
|
||||
|
||||
// Resubscribe game list
|
||||
subscriptionRequest = SubscriptionRequestMessage.newBuilder()
|
||||
.setRequestId(requestId + 1)
|
||||
.setSubscriptionAction(SubscriptionAction.resubscribeGameList)
|
||||
.build();
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_SubscriptionRequestMessage)
|
||||
|
||||
lobby = LobbyMessage.newBuilder()
|
||||
.setMessageType(LobbyMessageType.Type_SubscriptionRequestMessage)
|
||||
.setSubscriptionRequestMessage(subscriptionRequest)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||
.setLobbyMessage(lobby)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
|
||||
// Next messages should player list messages for all 10 players.
|
||||
for (int i = 0; i < 10; i++) {
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
}
|
||||
// Now there should be one game list message.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasGameListNewMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListNewMessage());
|
||||
|
||||
// Next the request should be confirmed.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasSubscriptionReplyMessage());
|
||||
assertEquals(requestId + 1, msg.getLobbyMessage().getSubscriptionReplyMessage().getRequestId());
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
s[i].close();
|
||||
|
||||
@@ -27,9 +27,11 @@ import java.util.Collection;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.LobbyMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetAvatarType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetPlayerInfoRights;
|
||||
import de.pokerth.protocol.ProtoBuf.PlayerInfoReplyMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.PlayerInfoReplyMessage.PlayerInfoData;
|
||||
import de.pokerth.protocol.ProtoBuf.PlayerInfoRequestMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
@@ -44,13 +46,20 @@ public class PlayerInfoTest extends TestBase {
|
||||
}
|
||||
|
||||
protected void sendPlayerInfoRequest(Socket s, Collection<Integer> playerIds) throws Exception {
|
||||
PlayerInfoRequestMessage request = PlayerInfoRequestMessage.newBuilder()
|
||||
.addAllPlayerId(playerIds)
|
||||
.build();
|
||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_PlayerInfoRequestMessage)
|
||||
.setPlayerInfoRequestMessage(request)
|
||||
PlayerInfoRequestMessage infoRequest = PlayerInfoRequestMessage.newBuilder()
|
||||
.addAllPlayerId(playerIds)
|
||||
.build();
|
||||
|
||||
LobbyMessage lobby = LobbyMessage.newBuilder()
|
||||
.setMessageType(LobbyMessageType.Type_PlayerInfoRequestMessage)
|
||||
.setPlayerInfoRequestMessage(infoRequest)
|
||||
.build();
|
||||
|
||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_LobbyMessage)
|
||||
.setLobbyMessage(lobby)
|
||||
.build();
|
||||
|
||||
sendMessage(msg, s);
|
||||
}
|
||||
|
||||
@@ -92,9 +101,9 @@ public class PlayerInfoTest extends TestBase {
|
||||
sendPlayerInfoRequest(s[i], firstPlayerId);
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasPlayerInfoReplyMessage() && msg.getMessageType() == PokerTHMessageType.Type_PlayerInfoReplyMessage);
|
||||
PlayerInfoReplyMessage reply = msg.getPlayerInfoReplyMessage();
|
||||
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerInfoReplyMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_PlayerInfoReplyMessage);
|
||||
PlayerInfoReplyMessage reply = msg.getLobbyMessage().getPlayerInfoReplyMessage();
|
||||
assertTrue(reply.getPlayerId() == firstPlayerId);
|
||||
assertTrue(reply.hasPlayerInfoData());
|
||||
PlayerInfoData info = reply.getPlayerInfoData();
|
||||
@@ -112,9 +121,9 @@ public class PlayerInfoTest extends TestBase {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
} while (msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasPlayerInfoReplyMessage() && msg.getMessageType() == PokerTHMessageType.Type_PlayerInfoReplyMessage);
|
||||
PlayerInfoReplyMessage reply = msg.getPlayerInfoReplyMessage();
|
||||
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerInfoReplyMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_PlayerInfoReplyMessage);
|
||||
PlayerInfoReplyMessage reply = msg.getLobbyMessage().getPlayerInfoReplyMessage();
|
||||
assertTrue(reply.getPlayerId() == playerId[i]);
|
||||
assertTrue(reply.hasPlayerInfoData());
|
||||
PlayerInfoData info = reply.getPlayerInfoData();
|
||||
@@ -134,8 +143,8 @@ public class PlayerInfoTest extends TestBase {
|
||||
// Request invalid player info.
|
||||
sendPlayerInfoRequest(sock, maxPlayerId + 1);
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerInfoReplyMessage() && msg.getMessageType() == PokerTHMessageType.Type_PlayerInfoReplyMessage);
|
||||
PlayerInfoReplyMessage reply = msg.getPlayerInfoReplyMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerInfoReplyMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_PlayerInfoReplyMessage);
|
||||
PlayerInfoReplyMessage reply = msg.getLobbyMessage().getPlayerInfoReplyMessage();
|
||||
assertTrue(reply.getPlayerId() == maxPlayerId + 1);
|
||||
assertFalse(reply.hasPlayerInfoData());
|
||||
|
||||
|
||||
@@ -39,10 +39,10 @@ public class PlayerListTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerListMessage());
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
|
||||
// This should be a "player list new" notification with correct player id.
|
||||
PlayerListMessage listMsg = msg.getPlayerListMessage();
|
||||
PlayerListMessage listMsg = msg.getLobbyMessage().getPlayerListMessage();
|
||||
assertEquals(myId, listMsg.getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListNew, listMsg.getPlayerListNotification());
|
||||
|
||||
@@ -55,8 +55,8 @@ public class PlayerListTest extends TestBase {
|
||||
playerId[i] = userInit(s[i], username, password);
|
||||
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerListMessage());
|
||||
listMsg = msg.getPlayerListMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
listMsg = msg.getLobbyMessage().getPlayerListMessage();
|
||||
// Id should be different from first id.
|
||||
assertTrue(myId != playerId[i]);
|
||||
// This should be a "player list new" notification with correct player id.
|
||||
@@ -67,8 +67,8 @@ public class PlayerListTest extends TestBase {
|
||||
|
||||
// After the connection is closed, a "player list left" notification should be received.
|
||||
msg = receiveMessage();
|
||||
assertTrue(msg.hasPlayerListMessage());
|
||||
listMsg = msg.getPlayerListMessage();
|
||||
assertTrue(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
listMsg = msg.getLobbyMessage().getPlayerListMessage();
|
||||
assertEquals(playerId[i], listMsg.getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListLeft, listMsg.getPlayerListNotification());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user