diff options
Diffstat (limited to 'gitosis/test/test_util.py')
-rw-r--r-- | gitosis/test/test_util.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gitosis/test/test_util.py b/gitosis/test/test_util.py new file mode 100644 index 0000000..c53f76c --- /dev/null +++ b/gitosis/test/test_util.py @@ -0,0 +1,65 @@ +from nose.tools import eq_ as eq, assert_raises + +import os +import errno + +from ConfigParser import RawConfigParser + +from gitosis import util + +# Nose interferes with this test case, and 'except' block inside _sysfunc does +# not recieve the error. +#def test_sysfunc_raise_ignore(): +# def foo(): +# os.mkdir('/does/not/exist/anywhere') +# util._sysfunc(foo, [errno.EEXIST]) + +def test_sysfunc_raise_catch(): + def foo(): + raise OSError(errno.EEXIST) + assert_raises(OSError, util._sysfunc, foo, [errno.ENOENT]) + +def test_getRepositoryDir_cfg_missing(): + cfg = RawConfigParser() + d = util.getRepositoryDir(cfg) + eq(d, os.path.expanduser('~/repositories')) + +def test_getRepositoryDir_cfg_empty(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'repositories', '') + d = util.getRepositoryDir(cfg) + eq(d, os.path.expanduser('~/')) + +def test_getRepositoryDir_cfg_relative(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'repositories', 'foobar') + d = util.getRepositoryDir(cfg) + eq(d, os.path.expanduser('~/foobar')) + +def test_getRepositoryDir_cfg_absolute(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'repositories', '/var/gitroot') + d = util.getRepositoryDir(cfg) + eq(d, '/var/gitroot') + +def test_getGeneratedFilesDir_cfg_missing(): + cfg = RawConfigParser() + d = util.getGeneratedFilesDir(cfg) + eq(d, os.path.expanduser('~/gitosis')) + +def test_getGeneratedFilesDir_cfg_empty(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'generate-files-in', '') + d = util.getGeneratedFilesDir(cfg) + eq(d, '') + +def test_getGeneratedFilesDir_cfg_set(): + cfg = RawConfigParser() + cfg.add_section('gitosis') + cfg.set('gitosis', 'generate-files-in', 'foobar') + d = util.getGeneratedFilesDir(cfg) + eq(d, 'foobar') |