aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/conftest.py (renamed from tests/utils.py)17
-rw-r--r--tests/test_core.py26
2 files changed, 17 insertions, 26 deletions
diff --git a/tests/utils.py b/tests/conftest.py
index ecdeb84..7fc2cc4 100644
--- a/tests/utils.py
+++ b/tests/conftest.py
@@ -1,4 +1,5 @@
import os
+import pytest
from dotfiles.utils import compare_path as samefile
@@ -9,14 +10,15 @@ def _touch(fname, times=None):
class HomeDirectory(object):
+ DEFAULT_REPOSITORY = 'dotfiles'
- def __init__(self, path, repo, contents):
+ def __init__(self, path, repo=None, contents=None):
self.path = path
- self.repo = repo
+ if not repo:
+ self.repo = os.path.join(path, self.DEFAULT_REPOSITORY)
if contents:
self.setup(contents)
-
def setup(self, contents):
repo = os.path.join(self.path, self.repo)
os.mkdir(repo)
@@ -31,7 +33,6 @@ class HomeDirectory(object):
self.verify(contents)
-
def verify(self, contents):
__tracebackhide__ = True
@@ -49,7 +50,13 @@ class HomeDirectory(object):
if not link_exists:
pytest.fail("missing expected symlink \"%s\"" % link)
if not samefile(link, target):
- pytest.fail("\"%s\" does not link to \"%s\"" % (link, target))
+ pytest.fail("\"%s\" does not link to \"%s\"" %
+ (link, target))
elif link_exists:
pytest.fail("found unexpected symlink \"%s\"" % link)
+
+
+@pytest.fixture
+def homedir(tmpdir):
+ return HomeDirectory(str(tmpdir))
diff --git a/tests/test_core.py b/tests/test_core.py
index a425e24..640cac9 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -1,33 +1,17 @@
-import os
-import pytest
-from utils import HomeDirectory
from dotfiles.core import Dotfiles as Repository
-REPOSITORY = 'dotfiles'
-
-
-def test_sync(tmpdir):
- """the quick, brown fox jumps over the lazy dog.
-
- lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
- tempor incididunt ut labore et dolore magna aliqua. ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. excepteur sint occaecat cupidatat
- non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum"""
+def test_sync(homedir):
+ """Basic sync operation."""
contents = {'.foo': True,
'.bar': True,
'.baz': False}
- homedir = HomeDirectory(str(tmpdir), REPOSITORY, contents)
+ homedir.setup(contents)
- Repository(homedir=homedir.path,
- repository=os.path.join(homedir.path, REPOSITORY),
- prefix='', ignore=[], externals={}, packages=[],
- dry_run = False).sync()
+ Repository(path=homedir.repo,
+ homedir=homedir.path).sync()
# .baz should now exist and link to the correct location
contents['.baz'] = True