[tor-commits] [stem/master] Simplify test
atagar at torproject.org
atagar at torproject.org
Thu Dec 12 23:43:14 UTC 2019
commit 9cdf95459a898e24ed6b660828d314d3a6f36967
Author: Damian Johnson <atagar at torproject.org>
Date: Thu Dec 12 15:36:32 2019 -0800
Simplify test
Functionally the same. Simply avoiding a SETCONF for a fake address (doesn't
seem to harm anything in practice, but unnecessary), and adjusting how we split
the response.
---
test/integ/control/controller.py | 40 +++++++++++++++-------------------------
1 file changed, 15 insertions(+), 25 deletions(-)
diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py
index 47c7d072..059ad122 100644
--- a/test/integ/control/controller.py
+++ b/test/integ/control/controller.py
@@ -260,29 +260,21 @@ class TestController(unittest.TestCase):
Exercises the GETINFO option status/fresh-relay-descs
"""
- runner = test.runner.get_runner()
+ with test.runner.get_runner().get_tor_controller() as controller:
+ response = controller.get_info('status/fresh-relay-descs')
+ div = response.find('\nextra-info ')
+ nickname = controller.get_conf('Nickname')
- with runner.get_tor_controller() as controller:
- controller.set_conf("Address", "1.2.3.4")
- relay_descs = controller.get_info('status/fresh-relay-descs')
-
- # check that both the server descriptor and extra info parts exist in
- # the response by looking for the 'extra-info' entry
- relay_descs = relay_descs.split("extra-info ")
- self.assertTrue(len(relay_descs) == 2)
-
- # check integrity and compliance of descriptors by parsing with
- # validate flags on
- server_desc = stem.descriptor.server_descriptor.ServerDescriptor(relay_descs[0], validate = True)
- extra_info = stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor("extra-info " + relay_descs[1], validate = True)
-
- # check the contents of a few fields: as retrieved from controller;
- # as compared between descriptors; as set by SETCONF; and as set by
- # torrc
- self.assertTrue(extra_info.nickname == server_desc.nickname == controller.get_conf("Nickname"))
- self.assertEqual(server_desc.fingerprint, extra_info.fingerprint)
- self.assertEqual(server_desc.address, "1.2.3.4")
- self.assertEqual(1113, server_desc.or_port)
+ if div == -1:
+ self.fail('GETINFO response should have both a server and extrainfo descriptor:\n%s' % response)
+
+ server_desc = stem.descriptor.server_descriptor.ServerDescriptor(response[:div], validate = True)
+ extrainfo_desc = stem.descriptor.extrainfo_descriptor.ExtraInfoDescriptor(response[div:], validate = True)
+
+ self.assertEqual(nickname, server_desc.nickname)
+ self.assertEqual(nickname, extrainfo_desc.nickname)
+ self.assertEqual(controller.get_info('address'), server_desc.address)
+ self.assertEqual(test.runner.ORPORT, server_desc.or_port)
@test.require.controller
def test_get_version(self):
@@ -290,9 +282,7 @@ class TestController(unittest.TestCase):
Test that the convenient method get_version() works.
"""
- runner = test.runner.get_runner()
-
- with runner.get_tor_controller() as controller:
+ with test.runner.get_runner().get_tor_controller() as controller:
version = controller.get_version()
self.assertTrue(isinstance(version, stem.version.Version))
self.assertEqual(version, test.tor_version())
More information about the tor-commits
mailing list