debian-koji/tests/test_builder/test_volume_id.py
Yuming Zhu ca05418fb5 unittest: use unittest.mock instead of mock
because the absence of unittest.mock on python2.7, we still fallback to
mock
2024-10-23 16:35:30 +00:00

101 lines
3.5 KiB
Python

from __future__ import absolute_import
import logging
import tempfile
import unittest
try:
from unittest import mock
except ImportError:
import mock
import shutil
from .loadkojid import kojid
logger = logging.getLogger(__name__)
class TestVolumeID(unittest.TestCase):
version = '1'
release = 'f27'
test_cases = {
't1': {
'name': 'Beta-Atomic-Fedora',
'expected-id': 'B-AH-Fedora-' + version + '-' + release
},
't2': {
'name': 'Beta-Fedora-Beta',
'expected-id': 'B-Fedora-B-' + version + '-' + release
},
't3': {
'name': 'Rawhide-Fedora-Astronomy_KDE-Cinnamon',
'expected-id': 'rawh-Fedora-AstK-Cinn-' + version + '-' + release
},
't4': {
'name': 'Cloud-Design_suite-Fedora-Electronic_Lab',
'expected-id': 'C-Dsgn-Fedora-Elec-' + version + '-' + release
},
't5': {
'name': 'Everything-Games-Images-Fedora',
'expected-id': 'E-Game-img-Fedora-' + version + '-' + release
},
't6': {
'name': 'Fedora-Jam_KDE-MATE_Compiz-Python-Classroom',
'expected-id': 'Fedora-Jam-MATE-Clss-' + version + '-' + release
},
't7': {
'name': 'MATE_Compiz-Python_Classroom-Python-Classroom',
'expected-id': 'MATE-Clss-Clss-' + version + '-' + release
},
't8': {
'name': 'Robotics-Scientific_KDE-Fedora-Security',
'expected-id': 'Robo-SciK-Fedora-Sec-' + version + '-' + release
},
't9': {
'name': 'Robotics-Workstation-Fedora',
'expected-id': 'Robo-WS-Fedora-' + version + '-' + release
},
't10': {
'name': 'Server-Fedora-Everything-Server',
'expected-id': 'S-Fedora-E-S-' + version + '-' + release
},
't11': {
'name': 'Fedora-WorkstationOstree-Images',
'expected-id': 'Fedora-WS-img-' + version + '-' + release
},
't12': {
'name': 'Workstation-Cloud-Beta-Cloud-Games-Cloud-MATE_Compiz-Cloud',
'expected-id': 'WS-C-B-C-Game-C-MATE-C-' + version + '-' + release
},
't13': {
'name': 'Astronomy_KDE-Python-Classroom-Robotics-Robotics-Games',
'expected-id': 'AstK-Clss-Robo-Robo-Game-' + version + '-' + release
}
}
def setUp(self):
# set up task handler
task_id = 99
method = 'createLiveCD'
params = []
self.session = mock.MagicMock()
self.options = mock.MagicMock()
self.options.literal_task_arches = ''
self.workdir = tempfile.mkdtemp()
self.handler = kojid.LiveCDTask(task_id, method, params, self.session,
self.options, self.workdir)
def tearDown(self):
shutil.rmtree(self.workdir)
def test_volume_id_substitutions(self):
"""Check that volume ID is shorten corect by shortenVolID method."""
for test_name, values in self.test_cases.items():
name = values['name']
expected_vol_id = values['expected-id']
result_vol_id = self.handler._shortenVolID(name, self.version, self.release)
logger.info("name '%s' expected vol id %s.", name, expected_vol_id)
self.assertEqual(expected_vol_id, result_vol_id,
'Expected shortened volume id %s is not same as result of shortenVolID %s.'
%(expected_vol_id, result_vol_id))