From 864e50e38caa11185536c33963642eb1fcbc06e4 Mon Sep 17 00:00:00 2001 From: Jeremy Wood Date: Tue, 6 Oct 2020 15:07:56 -0400 Subject: [PATCH] Add TestingMode util. --- .../MultiverseCore/MultiverseCore.java | 5 ++++- .../MultiverseCore/utils/TestingMode.java | 18 ++++++++++++++++++ .../utils/TestInstanceCreator.java | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/onarandombox/MultiverseCore/utils/TestingMode.java diff --git a/src/main/java/com/onarandombox/MultiverseCore/MultiverseCore.java b/src/main/java/com/onarandombox/MultiverseCore/MultiverseCore.java index b4168ae0..7cc45719 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/MultiverseCore.java +++ b/src/main/java/com/onarandombox/MultiverseCore/MultiverseCore.java @@ -93,6 +93,7 @@ import com.onarandombox.MultiverseCore.utils.MVMessaging; import com.onarandombox.MultiverseCore.utils.MVPermissions; import com.onarandombox.MultiverseCore.utils.MVPlayerSession; import com.onarandombox.MultiverseCore.utils.MaterialConverter; +import com.onarandombox.MultiverseCore.utils.TestingMode; import com.onarandombox.MultiverseCore.utils.metrics.MetricsConfigurator; import com.onarandombox.MultiverseCore.utils.SimpleBlockSafety; import com.onarandombox.MultiverseCore.utils.SimpleLocationManipulation; @@ -343,7 +344,9 @@ public class MultiverseCore extends JavaPlugin implements MVPlugin, Core { } private void setupMetrics() { - MetricsConfigurator.configureMetrics(this); + if (TestingMode.isDisabled()) { + MetricsConfigurator.configureMetrics(this); + } } /** diff --git a/src/main/java/com/onarandombox/MultiverseCore/utils/TestingMode.java b/src/main/java/com/onarandombox/MultiverseCore/utils/TestingMode.java new file mode 100644 index 00000000..81bb0f6e --- /dev/null +++ b/src/main/java/com/onarandombox/MultiverseCore/utils/TestingMode.java @@ -0,0 +1,18 @@ +package com.onarandombox.MultiverseCore.utils; + +/** + * A utility class that enables automated tests to flag Multiverse for testing. This allows Multiverse to not perform + * certain behaviors such as enabled stats uploads. + */ +public class TestingMode { + + private static boolean enabled = false; + + public static void enable() { + enabled = true; + } + + public static boolean isDisabled() { + return !enabled; + } +} diff --git a/src/test/java/com/onarandombox/MultiverseCore/utils/TestInstanceCreator.java b/src/test/java/com/onarandombox/MultiverseCore/utils/TestInstanceCreator.java index c198e022..9a29f93e 100644 --- a/src/test/java/com/onarandombox/MultiverseCore/utils/TestInstanceCreator.java +++ b/src/test/java/com/onarandombox/MultiverseCore/utils/TestInstanceCreator.java @@ -64,6 +64,7 @@ public class TestInstanceCreator { public static final File worldsDirectory = new File("bin/test/server"); public boolean setUp() { + TestingMode.enable(); try { pluginDirectory.mkdirs(); assertTrue(pluginDirectory.exists());