07cf7fedfe
...otherwise 'gitolite help' was getting too confusing, mixing up stuff that users should not be running directly (even on the server) ---- implementation notes: those who are worried about the '../triggers/' in various parts of the code here, remember you can only do that from a command line on the server. Remote users can only use commands that have been explicitly listed in the COMMANDS hash in the rc file. This means they can't even access other commands in the same directory as, say, the 'info' command, so a '../' is definitely not going to work.
58 lines
1.4 KiB
Perl
Executable file
58 lines
1.4 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
use strict;
|
|
use warnings;
|
|
|
|
# this is hardcoded; change it if needed
|
|
use lib "src";
|
|
use Gitolite::Common;
|
|
use Gitolite::Test;
|
|
|
|
# basic tests using ssh
|
|
# ----------------------------------------------------------------------
|
|
|
|
my $bd = `gitolite query-rc -n GL_BINDIR`;
|
|
my $h = $ENV{HOME};
|
|
my $ab = `gitolite query-rc -n GL_ADMIN_BASE`;
|
|
umask 0077;
|
|
|
|
try "
|
|
plan 26
|
|
|
|
# reset stuff
|
|
rm -f $h/.ssh/authorized_keys; ok or die 1
|
|
|
|
cp $bd/../t/keys/u[1-6]* $h/.ssh; ok or die 2
|
|
cp $bd/../t/keys/admin* $h/.ssh; ok or die 3
|
|
cp $bd/../t/keys/config $h/.ssh; ok or die 4
|
|
cat $h/.ssh/config
|
|
perl s/%USER/$ENV{USER}/
|
|
put $h/.ssh/config
|
|
|
|
mkdir $ab/keydir; ok or die 5
|
|
cp $bd/../t/keys/*.pub $ab/keydir; ok or die 6
|
|
";
|
|
|
|
system("gitolite ../triggers/post-compile/ssh-authkeys");
|
|
|
|
# basic tests
|
|
# ----------------------------------------------------------------------
|
|
|
|
confreset; confadd '
|
|
@g1 = u1
|
|
@g2 = u2
|
|
repo foo
|
|
RW = @g1 u3
|
|
R = @g2 u4
|
|
';
|
|
|
|
try "ADMIN_PUSH set3; !/FATAL/" or die text();
|
|
|
|
try "
|
|
ssh u1 info; ok; /R W \tfoo/
|
|
ssh u2 info; ok; /R \tfoo/
|
|
ssh u3 info; ok; /R W \tfoo/
|
|
ssh u4 info; ok; /R \tfoo/
|
|
ssh u5 info; ok; !/foo/
|
|
ssh u6 info; ok; !/foo/
|
|
"
|