new tests: t55 and t56 for repo config with wildrepos
This commit is contained in:
parent
ad64f99522
commit
3172c67dbe
126
t/t55-repo-configs-wild-without-CREATOR
Normal file
126
t/t55-repo-configs-wild-without-CREATOR
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
# vim: syn=sh:
|
||||||
|
for gcw in 0 1
|
||||||
|
do
|
||||||
|
cd $TESTDIR
|
||||||
|
$TESTDIR/rollback || die "rollback failed"
|
||||||
|
|
||||||
|
name INTERNAL
|
||||||
|
editrc GL_WILDREPOS 1
|
||||||
|
echo "\$GL_GITCONFIG_WILD = $gcw;" | addrc
|
||||||
|
|
||||||
|
# ----------
|
||||||
|
|
||||||
|
name "fail to set foo.bar"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar = baz
|
||||||
|
" | ugc
|
||||||
|
expect "remote: git config foo.bar not allowed"
|
||||||
|
|
||||||
|
name "update rc file to allow foo.*"
|
||||||
|
catrc
|
||||||
|
cp ~/1 ~/junk
|
||||||
|
perl -pi -e 's/GL_GITCONFIG_KEYS = ""/GL_GITCONFIG_KEYS = "foo\\\\..*"/' ~/junk
|
||||||
|
cat ~/junk | runremote dd of=.gitolite.rc
|
||||||
|
catrc
|
||||||
|
expect "GL_GITCONFIG_KEYS.*foo"
|
||||||
|
|
||||||
|
name "ok to set foo.bar"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar = baz
|
||||||
|
" | ugc -r
|
||||||
|
[ "$gcw" = "0" ] && expect "remote: git config set for bar/..\* but \$GL_GITCONFIG_WILD not set"
|
||||||
|
[ "$gcw" = "1" ] && notexpect "remote: git config set for bar/..\* but \$GL_GITCONFIG_WILD not set"
|
||||||
|
notexpect "git config.*not allowed"
|
||||||
|
expect_push_ok "master -> master"
|
||||||
|
|
||||||
|
[ "$gcw" = "0" ] && continue # the rest of these tests don't make sense now
|
||||||
|
|
||||||
|
name "fail to set foobar.baz"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar = baz
|
||||||
|
config foobar.baz = ooka
|
||||||
|
" | ugc -r
|
||||||
|
expect "remote: git config foobar.baz not allowed"
|
||||||
|
|
||||||
|
name "u1 create bar/try1"
|
||||||
|
runlocal git ls-remote u1:bar/try1
|
||||||
|
expect "Initialized empty Git repository in /home/gitolite-test/repositories/bar/try1.git/"
|
||||||
|
|
||||||
|
name "check u1 has foo.bar"
|
||||||
|
runremote cat repositories/bar/try1.git/config
|
||||||
|
expect '^.foo'
|
||||||
|
expect 'bar = baz'
|
||||||
|
|
||||||
|
name "delete foo.bar"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar =
|
||||||
|
" | ugc -r
|
||||||
|
expect_push_ok "master -> master"
|
||||||
|
|
||||||
|
name "check u1 doesnt have foo.bar"
|
||||||
|
runremote cat repositories/bar/try1.git/config
|
||||||
|
expect '^.foo' # git leaves the section header behind
|
||||||
|
notexpect 'bar = baz'
|
||||||
|
|
||||||
|
name "u2 create bar/try2"
|
||||||
|
runlocal git ls-remote u2:bar/try2
|
||||||
|
expect "Initialized empty Git repository in /home/gitolite-test/repositories/bar/try2.git/"
|
||||||
|
|
||||||
|
name "check u2 doesnt have foo.bar"
|
||||||
|
runremote cat repositories/bar/try2.git/config
|
||||||
|
notexpect '^.foo' # but not here, since this repo never had the key at all
|
||||||
|
notexpect 'bar = baz'
|
||||||
|
|
||||||
|
name "add foo.frob retroactively"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.frob = nitz
|
||||||
|
" | ugc -r
|
||||||
|
expect_push_ok "master -> master"
|
||||||
|
|
||||||
|
name "check u1 has foo.frob"
|
||||||
|
runremote cat repositories/bar/try1.git/config
|
||||||
|
expect '^.foo'
|
||||||
|
expect 'frob = nitz'
|
||||||
|
|
||||||
|
name "check u2 has foo.frob"
|
||||||
|
runremote cat repositories/bar/try2.git/config
|
||||||
|
expect '^.foo'
|
||||||
|
expect 'frob = nitz'
|
||||||
|
|
||||||
|
name INTERNAL
|
||||||
|
done
|
126
t/t56-repo-configs-wild-with-CREATOR
Normal file
126
t/t56-repo-configs-wild-with-CREATOR
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
# vim: syn=sh:
|
||||||
|
for gcw in 0 1
|
||||||
|
do
|
||||||
|
cd $TESTDIR
|
||||||
|
$TESTDIR/rollback || die "rollback failed"
|
||||||
|
|
||||||
|
name INTERNAL
|
||||||
|
editrc GL_WILDREPOS 1
|
||||||
|
echo "\$GL_GITCONFIG_WILD = $gcw;" | addrc
|
||||||
|
|
||||||
|
# ----------
|
||||||
|
|
||||||
|
name "fail to set foo.bar"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/CREATOR/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar = baz
|
||||||
|
" | ugc
|
||||||
|
expect "remote: git config foo.bar not allowed"
|
||||||
|
|
||||||
|
name "update rc file to allow foo.*"
|
||||||
|
catrc
|
||||||
|
cp ~/1 ~/junk
|
||||||
|
perl -pi -e 's/GL_GITCONFIG_KEYS = ""/GL_GITCONFIG_KEYS = "foo\\\\..*"/' ~/junk
|
||||||
|
cat ~/junk | runremote dd of=.gitolite.rc
|
||||||
|
catrc
|
||||||
|
expect "GL_GITCONFIG_KEYS.*foo"
|
||||||
|
|
||||||
|
name "ok to set foo.bar"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/CREATOR/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar = baz
|
||||||
|
" | ugc -r
|
||||||
|
[ "$gcw" = "0" ] && expect "remote: git config set for bar/\$creator/..\* but \$GL_GITCONFIG_WILD not set"
|
||||||
|
[ "$gcw" = "1" ] && notexpect "remote: git config set for bar/\$creator/..\* but \$GL_GITCONFIG_WILD not set"
|
||||||
|
notexpect "git config.*not allowed"
|
||||||
|
expect_push_ok "master -> master"
|
||||||
|
|
||||||
|
[ "$gcw" = "0" ] && continue # the rest of these tests don't make sense now
|
||||||
|
|
||||||
|
name "fail to set foobar.baz"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/CREATOR/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar = baz
|
||||||
|
config foobar.baz = ooka
|
||||||
|
" | ugc -r
|
||||||
|
expect "remote: git config foobar.baz not allowed"
|
||||||
|
|
||||||
|
name "u1 create bar/u1/try1"
|
||||||
|
runlocal git ls-remote u1:bar/u1/try1
|
||||||
|
expect "Initialized empty Git repository in /home/gitolite-test/repositories/bar/u1/try1.git/"
|
||||||
|
|
||||||
|
name "check u1 has foo.bar"
|
||||||
|
runremote cat repositories/bar/u1/try1.git/config
|
||||||
|
expect '^.foo'
|
||||||
|
expect 'bar = baz'
|
||||||
|
|
||||||
|
name "delete foo.bar"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/CREATOR/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.bar =
|
||||||
|
" | ugc -r
|
||||||
|
expect_push_ok "master -> master"
|
||||||
|
|
||||||
|
name "check u1 doesnt have foo.bar"
|
||||||
|
runremote cat repositories/bar/u1/try1.git/config
|
||||||
|
expect '^.foo' # git leaves the section header behind
|
||||||
|
notexpect 'bar = baz'
|
||||||
|
|
||||||
|
name "u2 create bar/u2/try2"
|
||||||
|
runlocal git ls-remote u2:bar/u2/try2
|
||||||
|
expect "Initialized empty Git repository in /home/gitolite-test/repositories/bar/u2/try2.git/"
|
||||||
|
|
||||||
|
name "check u2 doesnt have foo.bar"
|
||||||
|
runremote cat repositories/bar/u2/try2.git/config
|
||||||
|
notexpect '^.foo' # but not here, since this repo never had the key at all
|
||||||
|
notexpect 'bar = baz'
|
||||||
|
|
||||||
|
name "add foo.frob retroactively"
|
||||||
|
echo "
|
||||||
|
@leads = u1 u2
|
||||||
|
@devs = u1 u2 u3 u4
|
||||||
|
|
||||||
|
repo bar/CREATOR/..*
|
||||||
|
C = @leads
|
||||||
|
RW+ = CREATOR
|
||||||
|
RW = @leads
|
||||||
|
config foo.frob = nitz
|
||||||
|
" | ugc -r
|
||||||
|
expect_push_ok "master -> master"
|
||||||
|
|
||||||
|
name "check u1 has foo.frob"
|
||||||
|
runremote cat repositories/bar/u1/try1.git/config
|
||||||
|
expect '^.foo'
|
||||||
|
expect 'frob = nitz'
|
||||||
|
|
||||||
|
name "check u2 has foo.frob"
|
||||||
|
runremote cat repositories/bar/u2/try2.git/config
|
||||||
|
expect '^.foo'
|
||||||
|
expect 'frob = nitz'
|
||||||
|
|
||||||
|
name INTERNAL
|
||||||
|
done
|
Loading…
Reference in a new issue