jenkins-bot has submitted this change and it was merged.

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 a tox.ini for better integration with Jenkins.
* Add tests for pybal.util.ConfigDict().
* ...more tests to come.

Run tests with 'python setup.py test' or using 'tox'.

Change-Id: Icbf989117b9c5b3aabfdca074675dbb8ed01cd45
---
A .gitignore
M setup.py
A tests/__init__.py
A tests/test_util.py
A tox.ini
5 files changed, 73 insertions(+), 1 deletion(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3984a94
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+pybal.egg-info
+*.pyc
+.tox
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..e69de29
--- /dev/null
+++ b/tests/__init__.py
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')
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..bd4f12b
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,13 @@
+[tox]
+envlist = py27, flake8
+
+[testenv]
+commands = {envpython} setup.py test
+deps = twisted
+
+[testenv:flake8]
+commands = flake8
+deps = flake8
+
+[flake8]
+exclude = .tox,pybal,pybal.egg-info,setup.py

-- 
To view, visit https://gerrit.wikimedia.org/r/172018
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Icbf989117b9c5b3aabfdca074675dbb8ed01cd45
Gerrit-PatchSet: 4
Gerrit-Project: operations/debs/pybal
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: Mark Bergsma <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to