commit b2a54ada71c9ee1442780d8df4c8ffa892fd285f Merge: eb70413 5caf80b Author: Damian Johnson atagar@torproject.org Date: Tue May 2 12:52:45 2017 -0700
Support descriptor creation
We've always supported descriptor creation in our tests but this turns out to be a capability others want too...
https://trac.torproject.org/projects/tor/ticket/10227
This is done via a simple create() and content() static method on Descriptor classes...
RelayDescriptor.create({'router': 'demo 127.0.0.1 80 0 0'})
Isis made her own library for this, which unlike us supports signing descriptors. Definitely a capability we should incorporate. :P
https://pypi.python.org/pypi/leekspin https://gitweb.torproject.org/user/isis/leekspin.git/
docs/_static/example/create_descriptor.py | 9 + docs/_static/example/create_descriptor_content.py | 3 + docs/change_log.rst | 1 + docs/tutorials/mirror_mirror_on_the_wall.rst | 40 + stem/descriptor/__init__.py | 115 ++- stem/descriptor/extrainfo_descriptor.py | 32 +- stem/descriptor/hidden_service_descriptor.py | 43 +- stem/descriptor/microdescriptor.py | 14 +- stem/descriptor/networkstatus.py | 161 +++- stem/descriptor/router_status_entry.py | 32 +- stem/descriptor/server_descriptor.py | 46 +- stem/descriptor/tordnsel.py | 4 +- test/__init__.py | 3 +- test/integ/control/base_controller.py | 4 +- test/integ/control/controller.py | 10 +- test/integ/socket/control_message.py | 4 +- test/mocking.py | 814 --------------------- test/unit/connection/authentication.py | 9 +- test/unit/control/controller.py | 7 +- test/unit/descriptor/__init__.py | 25 + test/unit/descriptor/export.py | 20 +- test/unit/descriptor/extrainfo_descriptor.py | 158 ++-- test/unit/descriptor/hidden_service_descriptor.py | 65 +- test/unit/descriptor/microdescriptor.py | 41 +- .../networkstatus/directory_authority.py | 43 +- test/unit/descriptor/networkstatus/document_v2.py | 12 +- test/unit/descriptor/networkstatus/document_v3.py | 171 +++-- .../descriptor/networkstatus/key_certificate.py | 47 +- test/unit/descriptor/router_status_entry.py | 118 ++- test/unit/descriptor/server_descriptor.py | 152 ++-- test/unit/doctest.py | 3 +- test/unit/interpreter/commands.py | 11 +- test/unit/response/add_onion.py | 14 +- test/unit/response/authchallenge.py | 6 +- test/unit/response/events.py | 12 +- test/unit/response/getconf.py | 14 +- test/unit/response/getinfo.py | 16 +- test/unit/response/mapaddress.py | 14 +- test/unit/response/protocolinfo.py | 25 +- test/unit/response/singleline.py | 12 +- test/unit/tutorial.py | 23 +- test/unit/tutorial_examples.py | 37 +- test/unit/util/proc.py | 5 +- test/util.py | 120 ++- 44 files changed, 1075 insertions(+), 1440 deletions(-)