示例#1
0
def test_strip_test():
    with abort('strip_text: string expected in file .* line .*'):
        strip_text(list('a'))
    assert strip_text('') == ''
    assert strip_text(None) == ''
    assert strip_text('text') == 'text\n'
    assert strip_text("""

        some text

        other text

    """) == "some text\n\nother text\n"
示例#2
0
文件: render.py 项目: makhomed/fabrix
def render(template_string, *args, **kwargs):
    """Rendef template from string.

    .. note::
        If ``env.host_string`` not empty then conf dict used as source of default variables for template context.
        If ``env.host_string`` is empty then local_conf dict used as source of default variables for template context.

    Args:
        template_string: Jinja2 template as string.
        args: Dictionary names used as context variables source.
        kwargs: context variables in form key1=value1, key2=value2, ...

    Returns:
        rendered template as string.
    """
    environment = Environment(loader=BaseLoader(), keep_trailing_newline=True)
    template = environment.from_string(template_string)
    context = _generate_context(*args, **kwargs)
    text = _render_template(template, context)
    return strip_text(text)
示例#3
0
def systemctl_edit(name, override):
    """systemctl edit ``name``.

    Works like command ``systemctl edit name``. Creates directory ``/etc/systemd/system/${name}.d``
    and creates file ``override.conf`` inside it with contents from string override.

    Args:
        name: Name of systemd service to edit.
        override: Which text place inside ``override.conf`` file.
            Leading and trailing whitespace chars are stripped from override.

    Returns:
        True if file ``override.conf`` for service ``name`` changed, False otherwise.
    """
    if override is None:
        override = ''
    if not isinstance(override, basestring):
        fname = str(inspect.stack()[1][1])
        nline = str(inspect.stack()[1][2])
        abort('systemctl_edit: override must be string in file %s line %s' %
              (fname, nline))
    if '/' in name:
        fname = str(inspect.stack()[1][1])
        nline = str(inspect.stack()[1][2])
        abort('systemctl_edit: invalid unit name \'%s\' in file %s line %s' %
              (name, fname, nline))
    if not name.endswith('.service'):
        name = name + '.service'
    override_dir = '/etc/systemd/system/' + name + '.d'
    override_conf = os.path.join(override_dir, 'override.conf')
    override = strip_text(override)
    if override:
        changed1 = create_directory(override_dir)
        changed2 = write_file(override_conf, override)
    else:
        changed1 = remove_file(override_conf)
        changed2 = remove_directory(override_dir)
    return changed1 or changed2
示例#4
0
    def mock_read_local_file(filename):
        return strip_text("""
        line1

        line2
        """)
示例#5
0
from fabrix.passwd import is_user_exists, is_user_not_exists, create_user, remove_user
from fabrix.passwd import is_group_exists, is_group_not_exists, create_group, remove_group
from fabrix.passwd import is_user_in_group, is_user_not_in_group, add_user_to_group, delete_user_from_group

PASSWD = strip_text("""
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
    systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    nginx:x:997:995:nginx user:/var/cache/nginx:/sbin/nologin
    apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
""")


def test_get_user_home_directory(monkeypatch):
    run_state = {