[tor-commits] [stem/master] Simplify test helper and assertions

atagar at torproject.org atagar at torproject.org
Mon Oct 7 02:39:02 UTC 2019


commit 751d9e9b1c8e4eb305951e411137d89ba35a2328
Author: Damian Johnson <atagar at torproject.org>
Date:   Sun Oct 6 19:33:50 2019 -0700

    Simplify test helper and assertions
---
 test/integ/control/controller.py | 69 +++++++++++++++-------------------------
 1 file changed, 26 insertions(+), 43 deletions(-)

diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py
index c7394575..bcfc4606 100644
--- a/test/integ/control/controller.py
+++ b/test/integ/control/controller.py
@@ -1127,13 +1127,13 @@ class TestController(unittest.TestCase):
     runner = test.runner.get_runner()
 
     with runner.get_tor_controller() as controller:
-      # Try mapping one element, make sure the result is as expected.
+      # try mapping one element, ensuring results are as expected
 
       map1 = {'1.2.1.2': 'ifconfig.me'}
       x = controller.map_address(map1)
       self.assertEqual(x, map1)
 
-      # Try mapping two elements, make sure the result is as expected.
+      # try mapping two elements, ensuring results are as expected
 
       map2 = {'1.2.3.4': 'foobar.example.com',
               '1.2.3.5': 'barfuzz.example.com'}
@@ -1141,81 +1141,64 @@ class TestController(unittest.TestCase):
       x = controller.map_address(map2)
       self.assertEqual(x, map2)
 
-      # Try mapping zero elements, get an error.
+      # try mapping zero elements
 
       self.assertRaises(stem.InvalidRequest, controller.map_address, {})
 
-      # Try a virtual mapping to IPv4
+      # try a virtual mapping to IPv4, the default virtualaddressrange is 127.192.0.0/10
 
       map3 = {'0.0.0.0': 'quux'}
       x = controller.map_address(map3)
       self.assertEquals(len(x), 1)
       addr1, target = list(x.items())[0]
 
-      # The default IPv4 virtualaddressrange is 127.192.0.0/10
-
       self.assertTrue(addr1.startswith('127.'), '%s did not start with 127.' % addr1)
       self.assertEquals(target, 'quux')
 
-      # Try a virtual mapping to IPv6
+      # try a virtual mapping to IPv6, the default IPv6 virtualaddressrange is FE80::/10
 
       map4 = {'::': 'quibble'}
       x = controller.map_address(map4)
       self.assertEquals(len(x), 1)
       addr2, target = list(x.items())[0]
 
-      # The default IPv6 virtualaddressrange is FE80::/10
-
       self.assertTrue(addr2.startswith('[fe'), '%s did not start with [fe.' % addr2)
       self.assertEquals(target, 'quibble')
 
-      def parse_mapping_list(s):
-        # Helper function -- parse the response from getinfo address-mappings
-        # into a dict.
-
-        result = dict()
-
-        for line in s.split('\n'):
-          if not line.strip():
-            continue
+      def address_mappings(addr_type):
+        response = controller.get_info(['address-mappings/%s' % addr_type])
+        result = {}
 
+        for line in response['address-mappings/%s' % addr_type].splitlines():
           k, v, timeout = line.split()
           result[k] = v
 
         return result
 
-      # Ask for a list of all the address mappings we've added.
+      # ask for a list of all the address mappings we've added
 
-      x = controller.get_info(['address-mappings/control'])
-      m = parse_mapping_list(x['address-mappings/control'])
+      self.assertEquals({
+        '1.2.1.2': 'ifconfig.me',
+        '1.2.3.4': 'foobar.example.com',
+        '1.2.3.5': 'barfuzz.example.com',
+        addr1: 'quux',
+        addr2: 'quibble',
+      }, address_mappings('control'))
 
-      self.assertEquals(m['1.2.1.2'], 'ifconfig.me')
-      self.assertEquals(m['1.2.3.4'], 'foobar.example.com')
-      self.assertEquals(m['1.2.3.5'], 'barfuzz.example.com')
-      self.assertEquals(m[addr1], 'quux')
-      self.assertEquals(m[addr2], 'quibble')
+      # ask for a list of all the address mappings
 
-      # Ask for a list of all the address mappings.
-
-      x = controller.get_info(['address-mappings/all'])
-      m = parse_mapping_list(x['address-mappings/all'])
-
-      self.assertEquals(m['1.2.1.2'], 'ifconfig.me')
-      self.assertEquals(m['1.2.3.4'], 'foobar.example.com')
-      self.assertEquals(m['1.2.3.5'], 'barfuzz.example.com')
-      self.assertEquals(m[addr1], 'quux')
-      self.assertEquals(m[addr2], 'quibble')
+      self.assertEquals({
+        '1.2.1.2': 'ifconfig.me',
+        '1.2.3.4': 'foobar.example.com',
+        '1.2.3.5': 'barfuzz.example.com',
+        addr1: 'quux',
+        addr2: 'quibble',
+      }, address_mappings('all'))
 
       # Now ask for a list of only the mappings configured with the
       # configuration.  Ours should not be there.
 
-      x = controller.get_info(['address-mappings/config'])
-      m = parse_mapping_list(x['address-mappings/config'])
-
-      self.assertEquals(m.get('1.2.1.2'), None)
-      self.assertEquals(m.get('1.2.3.4'), None)
-      self.assertEquals(m.get(addr1), None)
-      self.assertEquals(m.get(addr2), None)
+      self.assertEquals({}, address_mappings('config'))
 
   @test.require.controller
   @test.require.online





More information about the tor-commits mailing list