diff options
author | Tommi Virtanen <tv@eagain.net> | 2007-05-30 13:57:31 +0300 |
---|---|---|
committer | Tommi Virtanen <tv@eagain.net> | 2007-06-04 14:16:26 +0300 |
commit | bd1ee4fc013f169f1c052dc763c3e9ed602502c9 (patch) | |
tree | 04e054b5fe52efb1e801c4098d44bcc9359433d0 /gitosis/test/test_group.py | |
download | gitosis-dakkar-bd1ee4fc013f169f1c052dc763c3e9ed602502c9.tar.gz gitosis-dakkar-bd1ee4fc013f169f1c052dc763c3e9ed602502c9.tar.bz2 gitosis-dakkar-bd1ee4fc013f169f1c052dc763c3e9ed602502c9.zip |
Initial import.
Diffstat (limited to 'gitosis/test/test_group.py')
-rw-r--r-- | gitosis/test/test_group.py | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/gitosis/test/test_group.py b/gitosis/test/test_group.py new file mode 100644 index 0000000..c282661 --- /dev/null +++ b/gitosis/test/test_group.py @@ -0,0 +1,125 @@ +from nose.tools import eq_ as eq, assert_raises + +from ConfigParser import RawConfigParser + +from gitosis import group + +def test_no_emptyConfig(): + cfg = RawConfigParser() + gen = group.getMembership(config=cfg, user='jdoe') + assert_raises(StopIteration, gen.next) + +def test_no_emptyGroup(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + gen = group.getMembership(config=cfg, user='jdoe') + assert_raises(StopIteration, gen.next) + +def test_no_notListed(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'wsmith') + gen = group.getMembership(config=cfg, user='jdoe') + assert_raises(StopIteration, gen.next) + +def test_yes_simple(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'jdoe') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_leading(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'jdoe wsmith') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_trailing(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'wsmith jdoe') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_middle(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'wsmith jdoe danny') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_recurse_one(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'wsmith @smackers') + cfg.add_section('group smackers') + cfg.set('group smackers', 'members', 'danny jdoe') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'smackers') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_recurse_one_ordering(): + cfg = RawConfigParser() + cfg.add_section('group smackers') + cfg.set('group smackers', 'members', 'danny jdoe') + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'wsmith @smackers') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'smackers') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_recurse_three(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', 'wsmith @smackers') + cfg.add_section('group smackers') + cfg.set('group smackers', 'members', 'danny @snackers') + cfg.add_section('group snackers') + cfg.set('group snackers', 'members', '@whackers foo') + cfg.add_section('group whackers') + cfg.set('group whackers', 'members', 'jdoe') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'whackers') + eq(gen.next(), 'snackers') + eq(gen.next(), 'smackers') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_recurse_junk(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', '@notexist @smackers') + cfg.add_section('group smackers') + cfg.set('group smackers', 'members', 'jdoe') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'smackers') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_yes_recurse_loop(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', '@smackers') + cfg.add_section('group smackers') + cfg.set('group smackers', 'members', '@hackers jdoe') + gen = group.getMembership(config=cfg, user='jdoe') + eq(gen.next(), 'smackers') + eq(gen.next(), 'hackers') + assert_raises(StopIteration, gen.next) + +def test_no_recurse_loop(): + cfg = RawConfigParser() + cfg.add_section('group hackers') + cfg.set('group hackers', 'members', '@smackers') + cfg.add_section('group smackers') + cfg.set('group smackers', 'members', '@hackers') + gen = group.getMembership(config=cfg, user='jdoe') + assert_raises(StopIteration, gen.next) |