diff --git a/.gitignore b/.gitignore index 49038a1..d8a2df4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ *.db dist build +.tox diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8d61ab7..0000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: python -python: - - "2.6" - - "2.7" - #- "3.2" # Someday.. -install: python setup.py install -script: python setup.py test -notifications: - email: true - irc: - - "irc.freenode.net#threebean" - on_success: change - on_failure: change diff --git a/requirements.txt b/requirements.txt index f35bb0c..0cc13b2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,3 +6,5 @@ datanommer.models zope.sqlalchemy requests dogpile.cache +psutil +moksha diff --git a/tests/test_complicated_trigger.py b/tests/test_complicated_trigger.py index 78a6e62..3b5381d 100644 --- a/tests/test_complicated_trigger.py +++ b/tests/test_complicated_trigger.py @@ -58,7 +58,7 @@ def test_complicated_trigger_against_partial_mismatch(self): log = logging.getLogger('moksha.hub') log.error = Mock() eq_(self.rule.matches(msg), set()) - log.error.assert_called_once() + log.error.assert_called() @patch('datanommer.models.Message.grep') @patch('tahrir_api.dbapi.TahrirDatabase.get_person') diff --git a/tests/test_criteria_pkgdb.py b/tests/test_criteria_pkgdb.py deleted file mode 100644 index 1709fb8..0000000 --- a/tests/test_criteria_pkgdb.py +++ /dev/null @@ -1,109 +0,0 @@ -import unittest -import mock -from nose.tools import raises, eq_ - -import fedbadges.rules - - -class TestCriteriaPkgdbWeirdness(unittest.TestCase): - @raises(KeyError) - def test_underspecified_criteria(self): - """ Test that an error is raised when condition is missing. """ - criteria = fedbadges.rules.Criteria(dict( - pkgdb={ - "owns": { - "user": "ralph", - # You must specify a list of packages here - }, - } - )) - - @raises(ValueError) - def test_malformed_owns(self): - """ Test that an error is raised for malformed owns entries """ - criteria = fedbadges.rules.Criteria(dict( - pkgdb={ - "owns": "wat", # this must be a dict. - } - )) - - @raises(ValueError) - def test_malformed_not_a_list(self): - """ Test that an error is raised for malformed owns entries """ - criteria = fedbadges.rules.Criteria(dict( - pkgdb={ - "owns": { - "user": "ralph", - "packages": "not a list", - }, - } - )) - - -class TestCriteriaPkgdbOwns(unittest.TestCase): - def setUp(self): - self.criteria = fedbadges.rules.Criteria(dict( - pkgdb={ - "owns": { - "user": "ralph", - "packages": [ - "%(some_package)s", - ], - }, - } - )) - self.message = dict( - topic="org.fedoraproject.dev.something.sometopic", - some_package="pkgwat", - ) - - def test_basic_ownership_miss(self): - expectation = False - - with mock.patch('fedbadges.rules.get_pkgdb_packages_for') as f: - f.return_value = ['fedmsg', 'nethack'] - result = self.criteria.matches(self.message) - eq_(result, expectation) - f.assert_called_once_with( - config=fedbadges.rules.fedmsg_config, - user="ralph", - ) - - def test_basic_ownership_hit(self): - expectation = True - - with mock.patch('fedbadges.rules.get_pkgdb_packages_for') as f: - f.return_value = ['pkgwat', 'fedmsg', 'nethack'] - result = self.criteria.matches(self.message) - eq_(result, expectation) - f.assert_called_once_with( - config=fedbadges.rules.fedmsg_config, - user="ralph", - ) - - -class TestCriteriaNegatedPkgdbOwns(unittest.TestCase): - def setUp(self): - self.criteria = fedbadges.rules.Criteria({ - "not": dict(pkgdb={ - "owns": { - "user": "ralph", - "packages": ["%(some_package)s"], - }, - })}) - self.message = dict( - topic="org.fedoraproject.dev.something.sometopic", - some_package="pkgwat", - ) - - def test_negated_ownership_hit(self): - expectation = False - - with mock.patch('fedbadges.rules.get_pkgdb_packages_for') as f: - f.return_value = ['pkgwat', 'fedmsg', 'nethack'] - result = self.criteria.matches(self.message) - eq_(result, expectation) - f.assert_called_once_with( - config=fedbadges.rules.fedmsg_config, - user="ralph", - ) diff --git a/tests/utils.py b/tests/utils.py index 4d38ad8..ac62dde 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -16,6 +16,7 @@ class MockHub(object): ), }, "datanommer.sqlalchemy.url": "sqlite://", + "validate_signatures":"False" } def subscribe(self, topic, callback): diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..8715c0f --- /dev/null +++ b/tox.ini @@ -0,0 +1,7 @@ +[tox] +envlist = py27 + +[testenv] +deps = .[test] +commands = python setup.py test +passenv = HOME