added Cheat method for UI testing

This commit is contained in:
betasteward 2015-08-25 10:21:09 -04:00
parent 432c8ddaa0
commit 83d11baa00
5 changed files with 50 additions and 16 deletions

View file

@ -33,8 +33,8 @@ import mage.view.TournamentView;
import mage.view.UserDataView;
import mage.view.UserView;
import org.apache.log4j.Logger;
import org.mage.network.handlers.client.ClientExceptionHandler;
import org.mage.network.handlers.PingMessageHandler;
import org.mage.network.handlers.client.ClientExceptionHandler;
import org.mage.network.handlers.client.ClientMessageHandler;
import org.mage.network.handlers.client.ClientRegisteredMessageHandler;
import org.mage.network.handlers.client.HeartbeatHandler;
@ -412,7 +412,11 @@ public class Client {
}
public void cheat(UUID gameId, UUID playerId, DeckCardLists importDeck) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
try {
clientMessageHandler.cheat(gameId, playerId, importDeck);
} catch (Exception ex) {
logger.error("Error cheating", ex);
}
}
public UUID joinGame(UUID gameId) {

View file

@ -23,6 +23,7 @@ import org.mage.network.interfaces.MageClient;
import org.mage.network.messages.ClientMessage;
import org.mage.network.messages.requests.ChatMessageRequest;
import org.mage.network.messages.requests.ChatRoomIdRequest;
import org.mage.network.messages.requests.CheatRequest;
import org.mage.network.messages.requests.CreateTableRequest;
import org.mage.network.messages.requests.CreateTournamentRequest;
import org.mage.network.messages.requests.GetRoomRequest;
@ -321,4 +322,8 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
ctx.writeAndFlush(new StopWatchingRequest(gameId)).addListener(WriteListener.getInstance());
}
public void cheat(UUID gameId, UUID playerId, DeckCardLists importDeck) {
ctx.writeAndFlush(new CheatRequest(gameId, playerId, importDeck)).addListener(WriteListener.getInstance());
}
}

View file

@ -78,5 +78,7 @@ public interface MageServer {
void stopWatching(UUID gameId, String sessionId);
void pingTime(long milliSeconds, String sessionId);
void cheat(UUID gameId, String sessionId, UUID playerId, DeckCardLists deckList);
}

View file

@ -0,0 +1,28 @@
package org.mage.network.messages.requests;
import io.netty.channel.ChannelHandlerContext;
import java.util.UUID;
import mage.cards.decks.DeckCardLists;
import org.mage.network.interfaces.MageServer;
/**
*
* @author Bill
*/
public class CheatRequest extends ServerRequest {
private final UUID gameId;
private final UUID playerId;
private final DeckCardLists importDeck;
public CheatRequest(UUID gameId, UUID playerId, DeckCardLists importDeck) {
this.gameId = gameId;
this.playerId = playerId;
this.importDeck = importDeck;
}
@Override
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
server.cheat(gameId, getSessionId(ctx), playerId, importDeck);
}
}

View file

@ -797,20 +797,15 @@ public class ServerMain implements MageServer {
public ServerState getServerState() {
return state;
}
//
// @Override
// public void cheat(final UUID gameId, final String sessionId, final UUID playerId, final DeckCardLists deckList) throws MageException {
// execute("cheat", sessionId, new Action() {
// @Override
// public void execute() {
// if (testMode) {
// UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
// GameManager.getInstance().cheat(gameId, userId, playerId, deckList);
// }
// }
// });
// }
//
@Override
public void cheat(final UUID gameId, final String sessionId, final UUID playerId, final DeckCardLists deckList) {
if (testMode) {
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
GameManager.getInstance().cheat(gameId, userId, playerId, deckList);
}
}
// @Override
// public boolean cheat(final UUID gameId, final String sessionId, final UUID playerId, final String cardName) throws MageException {
// return executeWithResult("cheatOne", sessionId, new ActionWithBooleanResult() {