Add method to load plugin from Freenet key
[jFCPlib.git] / src / test / java / net / pterodactylus / fcp / quelaton / DefaultFcpClientTest.java
index 75667b3..b2f48dd 100644 (file)
@@ -1993,7 +1993,7 @@ public class DefaultFcpClientTest {
        public class LoadPlugin {
 
                @Test
-               public void fromFreenet() throws ExecutionException, InterruptedException, IOException {
+               public void officialFromFreenet() throws ExecutionException, InterruptedException, IOException {
                        Future<Optional<PluginInfo>> pluginInfo =
                                fcpClient.loadPlugin().officialFromFreenet("superPlugin").execute();
                        connectNode();
@@ -2013,7 +2013,7 @@ public class DefaultFcpClientTest {
                }
 
                @Test
-               public void persistentFromFreenet() throws ExecutionException, InterruptedException,
+               public void persistentOfficialFromFreenet() throws ExecutionException, InterruptedException,
                IOException {
                        Future<Optional<PluginInfo>> pluginInfo =
                                fcpClient.loadPlugin().addToConfig().officialFromFreenet("superPlugin").execute();
@@ -2034,7 +2034,7 @@ public class DefaultFcpClientTest {
                }
 
                @Test
-               public void fromHttps() throws ExecutionException, InterruptedException, IOException {
+               public void officialFromHttps() throws ExecutionException, InterruptedException, IOException {
                        Future<Optional<PluginInfo>> pluginInfo = fcpClient.loadPlugin().officialFromHttps("superPlugin").execute();
                        connectNode();
                        List<String> lines = fcpServer.collectUntil(is("EndMessage"));
@@ -2069,6 +2069,42 @@ public class DefaultFcpClientTest {
                }
 
                @Test
+               public void fromUrl() throws ExecutionException, InterruptedException, IOException {
+                       Future<Optional<PluginInfo>> pluginInfo =
+                               fcpClient.loadPlugin().fromUrl("http://server.com/plugin.jar").execute();
+                       connectNode();
+                       List<String> lines = fcpServer.collectUntil(is("EndMessage"));
+                       String identifier = extractIdentifier(lines);
+                       assertThat(lines, matchesFcpMessage(
+                               "LoadPlugin",
+                               "Identifier=" + identifier,
+                               "PluginURL=http://server.com/plugin.jar",
+                               "URLType=url",
+                               "EndMessage"
+                       ));
+                       replyWithPluginInfo(identifier);
+                       verifyPluginInfo(pluginInfo);
+               }
+
+               @Test
+               public void fromFreenet() throws ExecutionException, InterruptedException, IOException {
+                       Future<Optional<PluginInfo>> pluginInfo =
+                               fcpClient.loadPlugin().fromFreenet("KSK@plugin.jar").execute();
+                       connectNode();
+                       List<String> lines = fcpServer.collectUntil(is("EndMessage"));
+                       String identifier = extractIdentifier(lines);
+                       assertThat(lines, matchesFcpMessage(
+                               "LoadPlugin",
+                               "Identifier=" + identifier,
+                               "PluginURL=KSK@plugin.jar",
+                               "URLType=freenet",
+                               "EndMessage"
+                       ));
+                       replyWithPluginInfo(identifier);
+                       verifyPluginInfo(pluginInfo);
+               }
+
+               @Test
                public void failedLoad() throws ExecutionException, InterruptedException, IOException {
                        Future<Optional<PluginInfo>> pluginInfo =
                                fcpClient.loadPlugin().officialFromFreenet("superPlugin").execute();