Fixing remaining java tests.

This commit is contained in:
lotodore
2015-01-18 23:27:36 +01:00
parent 19bf312694
commit 83bbc660e1
8 changed files with 159 additions and 101 deletions
+6 -6
View File
@@ -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.");
}
+32 -20
View File
@@ -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.");
}
+2 -2
View File
@@ -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();