Files
pre-commit/tests/commands_test.py

38 lines
1.1 KiB
Python

import os
import os.path
import pkg_resources
import stat
from pre_commit.commands import install
from pre_commit.commands import uninstall
from pre_commit.runner import Runner
def test_install_pre_commit(empty_git_dir):
runner = Runner(empty_git_dir)
ret = install(runner)
assert ret == 0
assert os.path.exists(runner.pre_commit_path)
pre_commit_contents = open(runner.pre_commit_path).read()
pre_commit_sh = pkg_resources.resource_filename('pre_commit', 'resources/pre-commit.sh')
expected_contents = 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)
def test_uninstall_pre_commit_does_not_blow_up_when_not_there(empty_git_dir):
runner = Runner(empty_git_dir)
ret = uninstall(runner)
assert ret == 0
def test_uninstall(empty_git_dir):
runner = Runner(empty_git_dir)
assert not os.path.exists(runner.pre_commit_path)
install(runner)
assert os.path.exists(runner.pre_commit_path)
uninstall(runner)
assert not os.path.exists(runner.pre_commit_path)