diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java
index 7ffffb3008b..ff39fef25fc 100644
--- a/Mage.Client/src/main/java/mage/client/MageFrame.java
+++ b/Mage.Client/src/main/java/mage/client/MageFrame.java
@@ -765,6 +765,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
public boolean connect(Connection connection) {
client = new Client(instance);
boolean result = client.connect(connection, version);
+ setWindowTitle();
if (result) {
updateDatabase(connection.isForceDBComparison(), serverState);
}
diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java
index a3f26855596..17d9cf2a76e 100644
--- a/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java
+++ b/Mage.Client/src/main/java/mage/client/deckeditor/DeckEditorPanel.java
@@ -191,7 +191,7 @@ public class DeckEditorPanel extends javax.swing.JPanel {
//this.cardTableSelector.loadCards(this.bigCard);
this.btnExit.setVisible(true);
this.btnImport.setVisible(true);
- if (!MageFrame.getClient().getServerState().isTestMode()) {
+ if (MageFrame.getClient().getServerState() != null && !MageFrame.getClient().getServerState().isTestMode()) {
this.btnLoad.setVisible(true);
}
this.deckArea.showSideboard(true);
diff --git a/Mage.Server.Tests/pom.xml b/Mage.Server.Tests/pom.xml
index cbc26a4e37e..706cd196b5b 100644
--- a/Mage.Server.Tests/pom.xml
+++ b/Mage.Server.Tests/pom.xml
@@ -5,7 +5,7 @@
org.mage
mage-root
- 1.4.1
+ 1.4.3
mage-server-tests
diff --git a/Mage.Server.Tests/src/test/java/org/mage/server/test/ServerTest.java b/Mage.Server.Tests/src/test/java/org/mage/server/test/ServerTest.java
index e9be0197d0d..2897ad90fee 100644
--- a/Mage.Server.Tests/src/test/java/org/mage/server/test/ServerTest.java
+++ b/Mage.Server.Tests/src/test/java/org/mage/server/test/ServerTest.java
@@ -1,5 +1,9 @@
package org.mage.server.test;
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
import java.util.List;
import mage.cards.decks.importer.DeckImporterUtil;
import mage.constants.MatchTimeLimit;
@@ -35,14 +39,15 @@ public class ServerTest {
new Thread(new Runnable() {
@Override
public void run() {
- ServerMain.main(new String[] {"-fastDbMode=true"});
+// ServerMain.main(new String[] {"-fastDbMode=true"});
+ ServerMain.main(new String[] {""});
}
}).start();
- client = new TestClient();
try {
- Thread.sleep(10000); //wait for server to startup
- } catch (InterruptedException ex) {
+ waitForServer("ACTIVE"); //wait for server to startup
+ } catch (InterruptedException | IOException ex) {
}
+ client = new TestClient();
client.connect(USERNAME);
try {
Thread.sleep(10000); //wait for user to join main room
@@ -50,6 +55,29 @@ public class ServerTest {
}
}
+ public static void waitForServer(String message) throws FileNotFoundException, IOException, InterruptedException {
+ FileReader fr = new FileReader("mageserver.log");
+ BufferedReader br = new BufferedReader(fr);
+
+ do { //read until end-of-file
+ String line = br.readLine();
+ if (line == null) {
+ break;
+ }
+ } while (true);
+
+ do { //read only new lines
+ String line = br.readLine();
+ if (line == null) {
+ Thread.sleep(1000);
+ }
+ else {
+ if (line.contains(message))
+ break;
+ }
+ } while (true);
+ }
+
@AfterClass
public static void tearDownClass() {
}
diff --git a/Mage.Server.Tests/src/test/java/org/mage/server/test/TestClient.java b/Mage.Server.Tests/src/test/java/org/mage/server/test/TestClient.java
index 09a7d666fb0..05ebb8fa3b8 100644
--- a/Mage.Server.Tests/src/test/java/org/mage/server/test/TestClient.java
+++ b/Mage.Server.Tests/src/test/java/org/mage/server/test/TestClient.java
@@ -9,6 +9,7 @@ import mage.cards.decks.DeckCardLists;
import mage.choices.Choice;
import mage.game.match.MatchOptions;
import mage.interfaces.ServerState;
+import mage.players.net.UserGroup;
import mage.players.net.UserSkipPrioritySteps;
import mage.remote.Connection;
import mage.utils.MageVersion;
@@ -50,7 +51,7 @@ public class TestClient implements MageClient {
connection.setSSL(true);
connection.setUsername(userName);
connection.setForceDBComparison(false);
- connection.setUserData(new UserDataView(51, false, false, false, new UserSkipPrioritySteps(), "world", false));
+ connection.setUserData(new UserDataView(UserGroup.PLAYER, 51, false, false, false, new UserSkipPrioritySteps(), "world", false, false, false));
return client.connect(connection, MageVersion.getCurrent());
}
@@ -112,7 +113,7 @@ public class TestClient implements MageClient {
}
@Override
- public void gameAsk(UUID gameId, GameView gameView, String question) {
+ public void gameAsk(UUID gameId, GameView gameView, String question, Map options) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@@ -137,7 +138,7 @@ public class TestClient implements MageClient {
}
@Override
- public void gamePlayMana(UUID gameId, GameView gameView, String message) {
+ public void gamePlayMana(UUID gameId, GameView gameView, String message, Map options) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@@ -260,4 +261,5 @@ public class TestClient implements MageClient {
public void watchGame(UUID gameId, UUID chatId, GameView game) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
+
}