2015-12-10 14:49:00 +00:00
|
|
|
#!/usr/bin/env python2
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
import mock
|
|
|
|
import unittest
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
import tempfile
|
|
|
|
import shutil
|
|
|
|
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
|
|
|
|
|
|
|
from pungi.compose import Compose
|
|
|
|
|
|
|
|
|
|
|
|
class ComposeTestCase(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
|
|
self.tmp_dir = tempfile.mkdtemp()
|
|
|
|
|
|
|
|
def tearDown(self):
|
|
|
|
shutil.rmtree(self.tmp_dir)
|
|
|
|
|
|
|
|
@mock.patch('pungi.compose.ComposeInfo')
|
|
|
|
def test_can_fail(self, ci):
|
|
|
|
conf = {
|
|
|
|
'failable_deliverables': [
|
|
|
|
('^.*$', {
|
|
|
|
'*': ['buildinstall'],
|
|
|
|
'i386': ['buildinstall', 'live', 'iso'],
|
|
|
|
}),
|
|
|
|
]
|
|
|
|
}
|
|
|
|
compose = Compose(conf, self.tmp_dir)
|
|
|
|
variant = mock.Mock(uid='Server')
|
|
|
|
|
|
|
|
self.assertTrue(compose.can_fail(variant, 'x86_64', 'buildinstall'))
|
|
|
|
self.assertFalse(compose.can_fail(variant, 'x86_64', 'live'))
|
|
|
|
self.assertTrue(compose.can_fail(variant, 'i386', 'live'))
|
|
|
|
|
|
|
|
self.assertFalse(compose.can_fail(None, 'x86_64', 'live'))
|
|
|
|
self.assertTrue(compose.can_fail(None, 'i386', 'live'))
|
|
|
|
|
2016-01-11 16:14:51 +00:00
|
|
|
self.assertTrue(compose.can_fail(variant, '*', 'buildinstall'))
|
|
|
|
self.assertFalse(compose.can_fail(variant, '*', 'live'))
|
|
|
|
|
2016-01-06 11:24:01 +00:00
|
|
|
@mock.patch('pungi.compose.ComposeInfo')
|
|
|
|
def test_get_image_name(self, ci):
|
|
|
|
conf = {}
|
|
|
|
variant = mock.Mock(uid='Server', type='variant')
|
|
|
|
ci.return_value.compose.respin = 2
|
|
|
|
ci.return_value.compose.id = 'compose_id'
|
|
|
|
ci.return_value.compose.date = '20160107'
|
|
|
|
ci.return_value.compose.type = 'nightly'
|
|
|
|
ci.return_value.compose.type_suffix = '.n'
|
|
|
|
ci.return_value.compose.label = 'RC-1.0'
|
|
|
|
ci.return_value.compose.label_major_version = '1'
|
|
|
|
|
|
|
|
ci.return_value.release.version = '3.0'
|
|
|
|
ci.return_value.release.short = 'rel_short'
|
|
|
|
|
|
|
|
compose = Compose(conf, self.tmp_dir)
|
|
|
|
|
|
|
|
keys = ['arch', 'compose_id', 'date', 'disc_num', 'disc_type',
|
|
|
|
'label', 'label_major_version', 'release_short', 'respin',
|
|
|
|
'suffix', 'type', 'type_suffix', 'variant', 'version']
|
|
|
|
format = '-'.join(['%(' + k + ')s' for k in keys])
|
|
|
|
name = compose.get_image_name('x86_64', variant, format=format,
|
|
|
|
disc_num=7, disc_type='live', suffix='.iso')
|
|
|
|
|
|
|
|
self.assertEqual(name, '-'.join(['x86_64', 'compose_id', '20160107', '7', 'live',
|
|
|
|
'RC-1.0', '1', 'rel_short', '2', '.iso', 'nightly',
|
|
|
|
'.n', 'Server', '3.0']))
|
|
|
|
|
2015-12-10 14:49:00 +00:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
unittest.main()
|