pre-commit/tests/commands/install_test.py
2014-06-15 15:47:11 -07:00

28 lines
882 B
Python

from __future__ import absolute_import
from __future__ import unicode_literals
import io
import os
import os.path
import pkg_resources
import stat
from pre_commit.commands.install import install
from pre_commit.runner import Runner
from testing.fixtures import git_dir
def test_install_pre_commit(tmpdir_factory):
path = git_dir(tmpdir_factory)
runner = Runner(path)
ret = install(runner)
assert ret == 0
assert os.path.exists(runner.pre_commit_path)
pre_commit_contents = io.open(runner.pre_commit_path).read()
pre_commit_sh = pkg_resources.resource_filename(
'pre_commit', 'resources/pre-commit.sh',
)
expected_contents = io.open(pre_commit_sh).read()
assert pre_commit_contents == expected_contents
stat_result = os.stat(runner.pre_commit_path)
assert stat_result.st_mode & (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)