[tor-commits] [stem/master] Unit test AUTHDIR_NEWDESC events

atagar at torproject.org atagar at torproject.org
Thu May 25 18:02:53 UTC 2017


commit 56f2cf19d5782c2e3181b40500e113ce3981b329
Author: Damian Johnson <atagar at torproject.org>
Date:   Thu May 25 11:01:40 2017 -0700

    Unit test AUTHDIR_NEWDESC events
    
    Thanks to teor we examples of AUTHDIR_NEWDESC events, so can unit test our
    parsing of them. Possibly just in time for them to be removed. :P
    
      https://trac.torproject.org/projects/tor/ticket/22377
    
    That's fine. Until the event's gone from all non-deprecated tor versions we'll
    continue to support them so still good to have coverage here.
---
 test/unit/response/events.py | 75 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 71 insertions(+), 4 deletions(-)

diff --git a/test/unit/response/events.py b/test/unit/response/events.py
index 9031463..fd2c7a9 100644
--- a/test/unit/response/events.py
+++ b/test/unit/response/events.py
@@ -47,6 +47,67 @@ CACHED="NO"'
 ADDRMAP_CACHED_MALFORMED = '650 ADDRMAP example.com 192.0.43.10 "2013-04-03 22:29:11" \
 CACHED="KINDA"'
 
+AUTHDIR_NEWDESC = """\
+650+AUTHDIR_NEWDESCS
+DROPPED
+Not replacing router descriptor; no information has changed since the last one with this identity.
+ at uploaded-at 2017-05-25 04:46:21
+ at source "127.0.0.1"
+router test002r 127.0.0.1 5002 0 7002
+identity-ed25519
+-----BEGIN ED25519 CERT-----
+AQQABlm9AXVOPVG4KHqFmShWRFPU2oXO15yaS+J8c6SrLBMpnB1vAQAgBABBic8D
++GIdBzNCezf1Lfw8NSpbDL7S4ExBuMXvi6WvEoN1gIGwEwddLvUF91l6BXL5yoXf
+xg7fDhYZ7CDwtVBHSfvmsIKR/QnQyylbDpVllsV9Wz6JLz52JgFGQaNjAgA=
+-----END ED25519 CERT-----
+master-key-ed25519 QYnPA/hiHQczQns39S38PDUqWwy+0uBMQbjF74ulrxI
+platform Tor 0.3.0.7 on Darwin
+proto Cons=1-2 Desc=1-2 DirCache=1 HSDir=1-2 HSIntro=3-4 HSRend=1-2 Link=1-4 LinkAuth=1,3 Microdesc=1-2 Relay=1-2
+published 2017-05-25 04:46:20
+fingerprint 3482 25F8 3C85 4796 B2DD 6364 E65C B189 B33B D696
+uptime 9
+bandwidth 1073741824 1073741824 0
+extra-info-digest 114E4F433D6E08D9E73621BB418EBF02336EB578 i6+wKCBaNqUbNZIM9DFacEM74R5m0lkh8//h6R/nbGc
+onion-key
+-----BEGIN RSA PUBLIC KEY-----
+MIGJAoGBAMMpf3fLSUEme0aQfN2RUfAPhZJMXVSqMpFRdBoKA4AYlz78VA9zxfj3
+Nyir2G2HFaTzeS82p74obc8RufJQcGoDUwDnPlHtjb2ezmr018j8i3fTEvPwj5xC
+5001FRwUVcOaLnxZKSDzpTyKRWGnSQBSbGcyXwMRtySKf0P5yjHDAgMBAAE=
+-----END RSA PUBLIC KEY-----
+signing-key
+-----BEGIN RSA PUBLIC KEY-----
+MIGJAoGBAM7Rn1kQffaJE8rbtgTiMxNY67i27hCBzzr0gE558jARizOJo8lf7get
+rxz92mzYPYskM1V/j16QhoRlrruMn319/l6o97+/ta6qIwlSPXZ1jd/BGs3yqS4X
+2N+N9qW8zC6km88K/YZuIsqYyXL7oHoIGqbERYLmp/JqLlAR52JJAgMBAAE=
+-----END RSA PUBLIC KEY-----
+onion-key-crosscert
+-----BEGIN CROSSCERT-----
+t4BE0PcPra9o5HBJHr9+h1MgP76XY3UGLQX8FGfEPHfNBMtVxRKkhOZ7Ki01+dkK
+IpfkdQn3bOXTIa+FYGvzpyADYx4RDpbHG9/Tna/xR+6LhAQfvcLrlBxsjyntXjkX
+FwE+AemijIU4DM4F1FHIkFz6OgT9B1/G0mr5QggzXS8=
+-----END CROSSCERT-----
+ntor-onion-key-crosscert 0
+-----BEGIN ED25519 CERT-----
+AQoABleVAUGJzwP4Yh0HM0J7N/Ut/Dw1KlsMvtLgTEG4xe+Lpa8SAKgaOVGouOKa
+N64AOq7FdJJM/qgI1r2+jqTj1Mk/a19kfTIQ8hhWxoaJhg1xo8BasnjNQ+4Cm7ds
+vMW0fhwJjQ4=
+-----END ED25519 CERT-----
+hidden-service-dir
+ntor-onion-key tic6dEvMWt3kaUtDhwULgb3qBnc2wd5GkJ5cv0TelhA=
+accept *:*
+ipv6-policy accept 1-65535
+tunnelled-dir-server
+router-sig-ed25519 t7XJfoMOKbk1167f4p5+z5nlXxr+8us3qaLdNeQ1nGpUyQtM4G8Ie9P/oeqwhV4lCx5pQN1vIy3lUaN811WqAA
+router-signature
+-----BEGIN SIGNATURE-----
+j/mMC1JuChvJH/ZP/Ayy0ZAV2P6VoxpRhHJfZMC07rr2ctmxfDTwLQhbYrqJ2adW
+FYy5QTzxYzSFoTA7FvsadJuyvsGlaRfgFs+AxYjBUUoK7Dcd2ri+Y11NmwCBLFqF
+4cYG3pqPHb38gXLj89QXfMJUDbOwrxvkVxIFbdwDCsE=
+-----END SIGNATURE-----
+.
+650 OK
+"""
+
 # BUILDTIMEOUT_SET event from tor 0.2.3.16.
 
 BUILD_TIMEOUT_EVENT = '650 BUILDTIMEOUT_SET COMPUTED \
@@ -570,13 +631,19 @@ class TestEvents(unittest.TestCase):
     self.assertRaises(ProtocolError, _get_event, ADDRMAP_CACHED_MALFORMED)
 
   def test_authdir_newdesc_event(self):
