♻️ Extract boilerplate for creating an FCP connection
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Wed, 8 Jan 2025 20:25:17 +0000 (21:25 +0100)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Wed, 8 Jan 2025 20:25:17 +0000 (21:25 +0100)
src/test/java/net/pterodactylus/fcp/plugin/WebOfTrustPluginTest.java

index da95d87..a615b58 100644 (file)
@@ -122,12 +122,10 @@ public class WebOfTrustPluginTest {
                }
 
                private TestFcpConnection createConnectionThatCreatesOwnIdentity() {
-                       return createFcpConnection(message -> (listener, connection) -> {
-                               Map<String, String> fields = createWebOfTrustReplyFields("IdentityCreated", true,
-                                               entries("ID", "identity", "InsertURI", "insert-uri", "RequestURI", "request-uri"));
-                               FcpMessage replyMessage = createPluginReply(message, fields);
-                               listener.receivedFCPPluginReply(connection, new FCPPluginReply(replyMessage, null));
-                       });
+                       return createConnection("IdentityCreated",
+                                       entries("ID", "identity", "InsertURI", "insert-uri", "RequestURI", "request-uri"),
+                                       entries("ID", "identity", "InsertURI", "insert-uri", "RequestURI", "request-uri")
+                       );
                }
 
                @Test
@@ -212,13 +210,7 @@ public class WebOfTrustPluginTest {
                }
 
                private TestFcpConnection createConnectionThatDeliversOwnIdentities() {
-                       return createFcpConnection(message -> (listener, connection) -> {
-                               Map<String, String> fields = createWebOfTrustReplyFields("OwnIdentities", true,
-                                               entries("Amount", "2"), identity1, identity2
-                               );
-                               FcpMessage replyMessage = createPluginReply(message, fields);
-                               listener.receivedFCPPluginReply(connection, new FCPPluginReply(replyMessage, null));
-                       });
+                       return createConnection("OwnIdentities", entries("Amount", "2"), identity1, identity2);
                }
 
                @Test
@@ -272,15 +264,11 @@ public class WebOfTrustPluginTest {
                }
 
                private TestFcpConnection createConnectionThatDeliversIdentityTrustAndScore() {
-                       return createFcpConnection(message -> (listener, connection) -> {
-                               Map<String, String> fields = createWebOfTrustReplyFields("Identity", true,
-                                               entries("Identities.Amount", "1"), identityNick0,
-                                               entries("Trusts.Amount", "1"), trustValue,
-                                               entries("Scores.Amount", "1"), scoreValue
-                               );
-                               FcpMessage replyMessage = createPluginReply(message, fields);
-                               listener.receivedFCPPluginReply(connection, new FCPPluginReply(replyMessage, null));
-                       });
+                       return createConnection("Identity",
+                                       entries("Identities.Amount", "1"), identityNick0,
+                                       entries("Trusts.Amount", "1"), trustValue,
+                                       entries("Scores.Amount", "1"), scoreValue
+                       );
                }
 
                @Test
@@ -295,15 +283,11 @@ public class WebOfTrustPluginTest {
                }
 
                private TestFcpConnection createConnectionThatDeliversIdentityWithoutTrustButAScore() {
-                       return createFcpConnection(message -> (listener, connection) -> {
-                               Map<String, String> fields = createWebOfTrustReplyFields("Identity", true,
-                                               entries("Identities.Amount", "1"), identityNick0,
-                                               entries("Trusts.0.Value", "Nonexistent"),
-                                               entries("Scores.Amount", "1"), scoreValue
-                               );
-                               FcpMessage replyMessage = createPluginReply(message, fields);
-                               listener.receivedFCPPluginReply(connection, new FCPPluginReply(replyMessage, null));
-                       });
+                       return createConnection("Identity",
+                                       entries("Identities.Amount", "1"), identityNick0,
+                                       entries("Trusts.0.Value", "Nonexistent"),
+                                       entries("Scores.Amount", "1"), scoreValue
+                       );
                }
 
                @Test
@@ -318,15 +302,11 @@ public class WebOfTrustPluginTest {
                }
 
                private TestFcpConnection createConnectionThatDeliversIdentityWithTrustButWithoutScore() {
-                       return createFcpConnection(message -> (listener, connection) -> {
-                               Map<String, String> fields = createWebOfTrustReplyFields("Identity", true,
-                                               entries("Identities.Amount", "1"), identityNick0,
-                                               entries("Trusts.Amount", "1"), trustValue,
-                                               entries("Scores.0.Value", "Nonexistent")
-                               );
-                               FcpMessage replyMessage = createPluginReply(message, fields);
-                               listener.receivedFCPPluginReply(connection, new FCPPluginReply(replyMessage, null));
-                       });
+                       return createConnection("Identity",
+                                       entries("Identities.Amount", "1"), identityNick0,
+                                       entries("Trusts.Amount", "1"), trustValue,
+                                       entries("Scores.0.Value", "Nonexistent")
+                       );
                }
 
                @Test
@@ -347,14 +327,19 @@ public class WebOfTrustPluginTest {
 
        private static class Common {
 
-               protected FcpConnection createConnectionThatSendsOtherMessage() {
+               @SafeVarargs
+               protected final TestFcpConnection createConnection(String messageName, List<Entry<String, String>>... entries) {
                        return createFcpConnection(message -> (listener, connection) -> {
-                               Map<String, String> fields = createWebOfTrustReplyFields("OtherMessage", true);
+                               Map<String, String> fields = createWebOfTrustReplyFields(messageName, true, entries);
                                FcpMessage replyMessage = createPluginReply(message, fields);
                                listener.receivedFCPPluginReply(connection, new FCPPluginReply(replyMessage, null));
                        });
                }
 
+               protected FcpConnection createConnectionThatSendsOtherMessage() {
+                       return createConnection("OtherMessage");
+               }
+
                protected WebOfTrustPlugin createWebOfTrustPlugin(FcpConnection fcpConnection) {
                        return new WebOfTrustPlugin(new FcpClient(fcpConnection));
                }