diff --git a/build.gradle.kts b/build.gradle.kts index 2d01fa83b..5c8299fcc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -42,12 +42,8 @@ tasks { } dependencies { - // Junit Testing Framework - testImplementation(libs.junit.api) - testImplementation(libs.junit.params) - testRuntimeOnly(libs.junit.engine) - testImplementation(libs.junit.suite.api) - testRuntimeOnly(libs.junit.suite.engine) + // Testing Framework + testImplementation(project(mapOf("path" to ":testing"))) // Only here to ensure J9 module support for extensions and our classloaders testCompileOnly(libs.mockito.core) diff --git a/settings.gradle.kts b/settings.gradle.kts index 491db1ddd..2230bb028 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -20,4 +20,5 @@ rootProject.name = "Minestom" include("code-generators") include("jmh-benchmarks") include("jcstress-tests") -include("demo") \ No newline at end of file +include("demo") +include("testing") diff --git a/src/test/java/net/minestom/server/advancements/AdvancementIntegrationTest.java b/src/test/java/net/minestom/server/advancements/AdvancementIntegrationTest.java index e68bcd168..d74d97e8b 100644 --- a/src/test/java/net/minestom/server/advancements/AdvancementIntegrationTest.java +++ b/src/test/java/net/minestom/server/advancements/AdvancementIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.advancements; import net.kyori.adventure.text.Component; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.item.Material; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/api/EnvBefore.java b/src/test/java/net/minestom/server/api/EnvBefore.java deleted file mode 100644 index cf673fee8..000000000 --- a/src/test/java/net/minestom/server/api/EnvBefore.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minestom.server.api; - -import org.junit.jupiter.api.extension.BeforeEachCallback; -import org.junit.jupiter.api.extension.ExtensionContext; - -final class EnvBefore implements BeforeEachCallback { - @Override - public void beforeEach(ExtensionContext context) { - System.setProperty("minestom.viewable-packet", "false"); - } -} diff --git a/src/test/java/net/minestom/server/api/EnvCleaner.java b/src/test/java/net/minestom/server/api/EnvCleaner.java deleted file mode 100644 index 5950c3e85..000000000 --- a/src/test/java/net/minestom/server/api/EnvCleaner.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.minestom.server.api; - -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.api.extension.InvocationInterceptor; -import org.junit.jupiter.api.extension.ReflectiveInvocationContext; - -import java.lang.reflect.Method; - -final class EnvCleaner implements InvocationInterceptor { - @Override - public void interceptTestMethod(Invocation invocation, ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) throws Throwable { - invocation.proceed(); - EnvImpl env = (EnvImpl) invocationContext.getArguments().get(0); - env.cleanup(); - } -} diff --git a/src/test/java/net/minestom/server/api/EnvParameterResolver.java b/src/test/java/net/minestom/server/api/EnvParameterResolver.java deleted file mode 100644 index b0923e70d..000000000 --- a/src/test/java/net/minestom/server/api/EnvParameterResolver.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minestom.server.api; - -import net.minestom.server.MinecraftServer; -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.api.extension.ParameterContext; -import org.junit.jupiter.api.extension.ParameterResolutionException; -import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; - -final class EnvParameterResolver extends TypeBasedParameterResolver { - @Override - public Env resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) - throws ParameterResolutionException { - return new EnvImpl(MinecraftServer.updateProcess()); - } -} diff --git a/src/test/java/net/minestom/server/api/EnvTest.java b/src/test/java/net/minestom/server/api/EnvTest.java deleted file mode 100644 index b8c6ad7db..000000000 --- a/src/test/java/net/minestom/server/api/EnvTest.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.minestom.server.api; - -import org.junit.jupiter.api.extension.ExtendWith; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@ExtendWith(EnvParameterResolver.class) -@ExtendWith(EnvBefore.class) -@ExtendWith(EnvCleaner.class) -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.TYPE) -public @interface EnvTest { -} diff --git a/src/test/java/net/minestom/server/collision/EntityBlockPhysicsIntegrationTest.java b/src/test/java/net/minestom/server/collision/EntityBlockPhysicsIntegrationTest.java index a136a8d92..884c97580 100644 --- a/src/test/java/net/minestom/server/collision/EntityBlockPhysicsIntegrationTest.java +++ b/src/test/java/net/minestom/server/collision/EntityBlockPhysicsIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.collision; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Point; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; diff --git a/src/test/java/net/minestom/server/collision/EntityBlockTouchTickIntegrationTest.java b/src/test/java/net/minestom/server/collision/EntityBlockTouchTickIntegrationTest.java index 973b9540a..f5fbb8a9b 100644 --- a/src/test/java/net/minestom/server/collision/EntityBlockTouchTickIntegrationTest.java +++ b/src/test/java/net/minestom/server/collision/EntityBlockTouchTickIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.collision; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Point; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; diff --git a/src/test/java/net/minestom/server/collision/EntityProjectileCollisionIntegrationTest.java b/src/test/java/net/minestom/server/collision/EntityProjectileCollisionIntegrationTest.java index 38b0d0d2c..ee893bba4 100644 --- a/src/test/java/net/minestom/server/collision/EntityProjectileCollisionIntegrationTest.java +++ b/src/test/java/net/minestom/server/collision/EntityProjectileCollisionIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.collision; import net.minestom.server.MinecraftServer; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Point; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; diff --git a/src/test/java/net/minestom/server/collision/PlacementCollisionIntegrationTest.java b/src/test/java/net/minestom/server/collision/PlacementCollisionIntegrationTest.java index 62b5205e0..27a2f36c1 100644 --- a/src/test/java/net/minestom/server/collision/PlacementCollisionIntegrationTest.java +++ b/src/test/java/net/minestom/server/collision/PlacementCollisionIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.collision; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; import net.minestom.server.entity.Entity; diff --git a/src/test/java/net/minestom/server/command/CommandSuggestionIntegrationTest.java b/src/test/java/net/minestom/server/command/CommandSuggestionIntegrationTest.java index 8bf4e0d7b..90fa13402 100644 --- a/src/test/java/net/minestom/server/command/CommandSuggestionIntegrationTest.java +++ b/src/test/java/net/minestom/server/command/CommandSuggestionIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.command; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.command.builder.Command; import net.minestom.server.command.builder.suggestion.SuggestionEntry; import net.minestom.server.coordinate.Pos; diff --git a/src/test/java/net/minestom/server/entity/EntityBoundingBoxIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityBoundingBoxIntegrationTest.java index 0906a6f88..dc20cd87d 100644 --- a/src/test/java/net/minestom/server/entity/EntityBoundingBoxIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityBoundingBoxIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.collision.BoundingBox; import net.minestom.server.coordinate.Pos; import net.minestom.server.event.item.PickupItemEvent; diff --git a/src/test/java/net/minestom/server/entity/EntityInstanceIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityInstanceIntegrationTest.java index b51072a34..5a9d128ef 100644 --- a/src/test/java/net/minestom/server/entity/EntityInstanceIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityInstanceIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/EntityLineOfSightIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityLineOfSightIntegrationTest.java index 9f291fe86..a6bb80929 100644 --- a/src/test/java/net/minestom/server/entity/EntityLineOfSightIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityLineOfSightIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.instance.block.Block; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/EntityMetaIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityMetaIntegrationTest.java index e1b85ea1b..d4bc0029e 100644 --- a/src/test/java/net/minestom/server/entity/EntityMetaIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityMetaIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.entity; import net.kyori.adventure.text.Component; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.network.packet.server.play.EntityMetaDataPacket; import org.junit.jupiter.api.Assertions; diff --git a/src/test/java/net/minestom/server/entity/EntityProjectileIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityProjectileIntegrationTest.java index fc6454d77..814257ce8 100644 --- a/src/test/java/net/minestom/server/entity/EntityProjectileIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityProjectileIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/EntityRemovalIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityRemovalIntegrationTest.java index f6b333d58..42d6e2f23 100644 --- a/src/test/java/net/minestom/server/entity/EntityRemovalIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityRemovalIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.event.entity.EntityTickEvent; import net.minestom.server.network.packet.server.play.DestroyEntitiesPacket; @@ -12,7 +12,7 @@ import java.lang.ref.WeakReference; import java.time.temporal.TemporalUnit; import java.util.List; -import static net.minestom.server.api.TestUtils.waitUntilCleared; +import static net.minestom.testing.TestUtils.waitUntilCleared; import static org.junit.jupiter.api.Assertions.*; @EnvTest diff --git a/src/test/java/net/minestom/server/entity/EntityTeleportIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityTeleportIntegrationTest.java index d909e396d..22b32a5d5 100644 --- a/src/test/java/net/minestom/server/entity/EntityTeleportIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityTeleportIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.play.EntityTeleportPacket; diff --git a/src/test/java/net/minestom/server/entity/EntityVelocityIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityVelocityIntegrationTest.java index 3d7c2eb77..2ee0bd429 100644 --- a/src/test/java/net/minestom/server/entity/EntityVelocityIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityVelocityIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; import net.minestom.server.instance.Instance; diff --git a/src/test/java/net/minestom/server/entity/EntityViewDirectionIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityViewDirectionIntegrationTest.java index 16b9e0a85..00d15fb47 100644 --- a/src/test/java/net/minestom/server/entity/EntityViewDirectionIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityViewDirectionIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/EntityViewIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityViewIntegrationTest.java index eeea3f9d6..181b30325 100644 --- a/src/test/java/net/minestom/server/entity/EntityViewIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityViewIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.network.packet.server.play.SpawnEntityPacket; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/EntityViewerRuleIntegrationTest.java b/src/test/java/net/minestom/server/entity/EntityViewerRuleIntegrationTest.java index f967fbc00..40038cf6f 100644 --- a/src/test/java/net/minestom/server/entity/EntityViewerRuleIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/EntityViewerRuleIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/PassengerIntegrationTest.java b/src/test/java/net/minestom/server/entity/PassengerIntegrationTest.java index 80d56fbf9..2b9402f1c 100644 --- a/src/test/java/net/minestom/server/entity/PassengerIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/PassengerIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/entity/PlayerHeldIntegrationTest.java b/src/test/java/net/minestom/server/entity/PlayerHeldIntegrationTest.java index 21610c849..efd06b005 100644 --- a/src/test/java/net/minestom/server/entity/PlayerHeldIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/PlayerHeldIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.event.player.PlayerChangeHeldSlotEvent; import net.minestom.server.item.ItemStack; diff --git a/src/test/java/net/minestom/server/entity/ai/ClosestEntityTargetTest.java b/src/test/java/net/minestom/server/entity/ai/ClosestEntityTargetTest.java index cb75f376b..5c34c621e 100644 --- a/src/test/java/net/minestom/server/entity/ai/ClosestEntityTargetTest.java +++ b/src/test/java/net/minestom/server/entity/ai/ClosestEntityTargetTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity.ai; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.EntityCreature; import net.minestom.server.entity.EntityType; diff --git a/src/test/java/net/minestom/server/entity/player/PlayerBlockPlacementIntegrationTest.java b/src/test/java/net/minestom/server/entity/player/PlayerBlockPlacementIntegrationTest.java index f4e9c6d1f..c2bf3603d 100644 --- a/src/test/java/net/minestom/server/entity/player/PlayerBlockPlacementIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/player/PlayerBlockPlacementIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.entity.player; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.GameMode; import net.minestom.server.entity.Player; diff --git a/src/test/java/net/minestom/server/entity/player/PlayerIntegrationTest.java b/src/test/java/net/minestom/server/entity/player/PlayerIntegrationTest.java index d32f3e7e6..59ddf8a94 100644 --- a/src/test/java/net/minestom/server/entity/player/PlayerIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/player/PlayerIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.entity.player; -import net.minestom.server.api.Collector; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Collector; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.GameMode; import net.minestom.server.entity.Player; diff --git a/src/test/java/net/minestom/server/entity/player/PlayerMovementIntegrationTest.java b/src/test/java/net/minestom/server/entity/player/PlayerMovementIntegrationTest.java index 8a6f9a7d3..30e997796 100644 --- a/src/test/java/net/minestom/server/entity/player/PlayerMovementIntegrationTest.java +++ b/src/test/java/net/minestom/server/entity/player/PlayerMovementIntegrationTest.java @@ -1,10 +1,10 @@ package net.minestom.server.entity.player; import net.minestom.server.MinecraftServer; -import net.minestom.server.api.Collector; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; -import net.minestom.server.api.TestConnection; +import net.minestom.testing.Collector; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; +import net.minestom.testing.TestConnection; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; import net.minestom.server.entity.Player; @@ -22,8 +22,6 @@ import org.junit.jupiter.api.Test; import java.util.HashSet; import java.util.Set; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.Future; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/src/test/java/net/minestom/server/event/EventNodeMapTest.java b/src/test/java/net/minestom/server/event/EventNodeMapTest.java index f80f78792..e803aa3e5 100644 --- a/src/test/java/net/minestom/server/event/EventNodeMapTest.java +++ b/src/test/java/net/minestom/server/event/EventNodeMapTest.java @@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test; import java.lang.ref.WeakReference; import java.util.concurrent.atomic.AtomicBoolean; -import static net.minestom.server.api.TestUtils.waitUntilCleared; +import static net.minestom.testing.TestUtils.waitUntilCleared; import static org.junit.jupiter.api.Assertions.*; public class EventNodeMapTest { diff --git a/src/test/java/net/minestom/server/instance/AnvilLoaderIntegrationTest.java b/src/test/java/net/minestom/server/instance/AnvilLoaderIntegrationTest.java index f9a38fa96..859cc49ce 100644 --- a/src/test/java/net/minestom/server/instance/AnvilLoaderIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/AnvilLoaderIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.instance.block.Block; import net.minestom.server.utils.NamespaceID; import net.minestom.server.utils.binary.BinaryWriter; diff --git a/src/test/java/net/minestom/server/instance/ChunkViewerIntegrationTest.java b/src/test/java/net/minestom/server/instance/ChunkViewerIntegrationTest.java index 73a3c5a7b..e64819127 100644 --- a/src/test/java/net/minestom/server/instance/ChunkViewerIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/ChunkViewerIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.instance; import net.minestom.server.MinecraftServer; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.network.packet.server.play.ChunkDataPacket; import net.minestom.server.utils.chunk.ChunkUtils; diff --git a/src/test/java/net/minestom/server/instance/EntityTrackerIntegrationTest.java b/src/test/java/net/minestom/server/instance/EntityTrackerIntegrationTest.java index 0e1832094..4896e30ac 100644 --- a/src/test/java/net/minestom/server/instance/EntityTrackerIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/EntityTrackerIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.instance; import net.minestom.server.MinecraftServer; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Entity; import net.minestom.server.entity.EntityType; diff --git a/src/test/java/net/minestom/server/instance/GeneratorForkConsumerIntegrationTest.java b/src/test/java/net/minestom/server/instance/GeneratorForkConsumerIntegrationTest.java index 51ac7bade..d4a50690b 100644 --- a/src/test/java/net/minestom/server/instance/GeneratorForkConsumerIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/GeneratorForkConsumerIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Point; import net.minestom.server.instance.block.Block; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/instance/GeneratorForkIntegrationTest.java b/src/test/java/net/minestom/server/instance/GeneratorForkIntegrationTest.java index e9606dca2..ec9b91ceb 100644 --- a/src/test/java/net/minestom/server/instance/GeneratorForkIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/GeneratorForkIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Point; import net.minestom.server.instance.block.Block; import net.minestom.server.instance.generator.GenerationUnit; diff --git a/src/test/java/net/minestom/server/instance/GeneratorIntegrationTest.java b/src/test/java/net/minestom/server/instance/GeneratorIntegrationTest.java index 9d52054b1..e2ddf7d46 100644 --- a/src/test/java/net/minestom/server/instance/GeneratorIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/GeneratorIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.instance.block.Block; import org.jglrxavpok.hephaistos.nbt.NBT; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/instance/InstanceBlockIntegrationTest.java b/src/test/java/net/minestom/server/instance/InstanceBlockIntegrationTest.java index ea873f6df..5b0d774bc 100644 --- a/src/test/java/net/minestom/server/instance/InstanceBlockIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/InstanceBlockIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Vec; import net.minestom.server.instance.block.Block; import net.minestom.server.tag.Tag; diff --git a/src/test/java/net/minestom/server/instance/InstanceBlockPacketIntegrationTest.java b/src/test/java/net/minestom/server/instance/InstanceBlockPacketIntegrationTest.java index 7a482c4af..32e9b8703 100644 --- a/src/test/java/net/minestom/server/instance/InstanceBlockPacketIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/InstanceBlockPacketIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Vec; import net.minestom.server.instance.block.Block; diff --git a/src/test/java/net/minestom/server/instance/InstanceUnregisterIntegrationTest.java b/src/test/java/net/minestom/server/instance/InstanceUnregisterIntegrationTest.java index 2b0dc2a65..eb8f74964 100644 --- a/src/test/java/net/minestom/server/instance/InstanceUnregisterIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/InstanceUnregisterIntegrationTest.java @@ -1,14 +1,14 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.event.player.PlayerTickEvent; import org.junit.jupiter.api.Test; import java.lang.ref.WeakReference; -import static net.minestom.server.api.TestUtils.waitUntilCleared; +import static net.minestom.testing.TestUtils.waitUntilCleared; @EnvTest public class InstanceUnregisterIntegrationTest { diff --git a/src/test/java/net/minestom/server/instance/WorldBorderIntegrationTest.java b/src/test/java/net/minestom/server/instance/WorldBorderIntegrationTest.java index 8df2a6e75..01c4c935f 100644 --- a/src/test/java/net/minestom/server/instance/WorldBorderIntegrationTest.java +++ b/src/test/java/net/minestom/server/instance/WorldBorderIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.instance; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/src/test/java/net/minestom/server/inventory/InventoryIntegrationTest.java b/src/test/java/net/minestom/server/inventory/InventoryIntegrationTest.java index 8ab1c0cd8..d0df75b49 100644 --- a/src/test/java/net/minestom/server/inventory/InventoryIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/InventoryIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.inventory; import net.kyori.adventure.text.Component; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.event.item.ItemDropEvent; import net.minestom.server.item.ItemStack; diff --git a/src/test/java/net/minestom/server/inventory/PlayerInventoryIntegrationTest.java b/src/test/java/net/minestom/server/inventory/PlayerInventoryIntegrationTest.java index 19e6cf6df..268a34a27 100644 --- a/src/test/java/net/minestom/server/inventory/PlayerInventoryIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/PlayerInventoryIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.inventory; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.EquipmentSlot; import net.minestom.server.item.ItemStack; diff --git a/src/test/java/net/minestom/server/inventory/click/integration/HeldClickIntegrationTest.java b/src/test/java/net/minestom/server/inventory/click/integration/HeldClickIntegrationTest.java index a19069789..93069a5a9 100644 --- a/src/test/java/net/minestom/server/inventory/click/integration/HeldClickIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/click/integration/HeldClickIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.inventory.click.integration; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; import net.minestom.server.event.inventory.InventoryPreClickEvent; diff --git a/src/test/java/net/minestom/server/inventory/click/integration/LeftClickIntegrationTest.java b/src/test/java/net/minestom/server/inventory/click/integration/LeftClickIntegrationTest.java index 0207a001a..87a816746 100644 --- a/src/test/java/net/minestom/server/inventory/click/integration/LeftClickIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/click/integration/LeftClickIntegrationTest.java @@ -1,8 +1,8 @@ package net.minestom.server.inventory.click.integration; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; import net.minestom.server.event.inventory.InventoryPreClickEvent; diff --git a/src/test/java/net/minestom/server/inventory/click/integration/RightClickIntegrationTest.java b/src/test/java/net/minestom/server/inventory/click/integration/RightClickIntegrationTest.java index ceddd0b5e..c4e4b6e40 100644 --- a/src/test/java/net/minestom/server/inventory/click/integration/RightClickIntegrationTest.java +++ b/src/test/java/net/minestom/server/inventory/click/integration/RightClickIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.inventory.click.integration; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; import net.minestom.server.event.inventory.InventoryPreClickEvent; diff --git a/src/test/java/net/minestom/server/item/ItemAttributeTest.java b/src/test/java/net/minestom/server/item/ItemAttributeTest.java index 991e892b6..e9d6538d6 100644 --- a/src/test/java/net/minestom/server/item/ItemAttributeTest.java +++ b/src/test/java/net/minestom/server/item/ItemAttributeTest.java @@ -9,7 +9,7 @@ import org.junit.jupiter.api.Test; import java.util.List; import java.util.UUID; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.assertEquals; public class ItemAttributeTest { diff --git a/src/test/java/net/minestom/server/item/ItemBlockTest.java b/src/test/java/net/minestom/server/item/ItemBlockTest.java index 86d9f415d..495e3de49 100644 --- a/src/test/java/net/minestom/server/item/ItemBlockTest.java +++ b/src/test/java/net/minestom/server/item/ItemBlockTest.java @@ -3,7 +3,7 @@ package net.minestom.server.item; import net.minestom.server.instance.block.Block; import org.junit.jupiter.api.Test; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.assertTrue; public class ItemBlockTest { diff --git a/src/test/java/net/minestom/server/snapshot/ChunkSnapshotIntegrationTest.java b/src/test/java/net/minestom/server/snapshot/ChunkSnapshotIntegrationTest.java index 29e1f44fd..6f0809d0c 100644 --- a/src/test/java/net/minestom/server/snapshot/ChunkSnapshotIntegrationTest.java +++ b/src/test/java/net/minestom/server/snapshot/ChunkSnapshotIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.snapshot; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.instance.block.Block; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/snapshot/EntitySnapshotIntegrationTest.java b/src/test/java/net/minestom/server/snapshot/EntitySnapshotIntegrationTest.java index 942214c94..734b3c888 100644 --- a/src/test/java/net/minestom/server/snapshot/EntitySnapshotIntegrationTest.java +++ b/src/test/java/net/minestom/server/snapshot/EntitySnapshotIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.snapshot; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.entity.Entity; import net.minestom.server.entity.EntityType; import org.junit.jupiter.api.Test; diff --git a/src/test/java/net/minestom/server/snapshot/InstanceSnapshotIntegrationTest.java b/src/test/java/net/minestom/server/snapshot/InstanceSnapshotIntegrationTest.java index 88fbf1fc0..7863e30ea 100644 --- a/src/test/java/net/minestom/server/snapshot/InstanceSnapshotIntegrationTest.java +++ b/src/test/java/net/minestom/server/snapshot/InstanceSnapshotIntegrationTest.java @@ -1,7 +1,7 @@ package net.minestom.server.snapshot; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/src/test/java/net/minestom/server/tag/TagHandlerCopyTest.java b/src/test/java/net/minestom/server/tag/TagHandlerCopyTest.java index 898281871..11b8660c3 100644 --- a/src/test/java/net/minestom/server/tag/TagHandlerCopyTest.java +++ b/src/test/java/net/minestom/server/tag/TagHandlerCopyTest.java @@ -2,7 +2,7 @@ package net.minestom.server.tag; import org.junit.jupiter.api.Test; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; diff --git a/src/test/java/net/minestom/server/tag/TagHandlerReadableCopyTest.java b/src/test/java/net/minestom/server/tag/TagHandlerReadableCopyTest.java index 68354b49b..90d4a6466 100644 --- a/src/test/java/net/minestom/server/tag/TagHandlerReadableCopyTest.java +++ b/src/test/java/net/minestom/server/tag/TagHandlerReadableCopyTest.java @@ -2,7 +2,7 @@ package net.minestom.server.tag; import org.junit.jupiter.api.Test; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertSame; diff --git a/src/test/java/net/minestom/server/tag/TagItemTest.java b/src/test/java/net/minestom/server/tag/TagItemTest.java index ba8172613..d3ab11a63 100644 --- a/src/test/java/net/minestom/server/tag/TagItemTest.java +++ b/src/test/java/net/minestom/server/tag/TagItemTest.java @@ -6,8 +6,8 @@ import org.junit.jupiter.api.Test; import java.lang.ref.WeakReference; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; -import static net.minestom.server.api.TestUtils.waitUntilCleared; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.waitUntilCleared; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; diff --git a/src/test/java/net/minestom/server/tag/TagListTest.java b/src/test/java/net/minestom/server/tag/TagListTest.java index c7ab7c855..28ba07d2c 100644 --- a/src/test/java/net/minestom/server/tag/TagListTest.java +++ b/src/test/java/net/minestom/server/tag/TagListTest.java @@ -6,7 +6,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.*; public class TagListTest { diff --git a/src/test/java/net/minestom/server/tag/TagNbtTest.java b/src/test/java/net/minestom/server/tag/TagNbtTest.java index 406f0dd8b..81fa51a86 100644 --- a/src/test/java/net/minestom/server/tag/TagNbtTest.java +++ b/src/test/java/net/minestom/server/tag/TagNbtTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test; import java.util.List; import java.util.Map; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; diff --git a/src/test/java/net/minestom/server/tag/TagPathTest.java b/src/test/java/net/minestom/server/tag/TagPathTest.java index 774d88128..67fcdcbcc 100644 --- a/src/test/java/net/minestom/server/tag/TagPathTest.java +++ b/src/test/java/net/minestom/server/tag/TagPathTest.java @@ -4,7 +4,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.jupiter.api.Test; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.*; public class TagPathTest { diff --git a/src/test/java/net/minestom/server/tag/TagRecordTest.java b/src/test/java/net/minestom/server/tag/TagRecordTest.java index dbec35030..1dfed907b 100644 --- a/src/test/java/net/minestom/server/tag/TagRecordTest.java +++ b/src/test/java/net/minestom/server/tag/TagRecordTest.java @@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test; import java.util.List; import java.util.Map; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.*; public class TagRecordTest { diff --git a/src/test/java/net/minestom/server/tag/TagStructureTest.java b/src/test/java/net/minestom/server/tag/TagStructureTest.java index 6973916f3..d4f271c89 100644 --- a/src/test/java/net/minestom/server/tag/TagStructureTest.java +++ b/src/test/java/net/minestom/server/tag/TagStructureTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test; import java.util.UUID; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.*; public class TagStructureTest { diff --git a/src/test/java/net/minestom/server/tag/TagUpdateTest.java b/src/test/java/net/minestom/server/tag/TagUpdateTest.java index 670120279..222b875de 100644 --- a/src/test/java/net/minestom/server/tag/TagUpdateTest.java +++ b/src/test/java/net/minestom/server/tag/TagUpdateTest.java @@ -3,7 +3,7 @@ package net.minestom.server.tag; import net.minestom.server.coordinate.Vec; import org.junit.jupiter.api.Test; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.*; public class TagUpdateTest { diff --git a/src/test/java/net/minestom/server/tag/TagViewTest.java b/src/test/java/net/minestom/server/tag/TagViewTest.java index 029a330f7..718d84a6b 100644 --- a/src/test/java/net/minestom/server/tag/TagViewTest.java +++ b/src/test/java/net/minestom/server/tag/TagViewTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test; import java.util.Map; -import static net.minestom.server.api.TestUtils.assertEqualsSNBT; +import static net.minestom.testing.TestUtils.assertEqualsSNBT; import static org.junit.jupiter.api.Assertions.*; public class TagViewTest { diff --git a/src/test/java/net/minestom/server/utils/TranslationIntegrationTest.java b/src/test/java/net/minestom/server/utils/TranslationIntegrationTest.java index 9a7148089..fe070a1d1 100644 --- a/src/test/java/net/minestom/server/utils/TranslationIntegrationTest.java +++ b/src/test/java/net/minestom/server/utils/TranslationIntegrationTest.java @@ -5,8 +5,8 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.translation.GlobalTranslator; import net.kyori.adventure.translation.TranslationRegistry; import net.minestom.server.adventure.MinestomAdventure; -import net.minestom.server.api.Env; -import net.minestom.server.api.EnvTest; +import net.minestom.testing.Env; +import net.minestom.testing.EnvTest; import net.minestom.server.coordinate.Pos; import net.minestom.server.network.packet.server.play.SystemChatPacket; import org.junit.jupiter.api.BeforeAll; diff --git a/testing/build.gradle.kts b/testing/build.gradle.kts new file mode 100644 index 000000000..c10178d37 --- /dev/null +++ b/testing/build.gradle.kts @@ -0,0 +1,26 @@ +plugins { + id("java-library") +} + +group = "net.minestom.testing" +version = "1.0" + +repositories { + mavenCentral() + maven(url = "https://jitpack.io") +} + +dependencies { + // Minestom API + api(project(mapOf("path" to ":"))) + // Junit Testing Framework + api(libs.junit.api) + api(libs.junit.params) + api(libs.junit.suite.api) + runtimeOnly(libs.junit.engine) + runtimeOnly(libs.junit.suite.engine) +} + +tasks.getByName("test") { + useJUnitPlatform() +} \ No newline at end of file diff --git a/src/test/java/net/minestom/server/api/Collector.java b/testing/src/main/java/net/minestom/testing/Collector.java similarity index 97% rename from src/test/java/net/minestom/server/api/Collector.java rename to testing/src/main/java/net/minestom/testing/Collector.java index 100284d30..ab74209c3 100644 --- a/src/test/java/net/minestom/server/api/Collector.java +++ b/testing/src/main/java/net/minestom/testing/Collector.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import org.jetbrains.annotations.NotNull; diff --git a/src/test/java/net/minestom/server/api/Env.java b/testing/src/main/java/net/minestom/testing/Env.java similarity index 98% rename from src/test/java/net/minestom/server/api/Env.java rename to testing/src/main/java/net/minestom/testing/Env.java index 446d50d93..23f264767 100644 --- a/src/test/java/net/minestom/server/api/Env.java +++ b/testing/src/main/java/net/minestom/testing/Env.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import net.minestom.server.ServerProcess; import net.minestom.server.coordinate.Pos; diff --git a/src/test/java/net/minestom/server/api/EnvImpl.java b/testing/src/main/java/net/minestom/testing/EnvImpl.java similarity index 99% rename from src/test/java/net/minestom/server/api/EnvImpl.java rename to testing/src/main/java/net/minestom/testing/EnvImpl.java index 7fd316553..50c993f8f 100644 --- a/src/test/java/net/minestom/server/api/EnvImpl.java +++ b/testing/src/main/java/net/minestom/testing/EnvImpl.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import net.minestom.server.ServerProcess; import net.minestom.server.event.Event; diff --git a/testing/src/main/java/net/minestom/testing/EnvTest.java b/testing/src/main/java/net/minestom/testing/EnvTest.java new file mode 100644 index 000000000..cff8f74cf --- /dev/null +++ b/testing/src/main/java/net/minestom/testing/EnvTest.java @@ -0,0 +1,43 @@ +package net.minestom.testing; + +import net.minestom.server.MinecraftServer; +import org.junit.jupiter.api.extension.*; +import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Method; + +@ExtendWith(EnvTest.EnvParameterResolver.class) +@ExtendWith(EnvTest.EnvBefore.class) +@ExtendWith(EnvTest.EnvCleaner.class) +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface EnvTest { + + final class EnvBefore implements BeforeEachCallback { + @Override + public void beforeEach(ExtensionContext context) { + System.setProperty("minestom.viewable-packet", "false"); + } + } + + final class EnvCleaner implements InvocationInterceptor { + @Override + public void interceptTestMethod(Invocation invocation, ReflectiveInvocationContext invocationContext, ExtensionContext extensionContext) throws Throwable { + invocation.proceed(); + EnvImpl env = (EnvImpl) invocationContext.getArguments().get(0); + env.cleanup(); + } + } + + final class EnvParameterResolver extends TypeBasedParameterResolver { + @Override + public Env resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) + throws ParameterResolutionException { + return new EnvImpl(MinecraftServer.updateProcess()); + } + } +} diff --git a/src/test/java/net/minestom/server/api/FlexibleListener.java b/testing/src/main/java/net/minestom/testing/FlexibleListener.java similarity index 94% rename from src/test/java/net/minestom/server/api/FlexibleListener.java rename to testing/src/main/java/net/minestom/testing/FlexibleListener.java index 75e99b51e..7dcffdfbe 100644 --- a/src/test/java/net/minestom/server/api/FlexibleListener.java +++ b/testing/src/main/java/net/minestom/testing/FlexibleListener.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import net.minestom.server.event.Event; import org.jetbrains.annotations.NotNull; diff --git a/src/test/java/net/minestom/server/api/TestConnection.java b/testing/src/main/java/net/minestom/testing/TestConnection.java similarity index 95% rename from src/test/java/net/minestom/server/api/TestConnection.java rename to testing/src/main/java/net/minestom/testing/TestConnection.java index f79beeaf2..c25b74be0 100644 --- a/src/test/java/net/minestom/server/api/TestConnection.java +++ b/testing/src/main/java/net/minestom/testing/TestConnection.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import net.minestom.server.coordinate.Pos; import net.minestom.server.entity.Player; diff --git a/src/test/java/net/minestom/server/api/TestConnectionImpl.java b/testing/src/main/java/net/minestom/testing/TestConnectionImpl.java similarity index 99% rename from src/test/java/net/minestom/server/api/TestConnectionImpl.java rename to testing/src/main/java/net/minestom/testing/TestConnectionImpl.java index 5292c2798..fddeae745 100644 --- a/src/test/java/net/minestom/server/api/TestConnectionImpl.java +++ b/testing/src/main/java/net/minestom/testing/TestConnectionImpl.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import net.kyori.adventure.translation.GlobalTranslator; import net.minestom.server.ServerProcess; diff --git a/src/test/java/net/minestom/server/api/TestUtils.java b/testing/src/main/java/net/minestom/testing/TestUtils.java similarity index 98% rename from src/test/java/net/minestom/server/api/TestUtils.java rename to testing/src/main/java/net/minestom/testing/TestUtils.java index b614b3eb8..4547a88f3 100644 --- a/src/test/java/net/minestom/server/api/TestUtils.java +++ b/testing/src/main/java/net/minestom/testing/TestUtils.java @@ -1,4 +1,4 @@ -package net.minestom.server.api; +package net.minestom.testing; import org.jglrxavpok.hephaistos.nbt.NBTCompound; import org.jglrxavpok.hephaistos.nbt.NBTException;