* The identifier of the request
*/
public ListPeers(String identifier) {
- this(identifier, false, false);
+ super("ListPeers");
+ setField("Identifier", identifier);
}
/**
* @param withVolatile
* if <code>true</code> volatile data of the peers is included
* in the reply
+ * @deprecated Use {@link #ListPeers(String)},
+ * {@link #setWithMetadata(boolean)},
+ * and {@link #setWithVolatile(boolean)} instead.
*/
+ @Deprecated
public ListPeers(String identifier, boolean withMetadata, boolean withVolatile) {
- super("ListPeers");
- setField("Identifier", identifier);
+ this(identifier);
+ setField("WithMetadata", String.valueOf(withMetadata));
+ setField("WithVolatile", String.valueOf(withVolatile));
+ }
+
+ public void setWithMetadata(boolean withMetadata) {
setField("WithMetadata", String.valueOf(withMetadata));
+ }
+
+ public void setWithVolatile(boolean withVolatile) {
setField("WithVolatile", String.valueOf(withVolatile));
}
@Override
@SuppressWarnings("synthetic-access")
public void run() throws IOException {
- sendMessage(new ListPeers(identifier, withMetadata, withVolatile));
+ ListPeers listPeers = new ListPeers(identifier);
+ listPeers.setWithMetadata(withMetadata);
+ listPeers.setWithVolatile(withVolatile);
+ sendMessage(listPeers);
}
/**
import org.junit.Test;
+import static net.pterodactylus.fcp.test.MessageTests.verifyFieldValueAfterSettingFlag;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.nullValue;
public class ListPeersTest {
@Test
public void listPeersWithIdentifierSetsIdentifierField() {
- ListPeers listPeers = new ListPeers("identifier");
assertThat(listPeers.getField("Identifier"), equalTo("identifier"));
}
@Test
+ public void listPeersWithIdentifierDoesNotSetWithMetadataField() {
+ assertThat(listPeers.getField("WithMetadata"), nullValue());
+ }
+
+ @Test
+ public void settingWithMetadataToFalseOnListPeersResultsInWithMetadataFieldBeingSetToFalse() {
+ verifyFieldValueAfterSettingFlag(listPeers, ListPeers::setWithMetadata, "WithMetadata", false);
+ }
+
+ @Test
+ public void settingWithMetadataToTrueOnListPeersResultsInWithMetadataFieldBeingSetToTrue() {
+ verifyFieldValueAfterSettingFlag(listPeers, ListPeers::setWithMetadata, "WithMetadata", true);
+ }
+
+ @Test
+ public void listPeersWithIdentifierDoesNotSetWithVolatileField() {
+ assertThat(listPeers.getField("WithVolatile"), nullValue());
+ }
+
+ @Test
+ public void settingWithVolatileToFalseOnListPeersResultsInWithVolatileFieldBeingSetToFalse() {
+ verifyFieldValueAfterSettingFlag(listPeers, ListPeers::setWithVolatile, "WithVolatile", false);
+ }
+
+ @Test
+ public void settingWithVolatileToTrueOnListPeersResultsInWithVolatileFieldBeingSetToTrue() {
+ verifyFieldValueAfterSettingFlag(listPeers, ListPeers::setWithVolatile, "WithVolatile", true);
+ }
+
+ @Test
public void listPeersWithIdentifierAndFlagsSetsIdentifierAndFlagFields() {
ListPeers listPeers = new ListPeers("identifier", false, true);
assertThat(listPeers.getField("Identifier"), equalTo("identifier"));
assertThat(listPeers.getField("WithVolatile"), equalTo("true"));
}
+ private final ListPeers listPeers = new ListPeers("identifier");
+
}