From 545c00aa26652e5b2b3888793f99ebb5afd43f00 Mon Sep 17 00:00:00 2001 From: Sitaram Chamarty Date: Tue, 20 Mar 2012 08:51:23 +0530 Subject: [PATCH] perms with groups test --- t/perms-groups.t | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 t/perms-groups.t diff --git a/t/perms-groups.t b/t/perms-groups.t new file mode 100755 index 0000000..1681d33 --- /dev/null +++ b/t/perms-groups.t @@ -0,0 +1,81 @@ +#!/usr/bin/perl +use strict; +use warnings; + +# this is hardcoded; change it if needed +use lib "src"; +use Gitolite::Test; + +# assigning roles to groups instead of users +# ---------------------------------------------------------------------- + +try "plan 31"; + +try "DEF POK = !/DENIED/; !/failed to push/"; + +confreset; confadd ' + @leads = u1 u2 + @devs = u1 u2 u3 u4 + + @gbar = bar/CREATOR/..* + repo @gbar + C = @leads + RW+ = CREATOR + RW = WRITERS + R = READERS +'; + +try "ADMIN_PUSH set1; !/FATAL/" or die text(); + +try " + + # u1 auto-creates a repo + glt ls-remote u1 file:///bar/u1/try1 + /Initialized empty Git repository in .*/bar/u1/try1.git// + # default permissions for u2 and u4 + glt info u1 -p -lc + /R W *\tbar/u1/try1\tu1/ + glt info u2 -p -lc + !/R W *\tbar/u1/try1\tu1/ + glt info u4 -p -lc + !/R W *\tbar/u1/try1\tu1/ + + # \@leads can RW try1 + echo WRITERS \@leads | glt perms u1 bar/u1/try1; ok + glt info u1 -p -lc + /R W *\tbar/u1/try1\tu1/ + glt info u2 -p -lc + /R W *\tbar/u1/try1\tu1/ + glt info u4 -p -lc + !/R W *\tbar/u1/try1\tu1/ + + # \@devs can R try1 + echo READERS \@devs | glt perms u1 bar/u1/try1; ok + glt perms u1 -l bar/u1/try1 + /READERS \@devs/ + !/WRITERS \@leads/ + + glt info u1 -p -lc + /R W *\tbar/u1/try1\tu1/ + + glt info u2 -p -lc + !/R W *\tbar/u1/try1\tu1/ + /R *\tbar/u1/try1\tu1/ + + glt info u4 -p -lc + !/R W *\tbar/u1/try1\tu1/ + /R *\tbar/u1/try1\tu1/ + +# combo of previous 2 + /usr/bin/printf 'READERS \@devs\\nWRITERS \@leads\\n' | glt perms u1 bar/u1/try1; ok + glt perms u1 -l bar/u1/try1 + /READERS \@devs/ + /WRITERS \@leads/ + glt info u1 -p -lc + /R W *\tbar/u1/try1\tu1/ + glt info u2 -p -lc + /R W *\tbar/u1/try1\tu1/ + glt info u4 -p -lc + !/R W *\tbar/u1/try1\tu1/ + /R *\tbar/u1/try1\tu1/ +";