WebGUI::Test::Maker::Permission will now use usernames instead of userIds in comments
if they are available. Move the getLanguage test out of the SKIP block dependent on install the PigLatin language pack. Update Maker users with usernames in Asset.t Add tests for assetAddPrivileges. These tests currently cause the Turn On Admin checks to fail. A bug has been filed for this, and the tests may be rewritten based on the resolution of the bug.
This commit is contained in:
parent
0cfe03726a
commit
ed177c614e
3 changed files with 38 additions and 13 deletions
|
|
@ -35,27 +35,37 @@ my $rootAsset = WebGUI::Asset->getRoot($session);
|
|||
my %testUsers = ();
|
||||
##Just a regular user
|
||||
$testUsers{'regular user'} = WebGUI::User->new($session, 'new');
|
||||
$testUsers{'regular user'}->username('regular user');
|
||||
##Users in group 12 can add Assets
|
||||
$testUsers{'canAdd turnOnAdmin'} = WebGUI::User->new($session, 'new');
|
||||
$testUsers{'canAdd turnOnAdmin'}->addToGroups(['12']);
|
||||
$testUsers{'canAdd turnOnAdmin'}->username('Turn On Admin user');
|
||||
|
||||
##Just a user for owning assets
|
||||
$testUsers{'owner'} = WebGUI::User->new($session, 'new');
|
||||
$testUsers{'owner'}->username('Asset Owner');
|
||||
|
||||
##Test Groups
|
||||
my %testGroups = ();
|
||||
##A group and user for groupIdEdit
|
||||
$testGroups{'canEdit asset'} = WebGUI::Group->new($session, 'new');
|
||||
|
||||
$testUsers{'canEdit group user'} = WebGUI::User->new($session, 'new');
|
||||
$testUsers{'canEdit group user'}->addToGroups([$testGroups{'canEdit asset'}->getId]);
|
||||
$testUsers{'canEdit group user'}->username('Edit Group User');
|
||||
|
||||
##A group and user for groupIdEdit
|
||||
$testGroups{'canAdd asset'} = WebGUI::Group->new($session, 'new');
|
||||
$testUsers{'canAdd group user'} = WebGUI::User->new($session, 'new');
|
||||
$testUsers{'canAdd group user'}->addToGroups([$testGroups{'canAdd asset'}->getId]);
|
||||
$testUsers{'canEdit group user'}->username('Can Add Group User');
|
||||
|
||||
my $canAddMaker = WebGUI::Test::Maker::Permission->new();
|
||||
$canAddMaker->prepare({
|
||||
'className' => 'WebGUI::Asset',
|
||||
'session' => $session,
|
||||
'method' => 'canAdd',
|
||||
'pass' => [3, $testUsers{'canAdd turnOnAdmin'}, ],
|
||||
'fail' => [1, $testUsers{'regular user'}, ],
|
||||
'pass' => [3, $testUsers{'canAdd turnOnAdmin'}, $testUsers{'canAdd group user'} ],
|
||||
'fail' => [1, $testUsers{'regular user'}, ],
|
||||
});
|
||||
|
||||
my $properties;
|
||||
|
|
@ -381,8 +391,13 @@ TODO: {
|
|||
#
|
||||
################################################################
|
||||
|
||||
my $origAssetAddPrivileges = $session->config->get('assetAddPrivilege');
|
||||
$session->config->set('assetAddPrivilege', { 'WebGUI::Asset' => $testGroups{'canAdd asset'}->getId } );
|
||||
|
||||
$canAddMaker->run;
|
||||
|
||||
$session->config->set('assetAddPrivilege', $origAssetAddPrivileges);
|
||||
|
||||
################################################################
|
||||
#
|
||||
# canEdit
|
||||
|
|
@ -395,6 +410,7 @@ END: {
|
|||
$session->config->set('extrasURL', $origExtras);
|
||||
$session->config->set('uploadsURL', $origUploads);
|
||||
$session->setting->set('urlExtension', $origUrlExtension);
|
||||
$session->config->set('assetAddPrivilege', $origAssetAddPrivileges);
|
||||
foreach my $vTag ($versionTag, $versionTag2) {
|
||||
$vTag->rollback;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,10 +67,10 @@ SKIP: {
|
|||
'Language check: existing key returns native language key'
|
||||
);
|
||||
|
||||
is($i18n->getLanguage('English', 'label'), 'English', 'getLanguage, specific property');
|
||||
|
||||
}
|
||||
|
||||
is($i18n->getLanguage('English', 'label'), 'English', 'getLanguage, specific property');
|
||||
|
||||
}
|
||||
|
||||
sub installPigLatin {
|
||||
|
|
|
|||
|
|
@ -122,12 +122,15 @@ The permissions method to test
|
|||
=item pass
|
||||
|
||||
An array reference of userIds or WebGUI::User objects that should pass the
|
||||
permissions test.
|
||||
permissions test. If each user has a username, it will be used in the
|
||||
test comment output instead of the userId.
|
||||
|
||||
=item fail
|
||||
|
||||
An array reference of userIds or WebGUI::User objects that should fail the
|
||||
permissions test.
|
||||
permissions test. If each user has a username, it will be used in the
|
||||
test comment output instead of the userId.
|
||||
|
||||
|
||||
=back
|
||||
|
||||
|
|
@ -209,14 +212,17 @@ sub run {
|
|||
|
||||
# Test the default session user
|
||||
my $oldUser = $session->user;
|
||||
$session->user( { userId => $userId } );
|
||||
ok( $o->$m(@args), "userId $userId passes $m check using default user for " . $comment );
|
||||
$session->user( { user => $oldUser });
|
||||
$session->user( { userId => $userId } );
|
||||
my $role = $session->user->username
|
||||
? "user ".$session->user->username
|
||||
: "userId ".$userId;
|
||||
ok( $o->$m(@args), "$role passes $m check using default user for " . $comment );
|
||||
$session->user( { user => $oldUser } );
|
||||
|
||||
# Test the specified userId
|
||||
push @args, $userId;
|
||||
# Test the userId parameter
|
||||
ok( $o->$m(@args), "userId $userId passes $m check for " . $comment );
|
||||
ok( $o->$m(@args), "$role passes $m check for " . $comment );
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -227,12 +233,15 @@ sub run {
|
|||
# Test the default session user
|
||||
my $oldUser = $session->user;
|
||||
$session->user( { userId => $userId } );
|
||||
ok( !($o->$m(@args)), "userId $userId fails $m check using default user for " . $comment );
|
||||
my $role = $session->user->username
|
||||
? "user ".$session->user->username
|
||||
: "userId ".$userId;
|
||||
ok( !($o->$m(@args)), "$role fails $m check using default user for " . $comment );
|
||||
$session->user( { user => $oldUser });
|
||||
|
||||
# Test the userId parameter
|
||||
push @args, $userId;
|
||||
ok( !($o->$m(@args)), "userId $userId fails $m check for " . $comment );
|
||||
ok( !($o->$m(@args)), "$role fails $m check for " . $comment );
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue