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')