summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamian Johnson <atagar@torproject.org>2015-03-22 14:57:37 -0700
committerDamian Johnson <atagar@torproject.org>2015-03-22 15:16:47 -0700
commitd4eb01184237c63a6bef897e84dae9f6205301a9 (patch)
treed00b523615cb0d718d4fffaa77bc4d56a60d1c12
parentfd4e8f536c6efddabbece151bd26f2835e0d2f53 (diff)
Set NodeFamily to a random fingerprint
Each 'SETCONF NodeFamily' needed a unique fingerprint. What we had was well and good, but it would be handy if new tests didn't need to take into consideration which fingerprints had/hadn't been used yet. Timestamps python provides are precise enough that we can just hash it to get something unique.
-rw-r--r--test/integ/control/controller.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py
index 1bfdad7c..ca18292d 100644
--- a/test/integ/control/controller.py
+++ b/test/integ/control/controller.py
@@ -2,6 +2,7 @@
Integration tests for the stem.control.Controller class.
"""
+import hashlib
import os
import shutil
import socket
@@ -38,6 +39,14 @@ from test.runner import (
TEST_ROUTER_STATUS_ENTRY = None
+def random_fingerprint():
+ """
+ Provides a random 40 character hex string.
+ """
+
+ return hashlib.sha1(str(time.time())).hexdigest().upper()
+
+
class TestController(unittest.TestCase):
def test_from_port(self):
"""
@@ -123,7 +132,7 @@ class TestController(unittest.TestCase):
controller.add_event_listener(listener2, EventType.CONF_CHANGED, EventType.DEBUG)
# The NodeFamily is a harmless option we can toggle
- controller.set_conf('NodeFamily', 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF')
+ controller.set_conf('NodeFamily', random_fingerprint())
# Wait for the event. Assert that we get it within 10 seconds
self.assertTrue(event_notice1.wait(10))
@@ -140,7 +149,7 @@ class TestController(unittest.TestCase):
buffer2_size = len(event_buffer2)
- controller.set_conf('NodeFamily', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')
+ controller.set_conf('NodeFamily', random_fingerprint())
self.assertTrue(event_notice1.wait(10))
self.assertEqual(len(event_buffer1), 2)
event_notice1.clear()
@@ -173,7 +182,7 @@ class TestController(unittest.TestCase):
with runner.get_tor_controller() as controller:
controller.add_event_listener(listener, EventType.CONF_CHANGED)
- controller.set_conf('NodeFamily', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')
+ controller.set_conf('NodeFamily', random_fingerprint())
self.assertTrue(event_notice.wait(10))
self.assertEqual(len(event_buffer), 1)
event_notice.clear()
@@ -187,7 +196,7 @@ class TestController(unittest.TestCase):
# Spawn a second controller and trigger an event
with runner.get_tor_controller() as controller2:
- controller2.set_conf('NodeFamily', 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB')
+ controller2.set_conf('NodeFamily', random_fingerprint())
self.assertEqual(len(event_buffer), 0)
@@ -196,7 +205,7 @@ class TestController(unittest.TestCase):
controller.connect()
controller.authenticate(password = test.runner.CONTROL_PASSWORD)
- controller.set_conf('NodeFamily', 'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC')
+ controller.set_conf('NodeFamily', random_fingerprint())
self.assertTrue(event_notice.wait(10))
self.assertEqual(len(event_buffer), 1)
event_notice.clear()
@@ -211,7 +220,7 @@ class TestController(unittest.TestCase):
controller.connect()
stem.connection.authenticate(controller, password = test.runner.CONTROL_PASSWORD)
- controller.set_conf('NodeFamily', 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD')
+ controller.set_conf('NodeFamily', random_fingerprint())
self.assertTrue(event_notice.wait(10))
self.assertEqual(len(event_buffer), 1)
event_notice.clear()
@@ -234,7 +243,7 @@ class TestController(unittest.TestCase):
else:
controller.msg('AUTHENTICATE')
- controller.set_conf('NodeFamily', 'EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE')
+ controller.set_conf('NodeFamily', random_fingerprint())
self.assertTrue(event_notice.wait(10))
self.assertEqual(len(event_buffer), 1)
event_notice.clear()