Mojolicious-Plugin-SetUserGroup

 view release on metacpan or  search on metacpan

t/register.t  view on Meta::CPAN

like(
	$log_buffer,
	qr/User "bad user name !!!!!" does not exist/,
	'plugin logs error on bad user at register'
);

$log_buffer = '';

eval {
	plugin 'SetUserGroup' => {
		user  => scalar getpwuid $>,
		group => 'bad group name !!!!!',
	};
};

$error = $@;
like(
	$error,
	qr/Group "bad group name !!!!!" does not exist/,
	'plugin croaks on bad user at register'
);

t/setcurrent.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More;
use Mojo::IOLoop;
use Mojo::Server::Daemon;
use POSIX qw(getuid getgid);

my $uid = getuid();
my $gid = getgid();
my $user = getpwuid $uid;
my $group = getgrgid $gid;

my $daemon = Mojo::Server::Daemon->new(listen => ['http://127.0.0.1'], silent => 1);
$daemon->app->plugin(SetUserGroup => {user => $user, group => $group});
$daemon->start;
my $failed = 1;
Mojo::IOLoop->timer(0.1 => sub { $failed = 0; Mojo::IOLoop->stop });
Mojo::IOLoop->start;
ok !$failed, 'Server has started';
cmp_ok getuid(), '==', $uid, 'User has not changed';

t/setfail.t  view on Meta::CPAN

use Test::More;
use Mojo::Asset::File;
use Mojo::IOLoop;
use Mojo::Server::Daemon;
use POSIX qw(getuid getgid geteuid);

plan skip_all => 'Non-root test' if geteuid() == 0;

my $uid = getuid();
my $gid = getgid();
my $user = getpwuid 0;
my $group = getgrgid 0;

plan skip_all => 'User 0 does not exist' unless defined $user;
plan skip_all => 'Group 0 does not exist' unless defined $group;

my $templog = Mojo::Asset::File->new;
$templog->handle; # setup temp file path
my $daemon = Mojo::Server::Daemon->new(listen => ['http://127.0.0.1'], silent => 1);
$daemon->app->log->path($templog->path);
$daemon->app->plugin(SetUserGroup => {user => $user, group => $group});

xt/author/setfail_prefork.t  view on Meta::CPAN

use Mojo::Asset::File;
use Mojo::IOLoop;
use Mojo::Server::Prefork;
use POSIX qw(getuid getgid geteuid :sys_wait_h);
use Time::HiRes 'usleep';

plan skip_all => 'Non-root test' if geteuid() == 0;

my $uid = getuid();
my $gid = getgid();
my $user = getpwuid 0;
my $group = getgrgid 0;

plan skip_all => 'User 0 does not exist' unless defined $user;
plan skip_all => 'Group 0 does not exist' unless defined $group;

my $templog = Mojo::Asset::File->new;
$templog->handle; # setup temp file path

defined(my $pid = fork) or die "Fork failed: $!";

xt/author/sudo_daemon.t  view on Meta::CPAN

use Mojo::IOLoop;
use Mojo::IOLoop::Server;
use Mojo::JSON 'j';
use Mojo::Server::Daemon;
use Mojo::UserAgent;
use POSIX qw(getuid getgid geteuid);
use Unix::Groups::FFI 'getgroups';

plan skip_all => 'TEST_RUN_SUDO=1' unless $ENV{TEST_RUN_SUDO};
if ((my $uid = geteuid()) != 0) {
	my $user = getpwuid $uid;
	my $gid = getgid();
	my $group = getgrgid $gid;
	my $groups = [getgroups()];
	$ENV{TEST_ORIGINAL_USER} = j {user => $user, group => $group, uid => $uid, gid => $gid, groups => $groups};
	my @args = ('sudo', '-nE', $^X);
	push @args, '-I', $_ for @INC;
	push @args, $0, @ARGV;
	exec @args;
}

xt/author/sudo_prefork.t  view on Meta::CPAN

use Mojo::IOLoop;
use Mojo::IOLoop::Server;
use Mojo::JSON 'j';
use Mojo::Server::Prefork;
use Mojo::UserAgent;
use POSIX qw(getuid getgid geteuid);
use Unix::Groups::FFI 'getgroups';

plan skip_all => 'TEST_RUN_SUDO=1' unless $ENV{TEST_RUN_SUDO};
if ((my $uid = geteuid()) != 0) {
	my $user = getpwuid $uid;
	my $gid = getgid();
	my $group = getgrgid $gid;
	my $groups = [getgroups()];
	$ENV{TEST_ORIGINAL_USER} = j {user => $user, group => $group, uid => $uid, gid => $gid, groups => $groups};
	my @args = ('sudo', '-nE', $^X);
	push @args, '-I', $_ for @INC;
	push @args, $0, @ARGV;
	exec @args;
}



( run in 0.284 second using v1.01-cache-2.11-cpan-8d75d55dd25 )