/usr/lib/python3/dist-packages/provisioningserver/drivers/osystem/tests/test_custom.py is in python3-maas-provisioningserver 2.0.0~beta3+bzr4941-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | # Copyright 2014-2015 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
"""Tests for the CentOS module."""
__all__ = []
from itertools import product
import os
from maastesting.factory import factory
from maastesting.testcase import MAASTestCase
from provisioningserver.config import ClusterConfiguration
from provisioningserver.drivers.osystem.custom import (
BOOT_IMAGE_PURPOSE,
CustomOS,
)
from provisioningserver.testing.config import ClusterConfigurationFixture
class TestCustomOS(MAASTestCase):
def make_resource_path(self, filename):
self.useFixture(ClusterConfigurationFixture())
tmpdir = self.make_dir()
arch = factory.make_name('arch')
subarch = factory.make_name('subarch')
release = factory.make_name('release')
label = factory.make_name('label')
current_dir = os.path.join(tmpdir, 'current') + '/'
dirpath = os.path.join(
current_dir, 'custom', arch, subarch, release, label)
os.makedirs(dirpath)
factory.make_file(dirpath, filename)
with ClusterConfiguration.open_for_update() as config:
config.tftp_root = current_dir
return arch, subarch, release, label
def test_get_boot_image_purposes(self):
osystem = CustomOS()
archs = [factory.make_name('arch') for _ in range(2)]
subarchs = [factory.make_name('subarch') for _ in range(2)]
releases = [factory.make_name('release') for _ in range(2)]
labels = [factory.make_name('label') for _ in range(2)]
for arch, subarch, release, label in product(
archs, subarchs, releases, labels):
expected = osystem.get_boot_image_purposes(
arch, subarchs, release, label)
self.assertIsInstance(expected, list)
self.assertEqual(expected, [
BOOT_IMAGE_PURPOSE.XINSTALL,
])
def test_is_release_supported(self):
osystem = CustomOS()
releases = [factory.make_name('release') for _ in range(3)]
supported = [
osystem.is_release_supported(release)
for release in releases
]
self.assertEqual([True, True, True], supported)
def test_get_default_release(self):
osystem = CustomOS()
self.assertEqual("", osystem.get_default_release())
def test_get_release_title(self):
osystem = CustomOS()
release = factory.make_name('release')
self.assertEqual(release, osystem.get_release_title(release))
def test_get_xinstall_parameters_returns_root_tgz_tgz(self):
osystem = CustomOS()
arch, subarch, release, label = self.make_resource_path('root-tgz')
self.assertItemsEqual(
('root-tgz', 'tgz'),
osystem.get_xinstall_parameters(arch, subarch, release, label))
def test_get_xinstall_parameters_returns_root_dd_dd_tgz(self):
osystem = CustomOS()
arch, subarch, release, label = self.make_resource_path('root-dd')
self.assertItemsEqual(
('root-dd', 'dd-tgz'),
osystem.get_xinstall_parameters(arch, subarch, release, label))
|