[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [stem/master] Using mock for version unit tests
commit 9109b6c078496c56b8ba1b85b0932b405be7d953
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date: Sun Jun 9 14:10:01 2013 -0700
Using mock for version unit tests
First replacement of our mocking module with mock. This is actually both quite
a bit cleaner, and also checks that our caching is working.
---
test/unit/version.py | 27 +++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/test/unit/version.py b/test/unit/version.py
index 8d15dc0..273d3e8 100644
--- a/test/unit/version.py
+++ b/test/unit/version.py
@@ -7,8 +7,9 @@ import unittest
import stem.util.system
import stem.version
+from mock import patch
+
from stem.version import Version
-from test import mocking
TOR_VERSION_OUTPUT = """Mar 22 23:09:37.088 [notice] Tor v0.2.2.35 \
(git-73ff13ab3cc9570d). This is experimental software. Do not rely on it for \
@@ -17,28 +18,18 @@ Tor version 0.2.2.35 (git-73ff13ab3cc9570d)."""
class TestVersion(unittest.TestCase):
- def tearDown(self):
- mocking.revert_mocking()
-
- def test_get_system_tor_version(self):
- # Clear the version cache both before and after the test. Without this
- # prior results short circuit the system call, and future calls will
- # provide this mocked value.
-
- stem.version.VERSION_CACHE = {}
+ @patch('stem.util.system.call')
+ @patch.dict(stem.version.VERSION_CACHE)
+ def test_get_system_tor_version(self, call_mock):
+ call_mock.return_value = TOR_VERSION_OUTPUT.splitlines()
- def _mock_call(command):
- if command == "tor --version":
- return TOR_VERSION_OUTPUT.splitlines()
- else:
- raise ValueError("stem.util.system.call received an unexpected command: %s" % command)
-
- mocking.mock(stem.util.system.call, _mock_call)
version = stem.version.get_system_tor_version()
+
self.assert_versions_match(version, 0, 2, 2, 35, None, "git-73ff13ab3cc9570d")
self.assertEqual("73ff13ab3cc9570d", version.git_commit)
+ call_mock.assert_called_once_with('tor --version')
- stem.version.VERSION_CACHE = {}
+ self.assertEqual({'tor': version}, stem.version.VERSION_CACHE)
def test_parsing(self):
"""
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits