From 5557244418f69fc7571ad3fbbe1f69b5baed932c Mon Sep 17 00:00:00 2001 From: voidsip Date: Tue, 3 Nov 2026 05:44:49 -0600 Subject: [PATCH 1/3] Honor the configured Discord private-message format --- EssentialsDiscord/build.gradle | 1 + .../essentialsx/discord/DiscordSettings.java | 2 +- .../discord/DiscordSettingsTest.java | 56 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java diff --git a/EssentialsDiscord/build.gradle b/EssentialsDiscord/build.gradle index b35c633c7a..b2ef69d13c 100644 --- a/EssentialsDiscord/build.gradle +++ b/EssentialsDiscord/build.gradle @@ -4,6 +4,7 @@ plugins { dependencies { compileOnly project(':EssentialsX') + testImplementation project(':EssentialsX') implementation('net.dv8tion:JDA:6.0.0') { exclude(module: 'opus-java') } diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index f2526a08cd..19e369f410 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -600,7 +600,7 @@ public void reloadConfig() { "username", "displayname", "controllername", "controllerdisplayname", "reason"); kickFormat = generateMessageFormat(getFormatString("kick"), "{displayname} was kicked with reason: {reason}", false, "username", "displayname", "reason"); - pmToDiscordFormat = generateMessageFormat(getFormatString("private-chat"), "[SocialSpy] {sender-username} -> {receiver-username}: {message}", false, + pmToDiscordFormat = generateMessageFormat(getFormatString("pms-to-discord"), "[SocialSpy] {sender-username} -> {receiver-username}: {message}", false, "sender-username", "sender-displayname", "receiver-username", "receiver-displayname", "message"); plugin.onReload(); diff --git a/EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java b/EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java new file mode 100644 index 0000000000..658a682be8 --- /dev/null +++ b/EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java @@ -0,0 +1,56 @@ +package net.essentialsx.discord; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class DiscordSettingsTest { + @TempDir + Path dataFolder; + + @Test + public void testConfiguredPrivateMessageFormat() throws IOException { + writeConfig("messages:\n pms-to-discord: \"[Privado] {sender-displayname} -> {receiver-displayname}: {message}\"\n"); + final DiscordSettings settings = new DiscordSettings(plugin()); + assertEquals("[Privado] Sender -> Receiver: Hello", settings.getPmToDiscordFormat().format( + new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); + } + + @Test + public void testDefaultPrivateMessageFormat() throws IOException { + writeConfig("messages: {}\n"); + final DiscordSettings settings = new DiscordSettings(plugin()); + assertEquals("[SocialSpy] sender -> receiver: Hello", settings.getPmToDiscordFormat().format( + new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); + } + + @Test + public void testReloadPrivateMessageFormat() throws IOException { + writeConfig("messages:\n pms-to-discord: \"First: {message}\"\n"); + final DiscordSettings settings = new DiscordSettings(plugin()); + assertEquals("First: Hello", settings.getPmToDiscordFormat().format( + new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); + writeConfig("messages:\n pms-to-discord: \"It's {sender-username}: {message}\"\n"); + settings.reloadConfig(); + assertEquals("It's sender: Hello", settings.getPmToDiscordFormat().format( + new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); + } + + private EssentialsDiscord plugin() { + final EssentialsDiscord plugin = mock(EssentialsDiscord.class); + when(plugin.getDataFolder()).thenReturn(dataFolder.toFile()); + return plugin; + } + + private void writeConfig(final String contents) throws IOException { + Files.write(dataFolder.resolve("config.yml"), contents.getBytes(StandardCharsets.UTF_8)); + } +} From a8e87cc6edf18618915c2db706a317d15dac7253 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Tue, 3 Nov 2026 08:16:46 -0800 Subject: [PATCH 2/3] Discard changes to EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java --- .../discord/DiscordSettingsTest.java | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java diff --git a/EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java b/EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java deleted file mode 100644 index 658a682be8..0000000000 --- a/EssentialsDiscord/src/test/java/net/essentialsx/discord/DiscordSettingsTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package net.essentialsx.discord; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class DiscordSettingsTest { - @TempDir - Path dataFolder; - - @Test - public void testConfiguredPrivateMessageFormat() throws IOException { - writeConfig("messages:\n pms-to-discord: \"[Privado] {sender-displayname} -> {receiver-displayname}: {message}\"\n"); - final DiscordSettings settings = new DiscordSettings(plugin()); - assertEquals("[Privado] Sender -> Receiver: Hello", settings.getPmToDiscordFormat().format( - new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); - } - - @Test - public void testDefaultPrivateMessageFormat() throws IOException { - writeConfig("messages: {}\n"); - final DiscordSettings settings = new DiscordSettings(plugin()); - assertEquals("[SocialSpy] sender -> receiver: Hello", settings.getPmToDiscordFormat().format( - new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); - } - - @Test - public void testReloadPrivateMessageFormat() throws IOException { - writeConfig("messages:\n pms-to-discord: \"First: {message}\"\n"); - final DiscordSettings settings = new DiscordSettings(plugin()); - assertEquals("First: Hello", settings.getPmToDiscordFormat().format( - new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); - writeConfig("messages:\n pms-to-discord: \"It's {sender-username}: {message}\"\n"); - settings.reloadConfig(); - assertEquals("It's sender: Hello", settings.getPmToDiscordFormat().format( - new Object[]{"sender", "Sender", "receiver", "Receiver", "Hello"})); - } - - private EssentialsDiscord plugin() { - final EssentialsDiscord plugin = mock(EssentialsDiscord.class); - when(plugin.getDataFolder()).thenReturn(dataFolder.toFile()); - return plugin; - } - - private void writeConfig(final String contents) throws IOException { - Files.write(dataFolder.resolve("config.yml"), contents.getBytes(StandardCharsets.UTF_8)); - } -} From de80c5dd125ae9ce37c2e9544fd4e3ff5a6aa2ea Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Tue, 3 Nov 2026 08:16:53 -0800 Subject: [PATCH 3/3] Discard changes to EssentialsDiscord/build.gradle --- EssentialsDiscord/build.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/EssentialsDiscord/build.gradle b/EssentialsDiscord/build.gradle index b2ef69d13c..b35c633c7a 100644 --- a/EssentialsDiscord/build.gradle +++ b/EssentialsDiscord/build.gradle @@ -4,7 +4,6 @@ plugins { dependencies { compileOnly project(':EssentialsX') - testImplementation project(':EssentialsX') implementation('net.dv8tion:JDA:6.0.0') { exclude(module: 'opus-java') }