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"
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)
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
def mock_read_local_file(filename): return strip_text(""" line1 line2 """)
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 = {