diff options
| author | iwakeh <iwakeh@torproject.org> | 2018-02-14 21:45:25 +0000 |
|---|---|---|
| committer | iwakeh <iwakeh@torproject.org> | 2018-02-14 21:45:26 +0000 |
| commit | 18e60caf8548844ef1d9ead1e4d988f6794c2f73 (patch) | |
| tree | 14576386d39ce22e465cc7b8da0bacf48f56158c | |
| parent | df11f4de038c31f33c3f6e231854887995271201 (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.java | 4 | ||||
| -rw-r--r-- | src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java | 19 |
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 = |
