aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/conftest.py4
-rw-r--r--tests/test_dotfile.py108
2 files changed, 60 insertions, 52 deletions
diff --git a/tests/conftest.py b/tests/conftest.py
index f5beb21..41f8995 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -6,8 +6,8 @@ from dotfiles.repository import Repository
@pytest.fixture(scope='function', params=['', 'home'])
def repo(request, tmpdir):
- path = tmpdir.ensure_dir('repo')
- home = tmpdir.ensure_dir(request.param)
+ path = str(tmpdir.ensure_dir('repo'))
+ home = str(tmpdir.ensure_dir(request.param))
return Repository(path, home)
diff --git a/tests/test_dotfile.py b/tests/test_dotfile.py
index 5672c53..d992bdb 100644
--- a/tests/test_dotfile.py
+++ b/tests/test_dotfile.py
@@ -2,26 +2,27 @@ import pytest
from pathlib import Path
from dotfiles.dotfile import Dotfile
-from dotfiles.exceptions import IsSymlink, NotASymlink, TargetExists, \
- TargetMissing, Exists
+from dotfiles.pathutils import is_file, is_link, touch, mkdir
+from dotfiles.exceptions import TargetExists, IsSymlink, \
+ TargetMissing, NotASymlink, Exists
def _make_dotfile(repo, name, target=None):
- return Dotfile(repo.homedir.join(name),
- repo.path.join(target if target is not None else name))
+ return Dotfile(repo.homedir.joinpath(name),
+ repo.path.joinpath(target if target else name))
@pytest.mark.parametrize('name', ['.a'])
def test_str(repo, name):
dotfile = _make_dotfile(repo, name, '.b')
- assert str(dotfile) == repo.homedir.join(name)
+ assert dotfile.name == repo.homedir / name
@pytest.mark.parametrize('name', ['.foo'])
def test_short_name(repo, name):
dotfile = _make_dotfile(repo, name)
- assert dotfile.name == repo.homedir.join(name)
- assert dotfile.short_name(repo.homedir) == name
+ assert dotfile.name == repo.homedir / name
+ assert dotfile.short_name(repo.homedir) == Path(name)
def test_is_present(repo):
@@ -30,77 +31,81 @@ def test_is_present(repo):
# TODO: more
-# {{{1 state
def test_state(repo):
dotfile = _make_dotfile(repo, '.vimrc', 'vimrc')
assert dotfile.state == 'error'
- dotfile.target.ensure()
- dotfile.name.mksymlinkto(dotfile.target)
+ dotfile.target.touch()
+ dotfile.name.symlink_to(dotfile.target)
assert dotfile.state == 'ok'
- dotfile.name.remove()
+ dotfile.name.unlink()
assert dotfile.state == 'missing'
- dotfile.name.ensure()
+ dotfile.name.touch()
assert dotfile.state == 'ok'
- dotfile.name.write('test content')
+ dotfile.name.write_text('test content')
assert dotfile.state == 'conflict'
- dotfile.target.write('test content')
+ dotfile.target.write_text('test content')
assert dotfile.state == 'ok'
-# {{{1 add
@pytest.mark.parametrize('path', ['.foo', '.foo/bar/baz'])
def test_add(repo, path):
dotfile = _make_dotfile(repo, path)
- dotfile.target.ensure()
- dotfile.name.ensure()
+
+ touch(dotfile.name)
+ touch(dotfile.target)
with pytest.raises(TargetExists):
dotfile.add()
+ dotfile.target.unlink()
- dotfile.target.remove()
dotfile.add()
-
- assert dotfile.target.check(file=1, link=0)
- assert dotfile.name.check(file=1, link=1)
+ assert is_link(dotfile.name)
+ assert is_file(dotfile.target)
assert dotfile.name.samefile(dotfile.target)
with pytest.raises(IsSymlink):
dotfile.add()
-
- assert dotfile.target.check(file=1, link=0)
- assert dotfile.name.check(file=1, link=1)
+ assert is_file(dotfile.target)
assert dotfile.name.samefile(dotfile.target)
-# {{{1 remove
@pytest.mark.parametrize('path', ['.foo', '.foo/bar/baz'])
def test_remove(repo, path):
dotfile = _make_dotfile(repo, path)
- py.path.local(dotfile.name.dirname).ensure_dir()
- dotfile.name.mksymlinkto(dotfile.target)
+
+ # py.path.local(dotfile.name.dirname).ensure_dir()
+ # dotfile.name.mksymlinkto(dotfile.target)
+ # dotfile.name.parent.mkdir(parents=True)
+ mkdir(dotfile.name.parent)
+ dotfile.name.symlink_to(dotfile.target)
with pytest.raises(TargetMissing):
dotfile.remove()
- dotfile.target.ensure()
+ # dotfile.target.ensure()
+ # dotfile.target.touch()
+ touch(dotfile.target)
dotfile.remove()
- assert dotfile.target.check(exists=0)
- assert dotfile.name.check(file=1, link=0)
+ # assert dotfile.target.check(exists=0)
+ # assert dotfile.name.check(file=1, link=0)
+ assert not dotfile.target.exists()
+ assert is_file(dotfile.name)
with pytest.raises(NotASymlink):
dotfile.remove()
- assert dotfile.target.check(exists=0)
- assert dotfile.name.check(file=1, link=0)
+ # assert dotfile.target.check(exists=0)
+ # assert dotfile.name.check(file=1, link=0)
+ assert not dotfile.target.exists()
+ assert is_file(dotfile.name)
-# {{{1 link
@pytest.mark.parametrize('path', ['.foo', '.foo/bar/baz'])
def test_link(repo, path):
dotfile = _make_dotfile(repo, path)
@@ -108,22 +113,21 @@ def test_link(repo, path):
with pytest.raises(TargetMissing):
dotfile.link()
- dotfile.target.ensure()
+ touch(dotfile.target)
dotfile.link()
- assert dotfile.target.check(file=1, link=0)
- assert dotfile.name.check(file=1, link=1)
+ assert is_file(dotfile.target)
+ assert is_link(dotfile.name)
assert dotfile.name.samefile(dotfile.target)
with pytest.raises(Exists):
dotfile.link()
- assert dotfile.target.check(file=1, link=0)
- assert dotfile.name.check(file=1, link=1)
+ assert is_file(dotfile.target)
+ assert is_link(dotfile.name)
assert dotfile.name.samefile(dotfile.target)
-# {{{1 unlink
@pytest.mark.parametrize('path', ['.foo', '.foo/bar/baz'])
def test_unlink(repo, path):
dotfile = _make_dotfile(repo, path)
@@ -131,26 +135,30 @@ def test_unlink(repo, path):
with pytest.raises(NotASymlink):
dotfile.unlink()
- py.path.local(dotfile.name.dirname).ensure_dir()
- dotfile.name.mksymlinkto(dotfile.target)
+ # py.path.local(dotfile.name.dirname).ensure_dir()
+ # dotfile.name.mksymlinkto(dotfile.target)
+ mkdir(dotfile.name.parent)
+ dotfile.name.symlink_to(dotfile.target)
with pytest.raises(TargetMissing):
dotfile.unlink()
- dotfile.target.ensure()
+ # dotfile.target.ensure()
+ touch(dotfile.target)
dotfile.unlink()
- assert dotfile.target.check(file=1, link=0)
- assert dotfile.name.check(exists=0)
+ assert is_file(dotfile.target)
+ assert not dotfile.name.exists()
with pytest.raises(NotASymlink):
dotfile.unlink()
- assert dotfile.target.check(file=1, link=0)
- assert dotfile.name.check(exists=0)
+ assert is_file(dotfile.target)
+ assert not dotfile.name.exists()
-# {{{1 copy
-# @pytest.mark.parametrize('path', ['.foo', '.foo/bar/baz'])
-# def test_unlink(repo, path):
-# dotfile = _make_dotfile(repo, path)
+@pytest.mark.parametrize('path', ['.foo', '.foo/bar/baz'])
+def test_copy(repo, path):
+ pass
+ # dotfile = _make_dotfile(repo, path)
+ # TODO