import logging import os import platform import subprocess import yaml from cekit.cache.artifact import ArtifactCache from cekit.config import Config from cekit.errors import CekitError from cekit.generator.base import Generator from cekit.descriptor.resource import _PlainResource from cekit.tools import get_brew_url logger = logging.getLogger('cekit') config = Config() class DockerGenerator(Generator): def __init__(self, descriptor_path, target, builder, overrides, params): self._params = params super(DockerGenerator, self).__init__(descriptor_path, target, builder, overrides, params) self._fetch_repos = True def _prepare_content_sets(self, content_sets): if not config.cfg['common']['redhat']: return False arch = platform.machine() if arch not in content_sets: raise CekitError(
from cekit.generator.base import Generator module_desc = { 'schema_version': 1, 'name': 'master_mod', 'modules': { 'repositories': [ { 'name': 'module', 'path': 'tests/modules/repo_1', }, ] } } config = Config() config.cfg['common'] = {'work_dir': '/tmp'} def test_modules_repos(tmpdir): tmpdir = str(tmpdir.mkdir('target')) module = Module(module_desc, os.getcwd(), '/tmp') module.fetch_dependencies(tmpdir) assert 'foo' in [m['name'] for m in modules] def test_issue_322(tmpdir): """tests a particular inheritance issue reported as GitHub issue #322""" target_dir = str(tmpdir.mkdir('target')) artifact_dir = str(tmpdir.mkdir('artifacts')) clone_dir = str(tmpdir.mkdir('clone'))
from cekit.config import Config from cekit.descriptor import Repository from cekit.version import version as cekit_version from cekit.tools import Chdir from cekit.template_helper import TemplateHelper from click.testing import CliRunner basic_config = { 'release': 1, 'version': 1, 'from': 'fromimage', 'name': 'testimage' } config = Config() config.cfg['common'] = {'redhat': True} def print_test_name(value): if str(value).startswith('test'): return value return "\b" @pytest.mark.parametrize('name, desc_part, exp_regex', [ ('test_run_user', { 'run': { 'user': 1347, 'cmd': ['whoami'] }
import shutil import yaml from jinja2 import Environment, FileSystemLoader from packaging.version import LegacyVersion, parse as parse_version import cekit from cekit import tools, __version__ as cekit_version from cekit.config import Config from cekit.descriptor import Env, Image, Label, Module, Overrides, Repository from cekit.errors import CekitError from cekit.template_helper import TemplateHelper LOGGER = logging.getLogger('cekit') CONFIG = Config() try: from odcs.client.odcs import ODCS, AuthMech # Requests is a dependency of ODCS client, so this should be safe import requests except ImportError: pass class Generator(object): """ This class process Image descriptor(self.image) and uses it to generate target directory by fetching all dependencies and artifacts
def test_config_key_exists(): config = Config() config.configure('/dev/null', {}) assert not config.get('common', 'redhat')
import pytest import yaml from cekit.config import Config from cekit.errors import CekitError from cekit.descriptor import Label, Port, Env, Volume, Packages, Image, Osbs, \ Repository config = Config() config.configure('/dev/null', {'redhat': True}) def test_label(): label = Label( yaml.safe_load(""" name: "io.k8s.display-name" value: "JBoss A-MQ 6.2" """)) assert label['name'] == "io.k8s.display-name" assert label['value'] == "JBoss A-MQ 6.2" def test_env(): env = Env( yaml.safe_load(""" name: "io.k8s.display-name" value: "JBoss A-MQ 6.2" """)) assert env['name'] == "io.k8s.display-name" assert env['value'] == "JBoss A-MQ 6.2"