from nose.tools import eq_ as eq, assert_raises
import os
import errno
from ConfigParser import RawConfigParser
from gitosis import util
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')