From ab72046fdffd2b47f38632737e8f618815eb1ddf Mon Sep 17 00:00:00 2001 From: Phillipp Glanz <6745190+TheMeinerLP@users.noreply.github.com> Date: Mon, 30 Sep 2024 12:19:32 +0200 Subject: [PATCH 1/2] Add some tests for some network packets --- .../common/ClientKeepAlivePacketTest.java | 23 ++++++++++++ .../common/ClientPingRequestPacketTest.java | 22 ++++++++++++ .../common/ClientPluginMessagePacketTest.java | 32 +++++++++++++++++ .../client/common/ClientPongPacketTest.java | 19 ++++++++++ .../common/ClientSettingsPacketTest.java | 36 +++++++++++++++++++ .../ClientSelectKnownPacksPacketTest.java | 24 +++++++++++++ 6 files changed, 156 insertions(+) create mode 100644 src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java create mode 100644 src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java create mode 100644 src/test/java/net/minestom/server/network/packet/client/common/ClientPluginMessagePacketTest.java create mode 100644 src/test/java/net/minestom/server/network/packet/client/common/ClientPongPacketTest.java create mode 100644 src/test/java/net/minestom/server/network/packet/client/common/ClientSettingsPacketTest.java create mode 100644 src/test/java/net/minestom/server/network/packet/client/configuration/ClientSelectKnownPacksPacketTest.java diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java new file mode 100644 index 00000000000..0a561bf37f9 --- /dev/null +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java @@ -0,0 +1,23 @@ +package net.minestom.server.network.packet.client.common; + +import net.minestom.server.network.NetworkBuffer; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class ClientKeepAlivePacketTest { + + @Test + void testClientKeepAlivePacket() { + NetworkBuffer networkBuffer = new NetworkBuffer(); + ClientKeepAlivePacket clientKeepAlivePacket = new ClientKeepAlivePacket(0L); + + clientKeepAlivePacket.write(networkBuffer); + + var packet = new ClientKeepAlivePacket(networkBuffer); + + assertEquals(packet.id(), 0L); + } + + +} diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java new file mode 100644 index 00000000000..0241e278df1 --- /dev/null +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java @@ -0,0 +1,22 @@ +package net.minestom.server.network.packet.client.common; + +import net.minestom.server.network.NetworkBuffer; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ClientPingRequestPacketTest { + + @Test + void testClientPingRequestPacket() { + NetworkBuffer networkBuffer = new NetworkBuffer(); + ClientPingRequestPacket requestPacket = new ClientPingRequestPacket(0L); + + requestPacket.write(networkBuffer); + + var packet = new ClientPingRequestPacket(networkBuffer); + + assertEquals(packet.number(), 0L); + } + +} diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientPluginMessagePacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientPluginMessagePacketTest.java new file mode 100644 index 00000000000..0ef5c518101 --- /dev/null +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientPluginMessagePacketTest.java @@ -0,0 +1,32 @@ +package net.minestom.server.network.packet.client.common; + +import net.minestom.server.network.NetworkBuffer; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class ClientPluginMessagePacketTest { + + // TODO: Fix bug with empty byte array + @Disabled + @Test + void testClientPluginMessagePacket() { + NetworkBuffer networkBuffer = new NetworkBuffer(); + ClientPluginMessagePacket clientPluginMessagePacket = new ClientPluginMessagePacket("channel", new byte[0]); + + clientPluginMessagePacket.write(networkBuffer); + + var packet = new ClientPluginMessagePacket(networkBuffer); + + assertEquals("channel", packet.channel()); + assertArrayEquals(new byte[0], packet.data()); + } + + @Test + void testClientPluginMessagePacketException() { + StringBuilder channel = new StringBuilder(); + channel.append("a".repeat(257)); + assertThrows(IllegalArgumentException.class, () -> new ClientPluginMessagePacket(channel.toString(), new byte[0])); + } +} diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientPongPacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientPongPacketTest.java new file mode 100644 index 00000000000..9c49d354e6e --- /dev/null +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientPongPacketTest.java @@ -0,0 +1,19 @@ +package net.minestom.server.network.packet.client.common; + +import net.minestom.server.network.NetworkBuffer; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ClientPongPacketTest { + + @Test + void testClientPongPacket() { + ClientPongPacket clientPongPacket = new ClientPongPacket(0); + NetworkBuffer networkBuffer = new NetworkBuffer(); + clientPongPacket.write(networkBuffer); + var packet = new ClientPongPacket(networkBuffer); + assertEquals(0, packet.id()); + } + +} diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientSettingsPacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientSettingsPacketTest.java new file mode 100644 index 00000000000..97b8e5325e1 --- /dev/null +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientSettingsPacketTest.java @@ -0,0 +1,36 @@ +package net.minestom.server.network.packet.client.common; + +import net.minestom.server.entity.Player; +import net.minestom.server.message.ChatMessageType; +import net.minestom.server.network.NetworkBuffer; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class ClientSettingsPacketTest { + + @Test + void testClientSettingsPacket() { + ClientSettingsPacket clientSettingsPacket = new ClientSettingsPacket( + "locale", + (byte)0, + ChatMessageType.FULL, + true, + (byte) 0, + Player.MainHand.RIGHT, + true, + true); + NetworkBuffer networkBuffer = new NetworkBuffer(); + clientSettingsPacket.write(networkBuffer); + var packet = new ClientSettingsPacket(networkBuffer); + assertEquals("locale", packet.locale()); + assertEquals(0, packet.viewDistance()); + assertEquals(ChatMessageType.FULL, packet.chatMessageType()); + assertTrue(packet.chatColors()); + assertEquals(0, packet.displayedSkinParts()); + assertEquals(Player.MainHand.RIGHT, packet.mainHand()); + assertTrue(packet.enableTextFiltering()); + assertTrue(packet.allowsListing()); + } +} diff --git a/src/test/java/net/minestom/server/network/packet/client/configuration/ClientSelectKnownPacksPacketTest.java b/src/test/java/net/minestom/server/network/packet/client/configuration/ClientSelectKnownPacksPacketTest.java new file mode 100644 index 00000000000..6c51975d616 --- /dev/null +++ b/src/test/java/net/minestom/server/network/packet/client/configuration/ClientSelectKnownPacksPacketTest.java @@ -0,0 +1,24 @@ +package net.minestom.server.network.packet.client.configuration; + +import net.minestom.server.network.NetworkBuffer; +import net.minestom.server.network.packet.server.configuration.SelectKnownPacksPacket; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +class ClientSelectKnownPacksPacketTest { + + void testClientSelectKnownPacksPacket() { + ClientSelectKnownPacksPacket clientSelectKnownPacksPacket = new ClientSelectKnownPacksPacket( + List.of( + new SelectKnownPacksPacket.Entry("a", "a", "a") + ) + ); + NetworkBuffer networkBuffer = new NetworkBuffer(); + clientSelectKnownPacksPacket.write(networkBuffer); + var packet = new ClientSelectKnownPacksPacket(networkBuffer); + + assertArrayEquals(clientSelectKnownPacksPacket.entries().toArray(), packet.entries().toArray()); + } +} From 77ea8f9004cc52a3a1ac516fac4c6617c52484fa Mon Sep 17 00:00:00 2001 From: theEvilReaper Date: Fri, 18 Oct 2024 18:54:49 +0200 Subject: [PATCH 2/2] Improve equals usage in a test --- .../packet/client/common/ClientKeepAlivePacketTest.java | 4 +--- .../packet/client/common/ClientPingRequestPacketTest.java | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java index 0a561bf37f9..297d9441cfe 100644 --- a/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientKeepAlivePacketTest.java @@ -16,8 +16,6 @@ void testClientKeepAlivePacket() { var packet = new ClientKeepAlivePacket(networkBuffer); - assertEquals(packet.id(), 0L); + assertEquals(0L, packet.id()); } - - } diff --git a/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java b/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java index 0241e278df1..1e429ed0e3f 100644 --- a/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java +++ b/src/test/java/net/minestom/server/network/packet/client/common/ClientPingRequestPacketTest.java @@ -16,7 +16,6 @@ void testClientPingRequestPacket() { var packet = new ClientPingRequestPacket(networkBuffer); - assertEquals(packet.number(), 0L); + assertEquals(0L, packet.number()); } - }