Additional tests for validate_koji_tag:

- Verify that ProgrammingError exception does what it is intended to do.
- Two (str/list) negative tests for validate_koji_tag decorator itself.
- Two (str/list) positive tests for validate_koji_tag decorator itself.
- Support validation in a test for Koji builder.
This commit is contained in:
Filip Valder
2017-02-27 15:24:44 +01:00
parent a4366d9be7
commit be3b05e673
2 changed files with 50 additions and 1 deletions

View File

@@ -66,7 +66,7 @@ class TestKojiBuilder(unittest.TestCase):
module='nginx',
config=conf,
tag_name='module-nginx-1.2')
fake_kmb.module_target = {'build_tag': 'fake_tag'}
fake_kmb.module_target = {'build_tag': 'module-fake_tag'}
with self.assertRaises(IOError):
fake_kmb.buildroot_ready()
@@ -117,5 +117,6 @@ class FakeKojiSession(koji.ClientSession):
def _setup_connection(self):
pass
@module_build_service.utils.validate_koji_tag('tag')
def getRepo(self, tag):
return {'create_event': 'fake event'}

View File

@@ -26,6 +26,7 @@ from mock import patch
import module_build_service.utils
import module_build_service.scm
from module_build_service import models
from module_build_service.errors import ProgrammingError, ValidationError
from tests import test_resuse_component_init_data, db
BASE_DIR = path.abspath(path.dirname(__file__))
@@ -165,3 +166,50 @@ class TestUtils(unittest.TestCase):
tangerine_rv = module_build_service.utils.get_reusable_component(
db.session, second_module_build, 'tangerine')
self.assertEqual(tangerine_rv, None)
def test_validate_koji_tag_wrong_tag_arg_during_programming(self):
@module_build_service.utils.validate_koji_tag('wrong_tag_arg')
def validate_koji_tag_programming_error(good_tag_arg, other_arg):
pass
with self.assertRaises(ProgrammingError):
validate_koji_tag_programming_error('dummy', 'other_val')
def test_validate_koji_tag_bad_tag_value(self):
@module_build_service.utils.validate_koji_tag('tag_arg')
def validate_koji_tag_bad_tag_value(tag_arg):
pass
with self.assertRaises(ValidationError):
validate_koji_tag_bad_tag_value('forbiddentagprefix-foo')
def test_validate_koji_tag_bad_tag_value_in_list(self):
@module_build_service.utils.validate_koji_tag('tag_arg')
def validate_koji_tag_bad_tag_value_in_list(tag_arg):
pass
with self.assertRaises(ValidationError):
validate_koji_tag_bad_tag_value_in_list([
'module-foo', 'forbiddentagprefix-bar'])
def test_validate_koji_tag_good_tag_value(self):
@module_build_service.utils.validate_koji_tag('tag_arg')
def validate_koji_tag_good_tag_value(tag_arg):
return True
self.assertEquals(
validate_koji_tag_good_tag_value('module-foo'), True)
def test_validate_koji_tag_good_tag_values_in_list(self):
@module_build_service.utils.validate_koji_tag('tag_arg')
def validate_koji_tag_good_tag_values_in_list(tag_arg):
return True
self.assertEquals(
validate_koji_tag_good_tag_values_in_list(['module-foo',
'module-bar']), True)