🗑️ Deprecate RemovePlugin constructor without plugin name
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Sat, 4 Jan 2025 11:37:39 +0000 (12:37 +0100)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Sat, 4 Jan 2025 11:37:39 +0000 (12:37 +0100)
src/main/java/net/pterodactylus/fcp/RemovePlugin.java
src/test/java/net/pterodactylus/fcp/RemovePluginTest.java

index 859c867..fc455ce 100644 (file)
@@ -24,11 +24,25 @@ package net.pterodactylus.fcp;
  */
 public class RemovePlugin extends FcpMessage {
 
+       /**
+        * @deprecated Use {@link #RemovePlugin(String, String)} instead
+        */
+       @Deprecated
        public RemovePlugin(String identifier) {
                super("RemovePlugin");
                setField("Identifier", identifier);
        }
 
+       public RemovePlugin(String identifier, String pluginName) {
+               super("RemovePlugin");
+               setField("Identifier", identifier);
+               setField("PluginName", pluginName);
+       }
+
+       /**
+        * @deprecated Use {@link #RemovePlugin(String, String)} instead
+        */
+       @Deprecated
        public void setPluginName(String pluginName) {
                setField("PluginName", pluginName);
        }
index ec6a358..f36f1a2 100644 (file)
@@ -10,13 +10,35 @@ import static org.hamcrest.Matchers.equalTo;
 public class RemovePluginTest {
 
        @Test
-       public void removePluginMessageHasCorrectName() {
+       public void removePluginMessageWithIdentifierHasCorrectName() {
+               RemovePlugin removePlugin = new RemovePlugin("identifier");
                assertThat(removePlugin.getName(), equalTo("RemovePlugin"));
        }
 
        @Test
+       public void removePluginMessageWithIdentifierHasIdentifierFieldSetCorrectly() {
+               RemovePlugin removePlugin = new RemovePlugin("identifier");
+               assertThat(removePlugin.getField("Identifier"), equalTo("identifier"));
+       }
+
+       @Test
+       public void removePluginMessageWithIdentifierAndPluginNameHasCorrectName() {
+               assertThat(removePlugin.getName(), equalTo("RemovePlugin"));
+       }
+
+       @Test
+       public void removePluginMessageWithIdentifierAndPluginNameHasIdentifierFieldSetCorrectly() {
+               assertThat(removePlugin.getField("Identifier"), equalTo("identifier"));
+       }
+
+       @Test
+       public void removePluginMessageWithIdentifierAndPluginNameHasPluginNameFieldSetCorrectly() {
+               assertThat(removePlugin.getField("PluginName"), equalTo("test.Plugin"));
+       }
+
+       @Test
        public void settingPluginNameResultsInPluginNameFieldBeingSet() {
-               verifyFieldValueAfterSettingProperty(removePlugin, RemovePlugin::setPluginName, "PluginName", "test.Plugin");
+               verifyFieldValueAfterSettingProperty(removePlugin, RemovePlugin::setPluginName, "PluginName", "test.other.Plugin");
        }
 
        @Test
@@ -34,6 +56,6 @@ public class RemovePluginTest {
                verifyFieldValueAfterSettingFlag(removePlugin, RemovePlugin::setPurge, "Purge", true);
        }
 
-       private final RemovePlugin removePlugin = new RemovePlugin("identifier");
+       private final RemovePlugin removePlugin = new RemovePlugin("identifier", "test.Plugin");
 
 }