Fixing remaining java tests.
This commit is contained in:
@@ -67,13 +67,13 @@ public class ChatTest extends TestBase {
|
||||
ChatRequestMessage chatGame = ChatRequestMessage.newBuilder()
|
||||
.setChatText(chatText)
|
||||
.build();
|
||||
GameManagementMessage gameManagment = GameManagementMessage.newBuilder()
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_ChatRequestMessage)
|
||||
.setChatRequestMessage(chatGame)
|
||||
.build();
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagment)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
PokerTHMessage msg = PokerTHMessage.newBuilder()
|
||||
@@ -189,13 +189,13 @@ public class ChatTest extends TestBase {
|
||||
.setFillWithComputerPlayers(false)
|
||||
.setStartEventType(StartEventType.startEvent)
|
||||
.build();
|
||||
GameManagementMessage gameManagment = GameManagementMessage.newBuilder()
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventMessage)
|
||||
.setStartEventMessage(startEvent)
|
||||
.build();
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagment)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
@@ -213,13 +213,13 @@ public class ChatTest extends TestBase {
|
||||
// Acknowledge start event.
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.build();
|
||||
gameManagment = GameManagementMessage.newBuilder()
|
||||
gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
game = GameMessage.newBuilder()
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagment)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
|
||||
@@ -73,7 +73,7 @@ public class RejoinGameTest extends TestBase {
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasLobbyMessage() || msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
@@ -81,7 +81,7 @@ public class RejoinGameTest extends TestBase {
|
||||
|
||||
// Game list update (player joined).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasLobbyMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListPlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventMessage.StartEventType;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventMessage;
|
||||
|
||||
|
||||
public class RunNormalGameTest extends TestBase {
|
||||
@@ -85,12 +87,14 @@ public class RunNormalGameTest extends TestBase {
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
StartEventMessage startEvent = StartEventMessage.newBuilder()
|
||||
.setStartEventType(StartEventType.startEvent)
|
||||
.setFillWithComputerPlayers(true)
|
||||
.build();
|
||||
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventMessage)
|
||||
.setStartEventMessage(startEvent)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
@@ -127,7 +131,7 @@ public class RunNormalGameTest extends TestBase {
|
||||
fail("Invalid message.");
|
||||
}
|
||||
// Acknowledge start event.
|
||||
startAck = StartEventAckMessage.newBuilder()
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.build();
|
||||
|
||||
gameManagement = GameManagementMessage.newBuilder()
|
||||
|
||||
@@ -83,7 +83,7 @@ public class RunRankingGameTest extends TestBase {
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasLobbyMessage() || msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
@@ -116,7 +116,7 @@ public class RunRankingGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage() || !msg.getLobbyMessage().hasJoinGameFailedMessage());
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage()) && !(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameFailedMessage()));
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
fail("User " + username + " could not join ranking game.");
|
||||
}
|
||||
|
||||
@@ -17,9 +17,7 @@
|
||||
|
||||
package de.pokerth.test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
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;
|
||||
@@ -29,10 +27,14 @@ import java.util.Iterator;
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetPlayerState;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||
|
||||
@@ -56,11 +58,12 @@ public class SeatStateTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())
|
||||
&& !(msg.hasLobbyMessage() && msg.getLobbyMessage().hasCreateGameFailedMessage()));
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
// Let 9 additional clients join.
|
||||
Socket s[] = new Socket[9];
|
||||
@@ -74,8 +77,9 @@ public class SeatStateTest 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().hasCreateGameFailedMessage()));
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
fail("Could not join game!");
|
||||
}
|
||||
}
|
||||
@@ -84,20 +88,28 @@ public class SeatStateTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasStartEventMessage());
|
||||
for (int i = 0; i < 9; i++) {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasStartEventMessage());
|
||||
}
|
||||
// Acknowledge start event.
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.build();
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
sendMessage(msg);
|
||||
for (int i = 0; i < 9; i++) {
|
||||
@@ -108,9 +120,9 @@ public class SeatStateTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasGameStartInitialMessage());
|
||||
assertEquals(gameId, msg.getGameStartInitialMessage().getGameId());
|
||||
Collection<Integer> seats = msg.getGameStartInitialMessage().getPlayerSeatsList();
|
||||
} while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage());
|
||||
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||
Collection<Integer> seats = msg.getGameMessage().getGameManagementMessage().getGameStartInitialMessage().getPlayerSeatsList();
|
||||
assertEquals(10, seats.size());
|
||||
int firstPlayerPos = 0;
|
||||
for (Iterator<Integer> it = seats.iterator(); it.hasNext(); ) {
|
||||
@@ -124,8 +136,8 @@ public class SeatStateTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasHandStartMessage());
|
||||
Collection<NetPlayerState> seatStates = msg.getHandStartMessage().getSeatStatesList();
|
||||
} while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameEngineMessage() || !msg.getGameMessage().getGameEngineMessage().hasHandStartMessage());
|
||||
Collection<NetPlayerState> seatStates = msg.getGameMessage().getGameEngineMessage().getHandStartMessage().getSeatStatesList();
|
||||
|
||||
// Check whether the correct default seat states are sent.
|
||||
assertEquals(10, seatStates.size());
|
||||
@@ -141,9 +153,9 @@ public class SeatStateTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
assertTrue(!msg.hasEndOfGameMessage());
|
||||
} while (!msg.hasHandStartMessage());
|
||||
seatStates = msg.getHandStartMessage().getSeatStatesList();
|
||||
assertFalse(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasEndOfGameMessage());
|
||||
} while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameEngineMessage() || !msg.getGameMessage().getGameEngineMessage().hasHandStartMessage());
|
||||
seatStates = msg.getGameMessage().getGameEngineMessage().getHandStartMessage().getSeatStatesList();
|
||||
|
||||
// Check whether the correct seat states are sent.
|
||||
assertEquals(10, seatStates.size());
|
||||
|
||||
@@ -25,9 +25,13 @@ import java.util.Collection;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
@@ -42,7 +46,7 @@ public class SpectatorJoinTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
@@ -57,22 +61,22 @@ public class SpectatorJoinTest extends TestBase {
|
||||
|
||||
// Game list update (new game)
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
// Game list update (player joined).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!msg.getLobbyMessage().hasGameListPlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
@@ -82,59 +86,59 @@ public class SpectatorJoinTest extends TestBase {
|
||||
int spectatorId = userInit(spectatorSock, "test20", "test20");
|
||||
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
// Player List should also be updated for first player.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
|
||||
sendMessage(joinGameRequestMsg(gameId, "", false, true), spectatorSock);
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
assertTrue(msg.getJoinGameAckMessage().getSpectateOnly());
|
||||
assertTrue(msg.getLobbyMessage().getJoinGameAckMessage().getSpectateOnly());
|
||||
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGamePlayerJoinedMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
assertEquals(firstPlayerId, msg.getGamePlayerJoinedMessage().getPlayerId());
|
||||
assertEquals(firstPlayerId, msg.getGameMessage().getGameManagementMessage().getGamePlayerJoinedMessage().getPlayerId());
|
||||
// TODO Spectator joined message is missing here!
|
||||
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGameListSpectatorJoinedMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListSpectatorJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
assertEquals(gameId, msg.getGameListSpectatorJoinedMessage().getGameId());
|
||||
assertEquals(spectatorId, msg.getGameListSpectatorJoinedMessage().getPlayerId());
|
||||
assertEquals(gameId, msg.getLobbyMessage().getGameListSpectatorJoinedMessage().getGameId());
|
||||
assertEquals(spectatorId, msg.getLobbyMessage().getGameListSpectatorJoinedMessage().getPlayerId());
|
||||
|
||||
// Spectator should be visible for first player.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameSpectatorJoinedMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGameSpectatorJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListSpectatorJoinedMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListSpectatorJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
@@ -151,55 +155,56 @@ public class SpectatorJoinTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasPlayerListMessage());
|
||||
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage());
|
||||
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
assertEquals(1, msg.getGameListNewMessage().getSpectatorIdsCount());
|
||||
assertEquals(spectatorId, msg.getGameListNewMessage().getSpectatorIds(0));
|
||||
assertEquals(1, msg.getLobbyMessage().getGameListNewMessage().getSpectatorIdsCount());
|
||||
assertEquals(spectatorId, msg.getLobbyMessage().getGameListNewMessage().getSpectatorIds(0));
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
sendMessage(joinGameRequestMsg(gameId, "", false), s[i]);
|
||||
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 ranking game.");
|
||||
}
|
||||
|
||||
// The player should have joined the game.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGamePlayerJoinedMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListPlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
// The spectator should also receive the updates.
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGamePlayerJoinedMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListPlayerJoinedMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
@@ -207,7 +212,7 @@ public class SpectatorJoinTest extends TestBase {
|
||||
|
||||
// Server should automatically send start event.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasStartEventMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
@@ -215,16 +220,28 @@ public class SpectatorJoinTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasStartEventMessage());
|
||||
}
|
||||
// Acknowledge start event.
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
.build();
|
||||
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
for (int i = 0; i < 9; i++) {
|
||||
sendMessage(msg, s[i]);
|
||||
@@ -232,26 +249,26 @@ public class SpectatorJoinTest extends TestBase {
|
||||
|
||||
// Game list update (game now running).
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGameListUpdateMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListUpdateMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasGameStartInitialMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
|
||||
// Spectator should receive a hand start message without cards.
|
||||
msg = receiveMessage(spectatorSock);
|
||||
if (!msg.hasHandStartMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameEngineMessage() || !msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message: " + msg.getMessageType());
|
||||
}
|
||||
assertFalse(msg.getHandStartMessage().hasEncryptedCards());
|
||||
assertFalse(msg.getHandStartMessage().hasPlainCards());
|
||||
assertEquals(gameId, msg.getHandStartMessage().getGameId());
|
||||
assertFalse(msg.getGameMessage().getGameEngineMessage().getHandStartMessage().hasEncryptedCards());
|
||||
assertFalse(msg.getGameMessage().getGameEngineMessage().getHandStartMessage().hasPlainCards());
|
||||
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
s[i].close();
|
||||
|
||||
@@ -25,9 +25,13 @@ import java.util.Collection;
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventMessage;
|
||||
@@ -49,55 +53,76 @@ public class StartNormalGameTest extends TestBase {
|
||||
PokerTHMessage msg;
|
||||
// Waiting for player list update.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
StartEventMessage startMsg = StartEventMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setFillWithComputerPlayers(true)
|
||||
.setStartEventType(StartEventType.startEvent)
|
||||
.build();
|
||||
StartEventMessage startEvent = StartEventMessage.newBuilder()
|
||||
.setStartEventType(StartEventType.startEvent)
|
||||
.setFillWithComputerPlayers(true)
|
||||
.build();
|
||||
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventMessage)
|
||||
.setStartEventMessage(startEvent)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventMessage)
|
||||
.setStartEventMessage(startMsg)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
} while (msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
|
||||
assertTrue(msg.hasStartEventMessage() && msg.getMessageType() == PokerTHMessageType.Type_StartEventMessage);
|
||||
assertTrue(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage() && msg.getGameMessage().getGameManagementMessage().getMessageType() == GameManagementMessageType.Type_StartEventMessage);
|
||||
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
.build();
|
||||
gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
game = GameMessage.newBuilder()
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
sendMessage(msg);
|
||||
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
} while (msg.hasGameListUpdateMessage());
|
||||
} while (msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListUpdateMessage());
|
||||
|
||||
if (!msg.hasGameStartInitialMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
@@ -366,13 +366,13 @@ public abstract class TestBase {
|
||||
public PokerTHMessage leaveGameRequestMsg(int gameId) {
|
||||
LeaveGameRequestMessage leaveRequest = LeaveGameRequestMessage.newBuilder()
|
||||
.build();
|
||||
GameManagementMessage gameManagment = GameManagementMessage.newBuilder()
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_LeaveGameRequestMessage)
|
||||
.setLeaveGameRequestMessage(leaveRequest)
|
||||
.build();
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagment)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user