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