Ori.livneh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/172018
Change subject: Add tests for pybal.util.ConfigDict
......................................................................
Add tests for pybal.util.ConfigDict
* Where available, use setuptools rather than the now-deprecated distribute.
* Declare a test suite under tests/.
* Add tests for pybal.util.ConfigDict().
* ...more tests to come.
Run tests with 'python setup.py test'.
Change-Id: Icbf989117b9c5b3aabfdca074675dbb8ed01cd45
---
M setup.py
A tests/__init__.py
A tests/test_util.py
3 files changed, 68 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/debs/pybal
refs/changes/18/172018/1
diff --git a/setup.py b/setup.py
index 22d9c4c..0ba6ec8 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,9 @@
#!/usr/bin/env python
+try:
+ from setuptools import setup
+except ImportError:
+ from distutils.core import setup
-from distutils.core import setup
setup(name="pybal",
version="0.1",
@@ -10,4 +13,5 @@
url="http://wikitech.wikimedia.org/view/Pybal",
packages=['pybal', 'pybal.monitors'],
requires=['twisted'],
+ test_suite='tests',
)
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..858bcef
--- /dev/null
+++ b/tests/__init__.py
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+"""
+ PyBal unit tests
+ ~~~~~~~~~~~~~~~~
+
+ This module is the main entry point for the unit tests.
+
+"""
+# flake8: noqa
+
+from .test_util import *
diff --git a/tests/test_util.py b/tests/test_util.py
new file mode 100644
index 0000000..993a1bb
--- /dev/null
+++ b/tests/test_util.py
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+"""
+ PyBal unit tests
+ ~~~~~~~~~~~~~~~~
+
+ This module contains tests for `pybal.util`.
+
+"""
+import unittest
+
+import pybal
+import pybal.util
+
+
+class ConfigDictTestCase(unittest.TestCase):
+ """Test case for `pybal.util.ConfigDict`."""
+
+ def setUp(self):
+ self.config = pybal.util.ConfigDict({
+ 'int': '3',
+ 'truthy': 'true',
+ 'falsy': 'false',
+ 'float': '3.14',
+ })
+
+ def testGetInt(self):
+ """Test `ConfigDict.getint()`."""
+ self.assertEqual(self.config.getint('int'), 3)
+ self.assertEqual(self.config.getint('missing', 4), 4)
+ with self.assertRaises(KeyError):
+ self.config.getint('missing')
+ with self.assertRaises(ValueError):
+ self.config.getint('truthy')
+
+ def testGetFloat(self):
+ """Test `ConfigDict.getfloat()`."""
+ self.assertEqual(self.config.getfloat('float'), 3.14)
+ self.assertEqual(self.config.getfloat('missing', True), True)
+ with self.assertRaises(KeyError):
+ self.config.getfloat('missing')
+ with self.assertRaises(ValueError):
+ self.config.getfloat('falsy')
+
+ def testGetBoolean(self):
+ """Test `ConfigDict.getboolean()`."""
+ self.assertEqual(self.config.getboolean('truthy'), True)
+ self.assertEqual(self.config.getboolean('falsy'), False)
+ self.assertEqual(self.config.getboolean('missing', True), True)
+ with self.assertRaises(KeyError):
+ self.config.getboolean('missing')
+ with self.assertRaises(ValueError):
+ self.config.getboolean('float')
--
To view, visit https://gerrit.wikimedia.org/r/172018
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icbf989117b9c5b3aabfdca074675dbb8ed01cd45
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/pybal
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits