diff --git a/tests/src/de/pokerth/test/ChatTest.java b/tests/src/de/pokerth/test/ChatTest.java index e289b7a6..36e35a6c 100644 --- a/tests/src/de/pokerth/test/ChatTest.java +++ b/tests/src/de/pokerth/test/ChatTest.java @@ -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() diff --git a/tests/src/de/pokerth/test/RejoinGameTest.java b/tests/src/de/pokerth/test/RejoinGameTest.java index 2cedc577..0082e526 100644 --- a/tests/src/de/pokerth/test/RejoinGameTest.java +++ b/tests/src/de/pokerth/test/RejoinGameTest.java @@ -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."); } diff --git a/tests/src/de/pokerth/test/RunNormalGameTest.java b/tests/src/de/pokerth/test/RunNormalGameTest.java index 4efa01ef..3898145a 100644 --- a/tests/src/de/pokerth/test/RunNormalGameTest.java +++ b/tests/src/de/pokerth/test/RunNormalGameTest.java @@ -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() diff --git a/tests/src/de/pokerth/test/RunRankingGameTest.java b/tests/src/de/pokerth/test/RunRankingGameTest.java index 16f6e6b6..992e81a4 100644 --- a/tests/src/de/pokerth/test/RunRankingGameTest.java +++ b/tests/src/de/pokerth/test/RunRankingGameTest.java @@ -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."); } diff --git a/tests/src/de/pokerth/test/SeatStateTest.java b/tests/src/de/pokerth/test/SeatStateTest.java index fb32229a..aa448cc6 100644 --- a/tests/src/de/pokerth/test/SeatStateTest.java +++ b/tests/src/de/pokerth/test/SeatStateTest.java @@ -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 seats = msg.getGameStartInitialMessage().getPlayerSeatsList(); + } while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage()); + assertEquals(gameId, msg.getGameMessage().getGameId()); + Collection seats = msg.getGameMessage().getGameManagementMessage().getGameStartInitialMessage().getPlayerSeatsList(); assertEquals(10, seats.size()); int firstPlayerPos = 0; for (Iterator it = seats.iterator(); it.hasNext(); ) { @@ -124,8 +136,8 @@ public class SeatStateTest extends TestBase { do { msg = receiveMessage(); failOnErrorMessage(msg); - } while (!msg.hasHandStartMessage()); - Collection seatStates = msg.getHandStartMessage().getSeatStatesList(); + } while (!msg.hasGameMessage() || !msg.getGameMessage().hasGameEngineMessage() || !msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()); + Collection 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()); diff --git a/tests/src/de/pokerth/test/SpectatorJoinTest.java b/tests/src/de/pokerth/test/SpectatorJoinTest.java index 6013c5e3..d9007dc7 100644 --- a/tests/src/de/pokerth/test/SpectatorJoinTest.java +++ b/tests/src/de/pokerth/test/SpectatorJoinTest.java @@ -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(); diff --git a/tests/src/de/pokerth/test/StartNormalGameTest.java b/tests/src/de/pokerth/test/StartNormalGameTest.java index f54b5f39..4a90f381 100644 --- a/tests/src/de/pokerth/test/StartNormalGameTest.java +++ b/tests/src/de/pokerth/test/StartNormalGameTest.java @@ -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."); } diff --git a/tests/src/de/pokerth/test/TestBase.java b/tests/src/de/pokerth/test/TestBase.java index 3e8732a3..0691192b 100644 --- a/tests/src/de/pokerth/test/TestBase.java +++ b/tests/src/de/pokerth/test/TestBase.java @@ -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();