mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-14 14:19:51 +08:00
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:
@@ -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'}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user