mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-19 17:14:43 +04:00
Rename RepoInstaller to Repository
This commit is contained in:
parent
abea886a3d
commit
d77d01cd22
3 changed files with 43 additions and 63 deletions
|
|
@ -5,7 +5,7 @@ from plumbum import local
|
||||||
from pre_commit.hooks_workspace import in_hooks_workspace
|
from pre_commit.hooks_workspace import in_hooks_workspace
|
||||||
|
|
||||||
|
|
||||||
class RepoInstaller(object):
|
class Repository(object):
|
||||||
def __init__(self, repo_config):
|
def __init__(self, repo_config):
|
||||||
self.repo_config = repo_config
|
self.repo_config = repo_config
|
||||||
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
import os
|
|
||||||
|
|
||||||
import jsonschema
|
|
||||||
import pytest
|
|
||||||
from pre_commit import git
|
|
||||||
|
|
||||||
import pre_commit.constants as C
|
|
||||||
from pre_commit.clientlib.validate_config import CONFIG_JSON_SCHEMA
|
|
||||||
from pre_commit.repo_installer import RepoInstaller
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def dummy_repo_config(dummy_git_repo):
|
|
||||||
# This is not a valid config, but it is pretty close
|
|
||||||
return {
|
|
||||||
'repo': dummy_git_repo,
|
|
||||||
'sha': git.get_head_sha(dummy_git_repo),
|
|
||||||
'hooks': [],
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.integration
|
|
||||||
def test_create_repo_in_env(dummy_repo_config, dummy_git_repo):
|
|
||||||
repo_installer = RepoInstaller(dummy_repo_config)
|
|
||||||
repo_installer.create()
|
|
||||||
|
|
||||||
assert os.path.exists(
|
|
||||||
os.path.join(dummy_git_repo, C.HOOKS_WORKSPACE, repo_installer.sha),
|
|
||||||
)
|
|
||||||
|
|
||||||
@pytest.mark.integration
|
|
||||||
def test_install_python_repo_in_env(python_pre_commit_git_repo, config_for_python_pre_commit_git_repo):
|
|
||||||
repo_installer = RepoInstaller(config_for_python_pre_commit_git_repo)
|
|
||||||
# TODO: do we need create here?
|
|
||||||
repo_installer.install()
|
|
||||||
|
|
||||||
assert os.path.exists(
|
|
||||||
os.path.join(
|
|
||||||
python_pre_commit_git_repo,
|
|
||||||
C.HOOKS_WORKSPACE,
|
|
||||||
repo_installer.sha,
|
|
||||||
'py_env',
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def simple_config(python_pre_commit_git_repo):
|
|
||||||
config = [
|
|
||||||
{
|
|
||||||
'repo': python_pre_commit_git_repo,
|
|
||||||
'sha': git.get_head_sha(python_pre_commit_git_repo),
|
|
||||||
'hooks': [
|
|
||||||
{
|
|
||||||
'id': 'foo',
|
|
||||||
'files': '*.py',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
jsonschema.validate(config, CONFIG_JSON_SCHEMA)
|
|
||||||
return config
|
|
||||||
42
tests/repository_test.py
Normal file
42
tests/repository_test.py
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
from pre_commit import git
|
||||||
|
|
||||||
|
import pre_commit.constants as C
|
||||||
|
from pre_commit.repository import Repository
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def dummy_repo_config(dummy_git_repo):
|
||||||
|
# This is not a valid config, but it is pretty close
|
||||||
|
return {
|
||||||
|
'repo': dummy_git_repo,
|
||||||
|
'sha': git.get_head_sha(dummy_git_repo),
|
||||||
|
'hooks': [],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.integration
|
||||||
|
def test_create_repo_in_env(dummy_repo_config, dummy_git_repo):
|
||||||
|
repo = Repository(dummy_repo_config)
|
||||||
|
repo.create()
|
||||||
|
|
||||||
|
assert os.path.exists(
|
||||||
|
os.path.join(dummy_git_repo, C.HOOKS_WORKSPACE, repo.sha),
|
||||||
|
)
|
||||||
|
|
||||||
|
@pytest.mark.integration
|
||||||
|
def test_install_python_repo_in_env(python_pre_commit_git_repo, config_for_python_pre_commit_git_repo):
|
||||||
|
repo = Repository(config_for_python_pre_commit_git_repo)
|
||||||
|
# TODO: do we need create here?
|
||||||
|
repo.install()
|
||||||
|
|
||||||
|
assert os.path.exists(
|
||||||
|
os.path.join(
|
||||||
|
python_pre_commit_git_repo,
|
||||||
|
C.HOOKS_WORKSPACE,
|
||||||
|
repo.sha,
|
||||||
|
'py_env',
|
||||||
|
),
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue