[tor-commits] [stem/master] Basic integ test for stem.util.conf

atagar at torproject.org atagar at torproject.org
Mon Nov 14 00:28:28 UTC 2011


commit 382bc5627b8d4f29645207628ca224f08f7b6883
Author: Damian Johnson <atagar at torproject.org>
Date:   Sun Nov 13 16:13:33 2011 -0800

    Basic integ test for stem.util.conf
    
    Adding an integ test for the example given by the conf utility. There's a whole
    lot more that could be tested in that class (especially parsing and type
    inferences) but this doesn't seem too worth while so just adding this basic
    test for now. I might expand it later.
---
 run_tests.py            |    2 +
 test/integ/util/conf.py |   54 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/run_tests.py b/run_tests.py
index 7dcffaf..774c130 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -18,6 +18,7 @@ import test.unit.types.version
 import test.unit.connection.protocolinfo_response
 import test.unit.util.enum
 import test.integ.types.control_message
+import test.integ.util.conf
 import test.integ.util.system
 
 import stem.util.enum
@@ -36,6 +37,7 @@ UNIT_TESTS = (("stem.types.ControlMessage", test.unit.types.control_message.Test
              )
 
 INTEG_TESTS = (("stem.types.ControlMessage", test.integ.types.control_message.TestControlMessage),
+               ("stem.util.conf", test.integ.util.conf.TestConf),
                ("stem.util.system", test.integ.util.system.TestSystem),
               )
 
diff --git a/test/integ/util/conf.py b/test/integ/util/conf.py
new file mode 100644
index 0000000..03ac4a1
--- /dev/null
+++ b/test/integ/util/conf.py
@@ -0,0 +1,54 @@
+"""
+Integration tests for the stem.util.conf class and functions.
+"""
+
+import os
+import tempfile
+import unittest
+
+import stem.util.conf
+
+CONF_PATH = tempfile.mktemp("-conf-test")
+CONF_HEADER = """# Demo configuration for integration tests to run against. Nothing to see here,
+# move along, move along.
+"""
+
+EXAMPLE_CONF = """%s
+destination.ip 1.2.3.4
+destination.port blarg
+
+startup.run export PATH=$PATH:~/bin
+startup.run alias l=ls
+""" % CONF_HEADER
+
+class TestConf(unittest.TestCase):
+  def tearDown(self):
+    # cleans up test configurations we made
+    if os.path.exists(CONF_PATH):
+      os.remove(CONF_PATH)
+  
+  def test_example(self):
+    """
+    Checks that the pydoc example is correct.
+    """
+    
+    test_conf_file = open(CONF_PATH, "w")
+    test_conf_file.write(EXAMPLE_CONF)
+    test_conf_file.close()
+    
+    ssh_config = {"login.user": "atagar",
+                  "login.password": "pepperjack_is_awesome!",
+                  "destination.ip": "127.0.0.1",
+                  "destination.port": 22,
+                  "startup.run": []}
+    
+    user_config = stem.util.conf.get_config("integ-ssh_login")
+    user_config.load(CONF_PATH)
+    user_config.update(ssh_config)
+    
+    self.assertEquals("atagar", ssh_config["login.user"])
+    self.assertEquals("pepperjack_is_awesome!", ssh_config["login.password"])
+    self.assertEquals("1.2.3.4", ssh_config["destination.ip"])
+    self.assertEquals(22, ssh_config["destination.port"])
+    self.assertEquals(["export PATH=$PATH:~/bin", "alias l=ls"], ssh_config["startup.run"])
+





More information about the tor-commits mailing list