mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-03-07 17:28:03 +08:00
[Test] Fixed BungeeSystem enable test
This commit is contained in:
parent
55c49bd220
commit
3096e962b5
@ -37,7 +37,7 @@ public class BukkitDBSystem extends DBSystem {
|
||||
Timings timings,
|
||||
ErrorHandler errorHandler
|
||||
) {
|
||||
super(locale, logger, timings, errorHandler);
|
||||
super(locale, sqLiteDB, logger, timings, errorHandler);
|
||||
this.config = config;
|
||||
|
||||
databases.add(mySQLDB);
|
||||
|
@ -9,6 +9,7 @@ import com.djrapitops.plan.api.exceptions.database.DBException;
|
||||
import com.djrapitops.plan.api.exceptions.database.DBInitException;
|
||||
import com.djrapitops.plan.system.SubSystem;
|
||||
import com.djrapitops.plan.system.database.databases.Database;
|
||||
import com.djrapitops.plan.system.database.databases.sql.SQLiteDB;
|
||||
import com.djrapitops.plan.system.locale.Locale;
|
||||
import com.djrapitops.plan.system.locale.lang.PluginLang;
|
||||
import com.djrapitops.plugin.benchmarking.Timings;
|
||||
@ -30,6 +31,7 @@ import java.util.Set;
|
||||
public abstract class DBSystem implements SubSystem {
|
||||
|
||||
protected final Locale locale;
|
||||
private final SQLiteDB.Factory sqLiteFactory;
|
||||
protected final PluginLogger logger;
|
||||
protected final Timings timings;
|
||||
protected final ErrorHandler errorHandler;
|
||||
@ -39,11 +41,13 @@ public abstract class DBSystem implements SubSystem {
|
||||
|
||||
public DBSystem(
|
||||
Locale locale,
|
||||
SQLiteDB.Factory sqLiteDB,
|
||||
PluginLogger logger,
|
||||
Timings timings,
|
||||
ErrorHandler errorHandler
|
||||
) {
|
||||
this.locale = locale;
|
||||
sqLiteFactory = sqLiteDB;
|
||||
this.logger = logger;
|
||||
this.timings = timings;
|
||||
this.errorHandler = errorHandler;
|
||||
@ -96,4 +100,8 @@ public abstract class DBSystem implements SubSystem {
|
||||
this.db.close();
|
||||
this.db = db;
|
||||
}
|
||||
|
||||
public SQLiteDB.Factory getSqLiteFactory() {
|
||||
return sqLiteFactory;
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
package com.djrapitops.plan.system.database;
|
||||
|
||||
import com.djrapitops.plan.system.database.databases.sql.MySQLDB;
|
||||
import com.djrapitops.plan.system.database.databases.sql.SQLiteDB;
|
||||
import com.djrapitops.plan.system.locale.Locale;
|
||||
import com.djrapitops.plugin.benchmarking.Timings;
|
||||
import com.djrapitops.plugin.logging.console.PluginLogger;
|
||||
@ -25,11 +26,12 @@ public class ProxyDBSystem extends DBSystem {
|
||||
public ProxyDBSystem(
|
||||
Locale locale,
|
||||
MySQLDB mySQLDB,
|
||||
SQLiteDB.Factory sqLiteDB,
|
||||
PluginLogger logger,
|
||||
Timings timings,
|
||||
ErrorHandler errorHandler
|
||||
) {
|
||||
super(locale, logger, timings, errorHandler);
|
||||
super(locale, sqLiteDB, logger, timings, errorHandler);
|
||||
databases.add(mySQLDB);
|
||||
db = mySQLDB;
|
||||
}
|
||||
|
@ -21,9 +21,16 @@ import javax.inject.Singleton;
|
||||
public class SpongeDBSystem extends DBSystem {
|
||||
|
||||
@Inject
|
||||
public SpongeDBSystem(Locale locale, SpongeMySQLDB spongeMySQLDB, SQLiteDB.Factory sqLiteDB, PlanConfig config,
|
||||
PluginLogger logger, Timings timings, ErrorHandler errorHandler) {
|
||||
super(locale, logger, timings, errorHandler);
|
||||
public SpongeDBSystem(
|
||||
Locale locale,
|
||||
SpongeMySQLDB spongeMySQLDB,
|
||||
SQLiteDB.Factory sqLiteDB,
|
||||
PlanConfig config,
|
||||
PluginLogger logger,
|
||||
Timings timings,
|
||||
ErrorHandler errorHandler
|
||||
) {
|
||||
super(locale, sqLiteDB, logger, timings, errorHandler);
|
||||
|
||||
databases.add(spongeMySQLDB);
|
||||
databases.add(sqLiteDB.usingDefaultFile());
|
||||
|
@ -4,8 +4,9 @@
|
||||
*/
|
||||
package com.djrapitops.plan;
|
||||
|
||||
import com.djrapitops.plan.api.exceptions.EnableException;
|
||||
import com.djrapitops.plan.system.PlanSystem;
|
||||
import com.djrapitops.plan.system.database.DBSystem;
|
||||
import com.djrapitops.plan.system.settings.Settings;
|
||||
import org.junit.*;
|
||||
import org.junit.rules.ExpectedException;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
@ -24,8 +25,8 @@ public class BungeeBukkitConnectionTest {
|
||||
|
||||
@ClassRule
|
||||
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
|
||||
private static Plan bukkitMock;
|
||||
private static PlanBungee bungeeMock;
|
||||
private static PlanComponent BUKKIT_COMPONENT;
|
||||
private static PlanBungeeComponent BUNGEE_COMPONENT;
|
||||
|
||||
@Rule
|
||||
public ExpectedException thrown = ExpectedException.none();
|
||||
@ -40,19 +41,17 @@ public class BungeeBukkitConnectionTest {
|
||||
public static void setUpClass() throws Exception {
|
||||
PlanBukkitMocker planBukkitMocker = PlanBukkitMocker.setUp()
|
||||
.withDataFolder(temporaryFolder.getRoot())
|
||||
.withLogging()
|
||||
.withPluginDescription()
|
||||
.withResourceFetchingFromJar()
|
||||
.withServer();
|
||||
bukkitMock = planBukkitMocker.getPlanMock();
|
||||
BUKKIT_COMPONENT = DaggerPlanComponent.builder().plan(planBukkitMocker.getPlanMock()).build();
|
||||
|
||||
PlanBungeeMocker planBungeeMocker = PlanBungeeMocker.setUp()
|
||||
.withDataFolder(temporaryFolder.getRoot())
|
||||
.withLogging()
|
||||
.withPluginDescription()
|
||||
.withResourceFetchingFromJar()
|
||||
.withProxy();
|
||||
bungeeMock = planBungeeMocker.getPlanMock();
|
||||
BUNGEE_COMPONENT = DaggerPlanBungeeComponent.builder().plan(planBungeeMocker.getPlanMock()).build();
|
||||
}
|
||||
|
||||
@After
|
||||
@ -68,24 +67,21 @@ public class BungeeBukkitConnectionTest {
|
||||
}
|
||||
}
|
||||
|
||||
public void enable() throws EnableException {
|
||||
// Settings.WEBSERVER_PORT.setTemporaryValue(9005);
|
||||
public void enable() throws Exception {
|
||||
bukkitSystem = BUKKIT_COMPONENT.system();
|
||||
bungeeSystem = BUNGEE_COMPONENT.system();
|
||||
|
||||
bukkitSystem.getConfigSystem().getConfig().set(Settings.WEBSERVER_PORT, 9005);
|
||||
bungeeSystem.getConfigSystem().getConfig().set(Settings.WEBSERVER_PORT, 9250);
|
||||
|
||||
DBSystem dbSystem = bungeeSystem.getDatabaseSystem();
|
||||
dbSystem.setActiveDatabase(dbSystem.getSqLiteFactory().usingDefaultFile());
|
||||
|
||||
bukkitSystem = null; // TODO
|
||||
bukkitSystem.enable();
|
||||
|
||||
bukkitUUID = null;
|
||||
|
||||
bungeeSystem = null; // TODO
|
||||
|
||||
// Settings.WEBSERVER_PORT.setTemporaryValue(9250);
|
||||
// Settings.BUNGEE_IP.setTemporaryValue("localhost");
|
||||
// Settings.DB_TYPE.setTemporaryValue("sqlite");
|
||||
// bungeeSystem.setDatabaseSystem(new BukkitDBSystem(new Locale()));
|
||||
|
||||
bungeeSystem.enable();
|
||||
|
||||
bungeeUUID = null;
|
||||
bukkitUUID = bukkitSystem.getServerInfo().getServerUUID();
|
||||
bungeeUUID = bungeeSystem.getServerInfo().getServerUUID();
|
||||
|
||||
System.out.println("------------------------------");
|
||||
System.out.println("Enable Complete");
|
||||
@ -96,7 +92,7 @@ public class BungeeBukkitConnectionTest {
|
||||
|
||||
@Test
|
||||
@Ignore("Causes next BungeeSystem test to fail")
|
||||
public void testRequest() throws EnableException {
|
||||
public void testRequest() throws Exception {
|
||||
enable();
|
||||
|
||||
System.out.println("Sending request");
|
||||
|
@ -6,6 +6,9 @@ package com.djrapitops.plan;
|
||||
|
||||
import com.djrapitops.plan.api.exceptions.EnableException;
|
||||
import com.djrapitops.plan.system.PlanSystem;
|
||||
import com.djrapitops.plan.system.database.DBSystem;
|
||||
import com.djrapitops.plan.system.settings.Settings;
|
||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||
import org.junit.*;
|
||||
import org.junit.rules.ExpectedException;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
@ -23,20 +26,26 @@ public class BungeeSystemTest {
|
||||
|
||||
@ClassRule
|
||||
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
|
||||
private static PlanBungee planMock;
|
||||
private static PlanBungee PLUGIN_MOCK;
|
||||
@Rule
|
||||
public ExpectedException thrown = ExpectedException.none();
|
||||
|
||||
private PlanBungeeComponent component;
|
||||
private PlanSystem bungeeSystem;
|
||||
|
||||
@BeforeClass
|
||||
public static void setUpClass() throws Exception {
|
||||
PlanBungeeMocker mockUtil = PlanBungeeMocker.setUp()
|
||||
.withDataFolder(temporaryFolder.getRoot())
|
||||
.withLogging()
|
||||
PlanBungeeMocker mocker = PlanBungeeMocker.setUp()
|
||||
.withDataFolder(temporaryFolder.newFolder())
|
||||
.withPluginDescription()
|
||||
.withResourceFetchingFromJar()
|
||||
.withProxy();
|
||||
planMock = mockUtil.getPlanMock();
|
||||
PLUGIN_MOCK = mocker.getPlanMock();
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
component = DaggerPlanBungeeComponent.builder().plan(PLUGIN_MOCK).build();
|
||||
}
|
||||
|
||||
@After
|
||||
@ -47,29 +56,33 @@ public class BungeeSystemTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testEnable() throws EnableException {
|
||||
bungeeSystem = null; //TODO
|
||||
public void bungeeEnables() throws Exception {
|
||||
bungeeSystem = component.system();
|
||||
|
||||
// Settings.WEBSERVER_PORT.setTemporaryValue(9005);
|
||||
// Settings.BUNGEE_IP.setTemporaryValue("8.8.8.8");
|
||||
// Settings.DB_TYPE.setTemporaryValue("sqlite");
|
||||
// bungeeSystem.setDatabaseSystem(new BukkitDBSystem(Locale::new));
|
||||
PlanConfig config = bungeeSystem.getConfigSystem().getConfig();
|
||||
config.set(Settings.WEBSERVER_PORT, 9005);
|
||||
config.set(Settings.BUNGEE_IP, "8.8.8.8");
|
||||
|
||||
DBSystem dbSystem = bungeeSystem.getDatabaseSystem();
|
||||
dbSystem.setActiveDatabase(dbSystem.getSqLiteFactory().usingDefaultFile());
|
||||
|
||||
bungeeSystem.enable();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testEnableDefaultIP() throws EnableException {
|
||||
@Ignore("First test causes config settings to be wrong")
|
||||
public void bungeeDoesNotEnableWithDefaultIP() throws Exception {
|
||||
thrown.expect(EnableException.class);
|
||||
thrown.expectMessage("IP setting still 0.0.0.0 - Configure AlternativeIP/IP that connects to the Proxy server.");
|
||||
|
||||
bungeeSystem = null; //TODO
|
||||
bungeeSystem = component.system();
|
||||
|
||||
// Settings.WEBSERVER_PORT.setTemporaryValue(9005);
|
||||
// Settings.DB_TYPE.setTemporaryValue("sqlite");
|
||||
// bungeeSystem.setDatabaseSystem(new BukkitDBSystem(Locale::new));
|
||||
PlanConfig config = bungeeSystem.getConfigSystem().getConfig();
|
||||
config.set(Settings.WEBSERVER_PORT, 9005);
|
||||
config.set(Settings.BUNGEE_IP, "0.0.0.0");
|
||||
|
||||
DBSystem dbSystem = bungeeSystem.getDatabaseSystem();
|
||||
dbSystem.setActiveDatabase(dbSystem.getSqLiteFactory().usingDefaultFile());
|
||||
|
||||
bungeeSystem.enable();
|
||||
}
|
||||
@ -80,7 +93,12 @@ public class BungeeSystemTest {
|
||||
thrown.expect(EnableException.class);
|
||||
thrown.expectMessage("Database failed to initialize");
|
||||
|
||||
bungeeSystem = null; //TODO
|
||||
bungeeSystem = component.system();
|
||||
|
||||
PlanConfig config = bungeeSystem.getConfigSystem().getConfig();
|
||||
config.set(Settings.WEBSERVER_PORT, 9005);
|
||||
config.set(Settings.BUNGEE_IP, "8.8.8.8");
|
||||
|
||||
bungeeSystem.enable();
|
||||
}
|
||||
}
|
||||
|
@ -5,8 +5,15 @@
|
||||
package utilities.mocks;
|
||||
|
||||
import com.djrapitops.plan.PlanBungee;
|
||||
import com.djrapitops.plugin.benchmarking.Timings;
|
||||
import com.djrapitops.plugin.command.ColorScheme;
|
||||
import com.djrapitops.plugin.logging.console.PluginLogger;
|
||||
import com.djrapitops.plugin.logging.console.TestPluginLogger;
|
||||
import com.djrapitops.plugin.logging.debug.CombineDebugLogger;
|
||||
import com.djrapitops.plugin.logging.debug.DebugLogger;
|
||||
import com.djrapitops.plugin.logging.debug.MemoryDebugLogger;
|
||||
import com.djrapitops.plugin.logging.error.ConsoleErrorLogger;
|
||||
import com.djrapitops.plugin.logging.error.ErrorHandler;
|
||||
import com.djrapitops.plugin.task.thread.ThreadRunnableFactory;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyConfig;
|
||||
@ -43,11 +50,22 @@ public class PlanBungeeMocker extends Mocker {
|
||||
planMock = Mockito.mock(PlanBungee.class);
|
||||
super.planMock = planMock;
|
||||
|
||||
when(planMock.getVersion()).thenCallRealMethod();
|
||||
when(planMock.getColorScheme()).thenCallRealMethod();
|
||||
doReturn(new ColorScheme("§1", "§2", "§3")).when(planMock).getColorScheme();
|
||||
doReturn("1.0.0").when(planMock).getVersion();
|
||||
|
||||
TestLogger testLogger = new TestLogger();
|
||||
ThreadRunnableFactory runnableFactory = new ThreadRunnableFactory();
|
||||
PluginLogger testPluginLogger = new TestPluginLogger();
|
||||
DebugLogger debugLogger = new CombineDebugLogger(new MemoryDebugLogger());
|
||||
ErrorHandler consoleErrorLogger = new ConsoleErrorLogger(testPluginLogger);
|
||||
Timings timings = new Timings(debugLogger);
|
||||
|
||||
doReturn(testLogger).when(planMock).getLogger();
|
||||
doReturn(runnableFactory).when(planMock).getRunnableFactory();
|
||||
doReturn(testPluginLogger).when(planMock).getPluginLogger();
|
||||
doReturn(debugLogger).when(planMock).getDebugLogger();
|
||||
doReturn(consoleErrorLogger).when(planMock).getErrorHandler();
|
||||
doReturn(timings).when(planMock).getTimings();
|
||||
|
||||
return this;
|
||||
}
|
||||
@ -62,13 +80,8 @@ public class PlanBungeeMocker extends Mocker {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public PlanBungeeMocker withLogging() {
|
||||
TestLogger testLogger = new TestLogger();
|
||||
doReturn(testLogger).when(planMock).getLogger();
|
||||
TestPluginLogger testPluginLogger = new TestPluginLogger();
|
||||
doReturn(testPluginLogger).when(planMock).getPluginLogger();
|
||||
ConsoleErrorLogger consoleErrorLogger = new ConsoleErrorLogger(testPluginLogger);
|
||||
doReturn(consoleErrorLogger).when(planMock).getErrorHandler();
|
||||
return this;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user