-    # TODO: awaiting test data - https://trac.torproject.org/7534
+    minimal_event = _get_event('650+AUTHDIR_NEWDESCS\nAction\nMessage\nDescriptor\n.\n650 OK\n')
 
-    event = _get_event('650+AUTHDIR_NEWDESCS\nAction\nMessage\nDescriptor\n.\n650 OK\n')
+    self.assertTrue(isinstance(minimal_event, stem.response.events.AuthDirNewDescEvent))
+    self.assertEqual('Action', minimal_event.action)
+    self.assertEqual('Message', minimal_event.message)
+    self.assertEqual('Descriptor', minimal_event.descriptor)
+
+    event = _get_event(AUTHDIR_NEWDESC)
 
     self.assertTrue(isinstance(event, stem.response.events.AuthDirNewDescEvent))
-    self.assertEqual([], event.positional_args)
-    self.assertEqual({}, event.keyword_args)
+    self.assertEqual('DROPPED', event.action)
+    self.assertEqual('Not replacing router descriptor; no information has changed since the last one with this identity.', event.message)
+    self.assertTrue('Descripto', event.descriptor.startswith('@uploaded-at 2017-05-25 04:46:21'))
 
   def test_build_timeout_set_event(self):
     event = _get_event(BUILD_TIMEOUT_EVENT)



More information about the tor-commits mailing list