CGI-Builder-Auth
view release on metacpan or search on metacpan
t/06group.t view on Meta::CPAN
# Add group
#--------------------------------------------------------------------
$group = $group_factory->add('testgroup');
isa_ok($group, 'CGI::Builder::Auth::Group', '$group');
ok($group_factory->load(id => 'testgroup'), "load after create");
#--------------------------------------------------------------------
# Object Methods
#--------------------------------------------------------------------
# ok($group->exists, "exists as object method");
is($group->id, 'testgroup', "id");
#--------------------------------------------------------------------
# List with multiple groups
#--------------------------------------------------------------------
$group = $group_factory->add('mygroup');
@groups = $group_factory->list;
%groups = map { $_ => 1 } @groups;
ok(@groups, "list");
ok($groups{'testgroup'} && $groups{'mygroup'}, "group_list complete.");
#--------------------------------------------------------------------
# Membership
#--------------------------------------------------------------------
$user = $user_factory->add({ username => 'bob', password => '1'});
$user_factory->add({ username => 'carol', password => '1'});
ok($group->add_member('bob'), 'add_member as object method');
ok($group_factory->add_member('mygroup','carol'), 'add_member as factory method');
@users = $group->member_list;
%users = map { $_ => 1 } @users;
ok($users{'bob'} && $users{'carol'}, "member_list complete.");
ok($group->remove_member('bob'), 'remove_member as object method');
ok($group_factory->remove_member('mygroup','carol'), 'remove_member as factory method');
@users = $group->member_list;
ok(!$group->member_list, "removed members successfully");
#--------------------------------------------------------------------
# Add group that exists
#--------------------------------------------------------------------
$group = $group_factory->add('testgroup');
ok(!$group, "add fails when group exists");
#--------------------------------------------------------------------
# Delete
#--------------------------------------------------------------------
$group = $group_factory->load(id => 'testgroup');
ok($group->delete, "delete as object method");
ok($group_factory->load(id => 'mygroup')->delete, "delete 'in place'");
ok(!$group_factory->list, "groups deleted successfully");
$group = undef;
$group_factory = undef;
ok(!-f '.htgroup.lock', "Database unlocked when unused");
# vim:ft=perl:tw=80:
( run in 1.403 second using v1.01-cache-2.11-cpan-5a3173703d6 )