[tor-commits] [arm/master] Unit tests for missing_event_types()
atagar at torproject.org
atagar at torproject.org
Sun Dec 29 05:20:34 UTC 2013
commit bf3a92f2e08140f2fd9aad84b1586becd0b94fb4
Author: Damian Johnson <atagar at torproject.org>
Date: Sat Dec 28 21:19:46 2013 -0800
Unit tests for missing_event_types()
Just some basic unit tests. It's not a terribly big function.
---
test/arguments.py | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/test/arguments.py b/test/arguments.py
index f0fcdb9..97c4ecf 100644
--- a/test/arguments.py
+++ b/test/arguments.py
@@ -1,7 +1,9 @@
import getopt
import unittest
-from arm.arguments import DEFAULT_ARGS, parse, expand_events
+from mock import Mock, patch
+
+from arm.arguments import DEFAULT_ARGS, parse, expand_events, missing_event_types
class TestArgumentParsing(unittest.TestCase):
@@ -63,6 +65,7 @@ class TestArgumentParsing(unittest.TestCase):
for invalid_input in invalid_inputs:
self.assertRaises(ValueError, parse, ['--interface', invalid_input])
+
class TestExpandEvents(unittest.TestCase):
def test_examples(self):
self.assertEqual(set(['INFO', 'NOTICE', 'UNKNOWN', 'STATUS_CLIENT']), expand_events('inUt'))
@@ -101,3 +104,29 @@ class TestExpandEvents(unittest.TestCase):
self.fail()
except ValueError as exc:
self.assertEqual(set(expected), set(str(exc)))
+
+
+class TestMissingEventTypes(unittest.TestCase):
+ @patch('arm.arguments.tor_controller')
+ def test_with_a_failed_query(self, controller_mock):
+ controller = Mock()
+ controller.get_info.return_value = None
+ controller_mock.return_value = controller
+
+ self.assertEqual([], missing_event_types())
+
+ @patch('arm.arguments.tor_controller')
+ def test_without_unrecognized_events(self, controller_mock):
+ controller = Mock()
+ controller.get_info.return_value = 'DEBUG INFO NOTICE WARN ERR'
+ controller_mock.return_value = controller
+
+ self.assertEqual([], missing_event_types())
+
+ @patch('arm.arguments.tor_controller')
+ def test_with_unrecognized_events(self, controller_mock):
+ controller = Mock()
+ controller.get_info.return_value = 'EVENT1 DEBUG INFO NOTICE WARN EVENT2 ERR EVENT3'
+ controller_mock.return_value = controller
+
+ self.assertEqual(['EVENT1', 'EVENT2', 'EVENT3'], missing_event_types())
More information about the tor-commits
mailing list