From d4081812319808254d2b61f3dea730515dfef7fe Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Mon, 21 Jan 2019 13:47:13 +0100 Subject: [PATCH 1/4] Add support for tox runner Signed-off-by: Clement Verna --- .gitignore | 1 + .travis.yml | 13 ------------- requirements.txt | 2 ++ tox.ini | 7 +++++++ 4 files changed, 10 insertions(+), 13 deletions(-) delete mode 100644 .travis.yml create mode 100644 tox.ini 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/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 From b995db583c6b2e559a620d7611a034c5a550ebd2 Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Mon, 21 Jan 2019 14:12:20 +0100 Subject: [PATCH 2/4] Fix mock Hub configuration Signed-off-by: Clement Verna --- tests/utils.py | 1 + 1 file changed, 1 insertion(+) 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): From 349456411c2bf4e563a061e63c4d1a58ba555149 Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Mon, 21 Jan 2019 14:12:51 +0100 Subject: [PATCH 3/4] Remove pkdb related tests Signed-off-by: Clement Verna --- tests/test_criteria_pkgdb.py | 109 ----------------------------------- 1 file changed, 109 deletions(-) delete mode 100644 tests/test_criteria_pkgdb.py 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", - ) From be274db5dbfb3071d22de5fd7523bdda860f1809 Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Mon, 21 Jan 2019 14:36:34 +0100 Subject: [PATCH 4/4] The log.error is called more than once Signed-off-by: Clement Verna --- tests/test_complicated_trigger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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')