[tor-commits] [stem/master] Test utilities example

atagar at torproject.org atagar at torproject.org
Fri Oct 2 23:16:05 UTC 2020


commit d0c95c2b4817cc8bc7a5847d6f139fe467070438
Author: Damian Johnson <atagar at torproject.org>
Date:   Fri Oct 2 13:32:52 2020 -0700

    Test utilities example
---
 test/unit/examples.py | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/test/unit/examples.py b/test/unit/examples.py
index 5e2bbc78..8d0f3b3e 100644
--- a/test/unit/examples.py
+++ b/test/unit/examples.py
@@ -27,7 +27,7 @@ from stem.descriptor.server_descriptor import RelayDescriptor
 from stem.directory import DIRECTORY_AUTHORITIES
 from stem.exit_policy import ExitPolicy
 from stem.response import ControlMessage
-from stem.util.connection import Connection
+from stem.util.connection import Connection, Resolver
 from unittest.mock import Mock, patch
 
 EXAMPLE_DIR = os.path.join(test.STEM_BASE, 'docs', '_static', 'example')
@@ -240,6 +240,16 @@ EXPECTED_TOR_DESCRIPTORS = """\
 3. speedyexit (102.13 KB/s)
 """
 
+EXPECTED_UTILITIES = """\
+Our platform supports connection resolution via: netstat (picked netstat)
+Tor is running with pid 12345
+
+Connections:
+
+  17.17.17.17:4369 => 34.34.34.34:8738
+  18.18.18.18:443 => 35.35.35.35:4281
+"""
+
 EXPECTED_VOTES_BY_BANDWIDTH_AUTHORITIES = """\
 Getting gabelmoo's vote from http://131.188.40.189:80/tor/status-vote/current/authority:
   5935 measured entries and 1332 unmeasured
@@ -967,8 +977,19 @@ class TestExamples(unittest.TestCase):
 
     self.assertEqual(EXPECTED_TOR_DESCRIPTORS, stdout_mock.getvalue())
 
-  def test_utilities(self):
-    pass
+  @patch('stem.util.connection.system_resolvers', Mock(return_value = [Resolver.NETSTAT]))
+  @patch('stem.util.system.pid_by_name', Mock(return_value = [12345]))
+  @patch('stem.util.connection.get_connections')
+  @patch('sys.stdout', new_callable = io.StringIO)
+  def test_utilities(self, stdout_mock, get_connections_mock):
+    get_connections_mock.return_value = [
+      Connection('17.17.17.17', 4369, '34.34.34.34', 8738, 'tcp', False),
+      Connection('18.18.18.18', 443, '35.35.35.35', 4281, 'tcp', False),
+    ]
+
+    import utilities
+
+    self.assertEqual(EXPECTED_UTILITIES, stdout_mock.getvalue())
 
   def test_validate_descriptor_content(self):
     pass





More information about the tor-commits mailing list