diff --git a/Mage.Client/pom.xml b/Mage.Client/pom.xml
index 03fb7a10c38..583f6fc6358 100644
--- a/Mage.Client/pom.xml
+++ b/Mage.Client/pom.xml
@@ -48,6 +48,10 @@
org.unbescape
unbescape
+
+ org.jsoup
+ jsoup
+
@@ -110,12 +114,6 @@
beansbinding
1.2.1
-
-
- org.jsoup
- jsoup
- 1.14.3
-
diff --git a/Mage.Tests/pom.xml b/Mage.Tests/pom.xml
index b67248f9d85..33eda6a3fb0 100644
--- a/Mage.Tests/pom.xml
+++ b/Mage.Tests/pom.xml
@@ -70,6 +70,10 @@
net.java.truevfs
truevfs-profile-base
+
+ org.jsoup
+ jsoup
+
diff --git a/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java b/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java
index e5a6d99afaa..042dc09a513 100644
--- a/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java
+++ b/Mage.Tests/src/test/java/org/mage/test/load/LoadCallbackClient.java
@@ -6,6 +6,7 @@ import mage.interfaces.callback.ClientCallback;
import mage.remote.Session;
import mage.view.*;
import org.apache.log4j.Logger;
+import org.jsoup.Jsoup;
import java.util.List;
import java.util.UUID;
@@ -31,10 +32,12 @@ public class LoadCallbackClient implements CallbackClient {
private GameView gameView;
private final String logsPrefix;
+ private final Boolean showLogsAsHtml; // original game logs in HTML, but it can be converted to txt for more readable console
- public LoadCallbackClient(boolean joinGameChat, String logsPrefix) {
+ public LoadCallbackClient(boolean joinGameChat, String logsPrefix, Boolean showLogsAsHtml) {
this.joinGameChat = joinGameChat;
this.logsPrefix = logsPrefix;
+ this.showLogsAsHtml = showLogsAsHtml;
}
@Override
@@ -42,7 +45,7 @@ public class LoadCallbackClient implements CallbackClient {
callback.decompressData();
controlCount = 0;
- // ignore bloaded logs
+ // ignore bloated logs
switch (callback.getMethod()) {
case CHATMESSAGE:
case GAME_UPDATE_AND_INFORM:
@@ -63,7 +66,8 @@ public class LoadCallbackClient implements CallbackClient {
case CHATMESSAGE: {
ChatMessage message = (ChatMessage) callback.getData();
- log.info(getLogStartInfo() + "chat message: " + message.getMessage());
+ String mes = this.showLogsAsHtml ? message.getMessage() : Jsoup.parse(message.getMessage()).text();
+ log.info(getLogStartInfo() + "chat message" + (message.getTurnInfo() == null ? "" : " at " + message.getTurnInfo()) + ": " + mes);
break;
}
@@ -81,7 +85,7 @@ public class LoadCallbackClient implements CallbackClient {
case GAME_INFORM_PERSONAL: {
GameClientMessage message = (GameClientMessage) callback.getData();
gameView = message.getGameView();
- //log.info(getLogStartInfo() + "Inform: " + message.getMessage());
+ // ignore play priority log
break;
}
@@ -99,17 +103,15 @@ public class LoadCallbackClient implements CallbackClient {
case "Select a starting player":
session.sendPlayerUUID(gameId, playerId);
return;
- //break;
case "Select a card to discard":
log.info(getLogStartInfo() + "hand size: " + gameView.getHand().size());
SimpleCardView card = gameView.getHand().values().iterator().next();
session.sendPlayerUUID(gameId, card.getId());
return;
- //break;
default:
log.error(getLogStartInfo() + "unknown GAME_TARGET message: " + message.toString());
+ return;
}
- break;
}
case GAME_ASK: {
@@ -170,8 +172,7 @@ public class LoadCallbackClient implements CallbackClient {
default:
log.error(getLogStartInfo() + "unknown callback: " + callback.getMethod() + ", " + callback.getData().toString());
session.sendPlayerBoolean(gameId, false);
- return;
- //break;
+ break;
}
}
@@ -188,9 +189,6 @@ public class LoadCallbackClient implements CallbackClient {
private String getLogStartInfo() {
String mes = "";
-
- //throw new IllegalArgumentException("test exception");
-
PlayerView p = getPlayer();
if (this.gameView != null && p != null && this.gameView.getStep() != null) {
// never calls for client side client, cause it used as game's watcher, not a player
diff --git a/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java b/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java
index 6e5f69f739d..39b8db82c7d 100644
--- a/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java
+++ b/Mage.Tests/src/test/java/org/mage/test/load/LoadTest.java
@@ -44,6 +44,7 @@ public class LoadTest {
private static final int TEST_PORT = 17171;
private static final String TEST_PROXY_TYPE = "None";
private static final String TEST_USER_NAME_GLOBAL_PREFIX = "t_";
+ private static final Boolean TEST_SHOW_GAME_LOGS_AS_HTML = false; // html is original format with full data, but can be too bloated
private static final String TEST_AI_GAME_MODE = "Freeform Commander Free For All";
private static final String TEST_AI_DECK_TYPE = "Variant Magic - Freeform Commander";
private static final String TEST_AI_RANDOM_DECK_SETS = "NEO"; // set for random generated decks (empty for all sets usage)
@@ -544,7 +545,7 @@ public class LoadTest {
public LoadPlayer(String userPrefix, boolean joinGameChat, String logsPrefix) {
this.userName = TEST_USER_NAME_GLOBAL_PREFIX + userPrefix + "_" + RandomUtil.nextInt(10000);
this.connection = createSimpleConnection(this.userName);
- this.client = new SimpleMageClient(joinGameChat, logsPrefix);
+ this.client = new SimpleMageClient(joinGameChat, logsPrefix, TEST_SHOW_GAME_LOGS_AS_HTML);
this.session = new SessionImpl(this.client);
this.session.connect(this.connection);
diff --git a/Mage.Tests/src/test/java/org/mage/test/load/SimpleMageClient.java b/Mage.Tests/src/test/java/org/mage/test/load/SimpleMageClient.java
index b52e32f9d73..869195d2bd0 100644
--- a/Mage.Tests/src/test/java/org/mage/test/load/SimpleMageClient.java
+++ b/Mage.Tests/src/test/java/org/mage/test/load/SimpleMageClient.java
@@ -23,9 +23,9 @@ public class SimpleMageClient implements MageClient {
private final LoadCallbackClient callbackClient;
- public SimpleMageClient(boolean joinGameChat, String logsPrefix) {
+ public SimpleMageClient(boolean joinGameChat, String logsPrefix, Boolean showLogsAsHtml) {
clientId = UUID.randomUUID();
- callbackClient = new LoadCallbackClient(joinGameChat, logsPrefix);
+ callbackClient = new LoadCallbackClient(joinGameChat, logsPrefix, showLogsAsHtml);
}
@Override
diff --git a/pom.xml b/pom.xml
index 5364e329224..7c39ac8dc2e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -313,6 +313,12 @@
commons-lang3
3.12.0
+
+
+ org.jsoup
+ jsoup
+ 1.14.3
+