Make testing with different configuration values easier and less error-prone by using mock.patch to change the configuration.

This commit is contained in:
Jan Kaluza
2017-03-09 14:33:28 +01:00
parent d87010dba0
commit 7cf77d0fee
4 changed files with 68 additions and 63 deletions

View File

@@ -24,7 +24,7 @@ import unittest
import json
import time
import vcr
from mock import patch, Mock
from mock import patch, Mock, PropertyMock
from shutil import copyfile
from os import path, mkdir
from os.path import dirname
@@ -475,19 +475,14 @@ class TestViews(unittest.TestCase):
@patch('module_build_service.auth.get_user', return_value=user)
@patch('module_build_service.scm.SCM')
def test_submit_build_includedmodule(self, mocked_scm, mocked_get_user):
_prev_modules_allow_repository = conf.modules_allow_repository
conf.set_item("modules_allow_repository", True)
@patch("module_build_service.config.Config.modules_allow_repository",
new_callable=PropertyMock, return_value = True)
def test_submit_build_includedmodule(self, conf, mocked_scm, mocked_get_user):
mocked_scm_obj = MockedSCM(mocked_scm, "includedmodules",
["includedmodules.yaml", "testmodule.yaml"])
try:
rv = self.client.post('/module-build-service/1/module-builds/', data=json.dumps(
{'branch': 'master', 'scmurl': 'git://pkgs.stg.fedoraproject.org/modules/'
'testmodule.git?#68931c90de214d9d13feefbd35246a81b6cb8d49'}))
except e:
raise
finally:
conf.set_item("modules_allow_repository", _prev_modules_allow_repository)
rv = self.client.post('/module-build-service/1/module-builds/', data=json.dumps(
{'branch': 'master', 'scmurl': 'git://pkgs.stg.fedoraproject.org/modules/'
'testmodule.git?#68931c90de214d9d13feefbd35246a81b6cb8d49'}))
data = json.loads(rv.data)
assert 'component_builds' in data, data