✅ Add test for RemovePeer
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Fri, 3 Jan 2025 21:53:39 +0000 (22:53 +0100)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Fri, 3 Jan 2025 21:53:39 +0000 (22:53 +0100)
src/main/java/net/pterodactylus/fcp/RemovePeer.java
src/test/java/net/pterodactylus/fcp/RemovePeerTest.java [new file with mode: 0644]

index 499673b..a766cf0 100644 (file)
@@ -24,14 +24,24 @@ package net.pterodactylus.fcp;
  */
 public class RemovePeer extends FcpMessage {
 
+       /**
+        * @deprecated Use {@link #RemovePeer(String, String)} instead
+        */
        @Deprecated
        public RemovePeer(String nodeIdentifier) {
                super("RemovePeer");
                setField("NodeIdentifier", nodeIdentifier);
        }
 
+       /**
+        * Creates a “RemovePeer” message.
+        *
+        * @param identifier The identifier of the message
+        * @param nodeIdentifier The identifier of the node to remove
+        */
        public RemovePeer(String identifier, String nodeIdentifier) {
-               this(nodeIdentifier);
+               super("RemovePeer");
+               setField("NodeIdentifier", nodeIdentifier);
                setField("Identifier", identifier);
        }
 
diff --git a/src/test/java/net/pterodactylus/fcp/RemovePeerTest.java b/src/test/java/net/pterodactylus/fcp/RemovePeerTest.java
new file mode 100644 (file)
index 0000000..0c5db1b
--- /dev/null
@@ -0,0 +1,46 @@
+package net.pterodactylus.fcp;
+
+import org.junit.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.nullValue;
+
+public class RemovePeerTest {
+
+       @Test
+       public void removePeerMessageWithNodeIdentifierHasCorrectName() {
+               RemovePeer removePeer = new RemovePeer("node-identifier");
+               assertThat(removePeer.getName(), equalTo("RemovePeer"));
+       }
+
+       @Test
+       public void removePeerMessageWithIdentifierAndNodeIdentifierHasCorrectName() {
+               assertThat(removePeer.getName(), equalTo("RemovePeer"));
+       }
+
+       @Test
+       public void removePeerWithNodeIdentifierSetsNodeIdentifierFieldCorrectly() {
+               RemovePeer removePeer = new RemovePeer("node-identifier");
+               assertThat(removePeer.getField("NodeIdentifier"), equalTo("node-identifier"));
+       }
+
+       @Test
+       public void removePeerWithNodeIdentifierDoesNotSetIdentifier() {
+               RemovePeer removePeer = new RemovePeer("node-identifier");
+               assertThat(removePeer.getField("Identifier"), nullValue());
+       }
+
+       @Test
+       public void removePeerWithIdentifierAndNodeIdentifierSetsIdentifierFieldCorrectly() {
+               assertThat(removePeer.getField("Identifier"), equalTo("identifier"));
+       }
+
+       @Test
+       public void removePeerWithIdentifierAndNodeIdentifierSetsNodeIdentifierFieldCorrectly() {
+               assertThat(removePeer.getField("NodeIdentifier"), equalTo("node-identifier"));
+       }
+
+       private final RemovePeer removePeer = new RemovePeer("identifier", "node-identifier");
+
+}