101 lines
3.5 KiB
Python
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))
|