projects
/
jFCPlib.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
945cbad
)
Add method to wait for removal of a plugin
author
David ‘Bombe’ Roden
<bombe@freenetproject.org>
Fri, 21 Aug 2015 22:05:19 +0000
(
00:05
+0200)
committer
David ‘Bombe’ Roden
<bombe@freenetproject.org>
Fri, 21 Aug 2015 22:05:19 +0000
(
00:05
+0200)
src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommand.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommandImpl.java
patch
|
blob
|
history
src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java
patch
|
blob
|
history
diff --git
a/src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommand.java
b/src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommand.java
index
c221592
..
56fafa1
100644
(file)
--- a/
src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommand.java
+++ b/
src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommand.java
@@
-7,6
+7,7
@@
package net.pterodactylus.fcp.quelaton;
*/
public interface RemovePluginCommand {
*/
public interface RemovePluginCommand {
+ RemovePluginCommand waitFor(int milliseconds);
Executable<Boolean> plugin(String pluginClass);
}
Executable<Boolean> plugin(String pluginClass);
}
diff --git
a/src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommandImpl.java
b/src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommandImpl.java
index
b4a6b79
..
4bc0781
100644
(file)
--- a/
src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommandImpl.java
+++ b/
src/main/java/net/pterodactylus/fcp/quelaton/RemovePluginCommandImpl.java
@@
-31,6
+31,12
@@
public class RemovePluginCommandImpl implements RemovePluginCommand {
}
@Override
}
@Override
+ public RemovePluginCommand waitFor(int milliseconds) {
+ removePlugin.setMaxWaitTime(milliseconds);
+ return this;
+ }
+
+ @Override
public Executable<Boolean> plugin(String pluginClass) {
removePlugin.setPluginName(pluginClass);
return this::execute;
public Executable<Boolean> plugin(String pluginClass) {
removePlugin.setPluginName(pluginClass);
return this::execute;
diff --git
a/src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java
b/src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java
index
fafee42
..
3495588
100644
(file)
--- a/
src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java
+++ b/
src/test/java/net/pterodactylus/fcp/quelaton/DefaultFcpClientTest.java
@@
-2202,6
+2202,15
@@
public class DefaultFcpClientTest {
assertThat(pluginRemoved.get(), is(true));
}
assertThat(pluginRemoved.get(), is(true));
}
+ @Test
+ public void removingPluginWithMaxWaitTimeWorks()
+ throws InterruptedException, ExecutionException, IOException {
+ Future<Boolean> pluginRemoved = fcpClient.removePlugin().waitFor(1234).plugin(CLASS_NAME).execute();
+ connectAndAssert(() -> allOf(matchPluginRemovedMessage(), hasItem("MaxWaitTime=1234")));
+ replyWithPluginRemoved();
+ assertThat(pluginRemoved.get(), is(true));
+ }
+
private void replyWithPluginRemoved() throws IOException {
fcpServer.writeLine(
"PluginRemoved",
private void replyWithPluginRemoved() throws IOException {
fcpServer.writeLine(
"PluginRemoved",