kopia lustrzana https://github.com/jupyterhub/repo2docker
Fix test_mercurial.py (black, node_id and git->hg)
rodzic
d26b3dd0df
commit
fc3cef16a1
|
@ -8,9 +8,7 @@ import pytest
|
||||||
from repo2docker.contentproviders import Mercurial
|
from repo2docker.contentproviders import Mercurial
|
||||||
|
|
||||||
|
|
||||||
skipif_py35 = pytest.mark.skipif(
|
skipif_py35 = pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6")
|
||||||
sys.version_info < (3, 6), reason="requires python3.6"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def _add_content_to_hg(repo_dir):
|
def _add_content_to_hg(repo_dir):
|
||||||
|
@ -23,33 +21,33 @@ def _add_content_to_hg(repo_dir):
|
||||||
subprocess.check_call(["hg", "commit", "-m", "Test commit"], cwd=repo_dir)
|
subprocess.check_call(["hg", "commit", "-m", "Test commit"], cwd=repo_dir)
|
||||||
|
|
||||||
|
|
||||||
def _get_sha1(repo_dir):
|
def _get_node_id(repo_dir):
|
||||||
"""Get repository's current commit SHA1."""
|
"""Get repository's current commit node ID (currently SHA1)."""
|
||||||
sha1 = subprocess.Popen(
|
node_id = subprocess.Popen(
|
||||||
["hg", "identify"], stdout=subprocess.PIPE, cwd=repo_dir
|
["hg", "identify", "-i"], stdout=subprocess.PIPE, cwd=repo_dir
|
||||||
)
|
)
|
||||||
return sha1.stdout.read().decode().strip()
|
return node_id.stdout.read().decode().strip()
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def hg_repo():
|
def hg_repo():
|
||||||
"""
|
"""
|
||||||
Make a dummy git repo in which user can perform git operations
|
Make a dummy hg repo in which user can perform hg operations
|
||||||
|
|
||||||
Should be used as a contextmanager, it will delete directory when done
|
Should be used as a contextmanager, it will delete directory when done
|
||||||
"""
|
"""
|
||||||
with TemporaryDirectory() as gitdir:
|
with TemporaryDirectory() as hgdir:
|
||||||
subprocess.check_call(["hg", "init"], cwd=gitdir)
|
subprocess.check_call(["hg", "init"], cwd=hgdir)
|
||||||
yield gitdir
|
yield hgdir
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def hg_repo_with_content(hg_repo):
|
def hg_repo_with_content(hg_repo):
|
||||||
"""Create a hg repository with content"""
|
"""Create a hg repository with content"""
|
||||||
_add_content_to_hg(hg_repo)
|
_add_content_to_hg(hg_repo)
|
||||||
sha1 = _get_sha1(hg_repo)
|
node_id = _get_node_id(hg_repo)
|
||||||
|
|
||||||
yield hg_repo, sha1
|
yield hg_repo, node_id
|
||||||
|
|
||||||
|
|
||||||
@skipif_py35
|
@skipif_py35
|
||||||
|
@ -68,7 +66,7 @@ def test_detect_mercurial(hg_repo_with_content, repo_with_content):
|
||||||
@skipif_py35
|
@skipif_py35
|
||||||
def test_clone(hg_repo_with_content):
|
def test_clone(hg_repo_with_content):
|
||||||
"""Test simple hg clone to a target dir"""
|
"""Test simple hg clone to a target dir"""
|
||||||
upstream, sha1 = hg_repo_with_content
|
upstream, node_id = hg_repo_with_content
|
||||||
|
|
||||||
with TemporaryDirectory() as clone_dir:
|
with TemporaryDirectory() as clone_dir:
|
||||||
spec = {"repo": upstream}
|
spec = {"repo": upstream}
|
||||||
|
@ -77,7 +75,7 @@ def test_clone(hg_repo_with_content):
|
||||||
pass
|
pass
|
||||||
assert (Path(clone_dir) / "test").exists()
|
assert (Path(clone_dir) / "test").exists()
|
||||||
|
|
||||||
assert mercurial.content_id == sha1[:7]
|
assert mercurial.content_id == node_id
|
||||||
|
|
||||||
|
|
||||||
@skipif_py35
|
@skipif_py35
|
||||||
|
@ -85,7 +83,7 @@ def test_bad_ref(hg_repo_with_content):
|
||||||
"""
|
"""
|
||||||
Test trying to checkout a ref that doesn't exist
|
Test trying to checkout a ref that doesn't exist
|
||||||
"""
|
"""
|
||||||
upstream, sha1 = hg_repo_with_content
|
upstream, node_id = hg_repo_with_content
|
||||||
with TemporaryDirectory() as clone_dir:
|
with TemporaryDirectory() as clone_dir:
|
||||||
spec = {"repo": upstream, "ref": "does-not-exist"}
|
spec = {"repo": upstream, "ref": "does-not-exist"}
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
|
|
Ładowanie…
Reference in New Issue