[copr] master: [frontend] fix tests to be runnable without redis-server. (f4dc8d9)
by vgologuz@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit f4dc8d95a0b785c184b250c8ca0cc917ccc763ee
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Mon Mar 2 13:45:03 2015 +0100
[frontend] fix tests to be runnable without redis-server.
>---------------------------------------------------------------
frontend/coprs_frontend/tests/coprs_test_case.py | 15 +++++++++++++++
frontend/coprs_frontend/tests/test_rmodels.py | 16 ++++++++++++----
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/frontend/coprs_frontend/tests/coprs_test_case.py b/frontend/coprs_frontend/tests/coprs_test_case.py
index 2577e70..d5ded30 100644
--- a/frontend/coprs_frontend/tests/coprs_test_case.py
+++ b/frontend/coprs_frontend/tests/coprs_test_case.py
@@ -14,6 +14,14 @@ import coprs
from coprs import helpers
from coprs import models
+import six
+if six.PY3:
+ from unittest import mock
+ from unittest.mock import MagicMock
+else:
+ import mock
+ from mock import MagicMock
+
class CoprsTestCase(object):
@@ -48,12 +56,19 @@ class CoprsTestCase(object):
# os.makedirs(datadir)
coprs.db.create_all()
self.db.session.commit()
+ #coprs/views/coprs_ns/coprs_general.py
+ self.rmodel_TSE_coprs_general_patcher = mock.patch("coprs.views.coprs_ns.coprs_general.TimedStatEvents")
+ self.rmodel_TSE_coprs_general_mc = self.rmodel_TSE_coprs_general_patcher.start()
+ self.rmodel_TSE_coprs_general_mc.return_value.get_count.return_value = 0
+ self.rmodel_TSE_coprs_general_mc.return_value.add_event.return_value = None
def teardown_method(self, method):
# delete just data, not the tables
for tbl in reversed(self.db.metadata.sorted_tables):
self.db.engine.execute(tbl.delete())
+ self.rmodel_TSE_coprs_general_patcher.start()
+
@property
def auth_header(self):
return {"Authorization": "Basic " +
diff --git a/frontend/coprs_frontend/tests/test_rmodels.py b/frontend/coprs_frontend/tests/test_rmodels.py
index 939426c..2052219 100644
--- a/frontend/coprs_frontend/tests/test_rmodels.py
+++ b/frontend/coprs_frontend/tests/test_rmodels.py
@@ -3,7 +3,7 @@
import time
import pytest
-from redis import StrictRedis
+from redis import StrictRedis, ConnectionError
from coprs.rmodels import TimedStatEvents
@@ -12,19 +12,27 @@ class TestRModels(object):
def setup_method(self, method):
self.rc = StrictRedis()
+ self.disabled = False
+ try:
+ self.rc.ping()
+ except ConnectionError:
+ self.disabled = True
self.prefix = "copr:test:r_models"
self.time_now = time.time()
def teardown_method(self, method):
+ if self.disabled:
+ return
+
keys = self.rc.keys('{}*'.format(self.prefix))
if keys:
self.rc.delete(*keys)
- def test_nop(self):
- pass
-
def test_timed_stats_events(self):
+ if self.disabled:
+ return
+
TimedStatEvents.add_event(self.rc, name="foobar", prefix=self.prefix,
timestamp=self.time_now, )