mirror of
https://github.com/balkian/pre-commit-hooks.git
synced 2025-09-02 02:52:20 +00:00
First commit
This commit is contained in:
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
64
tests/test_branchversion.py
Normal file
64
tests/test_branchversion.py
Normal file
@@ -0,0 +1,64 @@
|
||||
"""
|
||||
Tests for `branchversion` module.
|
||||
"""
|
||||
import pytest
|
||||
import os
|
||||
import shutil
|
||||
import unittest
|
||||
from contextlib import contextmanager
|
||||
from subprocess import check_output
|
||||
from balkian_pre_commit import branchversion
|
||||
|
||||
|
||||
TEMP_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)),
|
||||
'test-precommit')
|
||||
|
||||
|
||||
@contextmanager
|
||||
def cd(newdir):
|
||||
prevdir = os.getcwd()
|
||||
os.chdir(os.path.expanduser(newdir))
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
os.chdir(prevdir)
|
||||
|
||||
|
||||
class TestBalkian_pre_commit(unittest.TestCase):
|
||||
|
||||
def commit_version(self, version, branch='master'):
|
||||
with cd(TEMP_DIR):
|
||||
check_output(['git', 'checkout', '-B', branch])
|
||||
with open('VERSION', 'w') as f:
|
||||
f.write(version)
|
||||
check_output(['git', 'add', 'VERSION'])
|
||||
check_output(['git', 'commit', '-am', 'Committing to branch {}'.format(branch)])
|
||||
|
||||
def initRepo(self):
|
||||
self.tearDown()
|
||||
os.makedirs(TEMP_DIR)
|
||||
check_output(['git', 'init', TEMP_DIR])
|
||||
with cd(TEMP_DIR):
|
||||
with open('README.md', 'w') as f:
|
||||
f.write('Hello')
|
||||
check_output(['git', 'add', '.'])
|
||||
check_output(['git', 'commit', '-am', 'First commit'])
|
||||
|
||||
def setUp(self):
|
||||
self.initRepo()
|
||||
|
||||
def tearDown(self):
|
||||
if os.path.isdir(TEMP_DIR):
|
||||
shutil.rmtree(TEMP_DIR)
|
||||
|
||||
def test_success(self):
|
||||
self.initRepo()
|
||||
with cd(TEMP_DIR):
|
||||
self.commit_version('0.1.0', 'master')
|
||||
assert branchversion.main(['VERSION',])==0
|
||||
|
||||
def test_fail(self):
|
||||
self.initRepo()
|
||||
with cd(TEMP_DIR):
|
||||
self.commit_version('0.1.0-pre.4', 'master')
|
||||
assert branchversion.main(['VERSION',])==1
|
Reference in New Issue
Block a user