diff options
| author | Damian Johnson <atagar@torproject.org> | 2019-12-12 15:38:24 -0800 |
|---|---|---|
| committer | Damian Johnson <atagar@torproject.org> | 2019-12-12 15:38:24 -0800 |
| commit | 670100cbcd8773ac692c7c3fdc0726989b337df8 (patch) | |
| tree | 3729fc232c181598399b3e861e317d09d5f810a7 | |
| parent | cb61dfe74a0a4b87b115ed834624cf2c9c5d282c (diff) | |
| parent | 9cdf95459a898e24ed6b660828d314d3a6f36967 (diff) | |
Test 'GETINFO status/fresh-relay-descs'
Long requested test implemented by hannelores.
https://trac.torproject.org/projects/tor/ticket/15701
| -rw-r--r-- | test/integ/control/controller.py | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py index 6e45d0fa..059ad122 100644 --- a/test/integ/control/controller.py +++ b/test/integ/control/controller.py @@ -255,14 +255,34 @@ class TestController(unittest.TestCase): self.assertEqual({}, controller.get_info([], {})) @test.require.controller + def test_getinfo_freshrelaydescs(self): + """ + Exercises the GETINFO option status/fresh-relay-descs + """ + + 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') + + 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): """ 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()) |
