summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriwakeh <iwakeh@torproject.org>2018-02-14 21:45:25 +0000
committeriwakeh <iwakeh@torproject.org>2018-02-14 21:45:26 +0000
commit18e60caf8548844ef1d9ead1e4d988f6794c2f73 (patch)
tree14576386d39ce22e465cc7b8da0bacf48f56158c
parentdf11f4de038c31f33c3f6e231854887995271201 (diff)
fixup! Shorten code.task-25241
Always add own fingerprint to effective family. Some relays include their own fingerprint in the family line of their server descriptor and others don't. To provide consistent data Onionoo now adds a relay's own fingerprint to its effective family. Implements task-25241.
-rw-r--r--src/main/java/org/torproject/onionoo/docs/NodeStatus.java4
-rw-r--r--src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java19
2 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java b/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
index dfa0026..cf8fc90 100644
--- a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
+++ b/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
@@ -58,7 +58,7 @@ public class NodeStatus extends Document {
@SuppressWarnings("checkstyle:javadocmethod")
public void setDeclaredFamily(SortedSet<String> declaredFamily) {
SortedSet<String> declaredFamilyWithoutSelf = new TreeSet<>(declaredFamily);
- declaredFamilyWithoutSelf.remove(this.fingerprint);
+ declaredFamilyWithoutSelf.add(this.fingerprint);
this.declaredFamily = collectionToStringArray(declaredFamilyWithoutSelf);
}
@@ -66,7 +66,7 @@ public class NodeStatus extends Document {
public SortedSet<String> getDeclaredFamily() {
SortedSet<String> declaredFamilyWithoutSelf =
stringArrayToSortedSet(this.declaredFamily);
- declaredFamilyWithoutSelf.remove(this.fingerprint);
+ declaredFamilyWithoutSelf.add(this.fingerprint);
return declaredFamilyWithoutSelf;
}
diff --git a/src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java b/src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java
index e2c5dac..2b90ece 100644
--- a/src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java
+++ b/src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java
@@ -53,36 +53,37 @@ public class NodeStatusTest {
private static final String D = "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD";
private static final String E = "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE";
private static final String F = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF";
+ private static final String G = "F2044413DAC2E02E3D6BCF4735A19BCA1DE97281";
private static final String NICK = "nickname";
@Test
public void testFamiliesEmpty() {
assertFamiliesCanBeDeSerialized(
- new String[] {}, new String[] {}, new String[] {});
+ new String[] { G }, new String[] {}, new String[] {});
}
@Test
public void testFamiliesOneNotMutual() {
assertFamiliesCanBeDeSerialized(
- new String[] { A }, new String[] {}, new String[] {});
+ new String[] { A, G }, new String[] {}, new String[] {});
}
@Test
public void testFamiliesTwoNotMutual() {
assertFamiliesCanBeDeSerialized(
- new String[] { A, B }, new String[] {}, new String[] {});
+ new String[] { A, B, G }, new String[] {}, new String[] {});
}
@Test
public void testFamiliesOneNotMutualOneMutual() {
assertFamiliesCanBeDeSerialized(
- new String[] { A, B }, new String[] { B }, new String[] { B });
+ new String[] { A, B, G }, new String[] { B }, new String[] { B });
}
@Test
public void testFamiliesOneMutualOneIndirect() {
assertFamiliesCanBeDeSerialized(
- new String[] { A }, new String[] { A }, new String[] { A, B });
+ new String[] { A, G }, new String[] { A }, new String[] { A, B });
}
@Test
@@ -92,26 +93,26 @@ public class NodeStatusTest {
* with this relay. It's a valid case, because B can be in a mutual
* family relationship with A. */
assertFamiliesCanBeDeSerialized(
- new String[] { A, B }, new String[] { A }, new String[] { A, B});
+ new String[] { A, B, G }, new String[] { A }, new String[] { A, B});
}
@Test
public void testFamiliesOneNotMutualOneMutualOneIndirect() {
assertFamiliesCanBeDeSerialized(
- new String[] { A, B }, new String[] { B }, new String[] { B, C});
+ new String[] { A, B, G }, new String[] { B }, new String[] { B, C});
}
@Test
public void testFamiliesTwoNotMutualTwoMutualTwoIndirect() {
assertFamiliesCanBeDeSerialized(
- new String[] { A, B, C, D }, new String[] { C, D },
+ new String[] { A, B, C, D, G }, new String[] { C, D },
new String[] { C, D, E, F });
}
@Test
public void testFamiliesNickname() {
assertFamiliesCanBeDeSerialized(
- new String[] { NICK }, new String[] {}, new String[] {});
+ new String[] { NICK, G }, new String[] {}, new String[] {});
}
private static final String KI_LAST_SEEN_1970_NODE_STATUS =