vdirsyncer/tests/cli/conftest.py
Markus Unterwaditzer 1ca0859da1 Restructure CLI tests
2015-03-07 13:45:10 +01:00

33 lines
777 B
Python

# -*- coding: utf-8 -*-
from textwrap import dedent
from click.testing import CliRunner
import pytest
import vdirsyncer.cli as cli
class _CustomRunner(object):
def __init__(self, tmpdir):
self.tmpdir = tmpdir
self.cfg = tmpdir.join('config')
self.runner = CliRunner()
def invoke(self, args, env=None, **kwargs):
env = env or {}
env.setdefault('VDIRSYNCER_CONFIG', str(self.cfg))
return self.runner.invoke(cli.app, args, env=env, **kwargs)
def write_with_general(self, data):
self.cfg.write(dedent('''
[general]
status_path = {}/status/
''').format(str(self.tmpdir)))
self.cfg.write(data, mode='a')
@pytest.fixture
def runner(tmpdir):
return _CustomRunner(tmpdir)