function LdapAuthorizationOg1Tests::testFlags in Lightweight Directory Access Protocol (LDAP) 8.2
authorization configuration flags tests clumped together
File
- ldap_authorization/
tests/ Og1Tests.test, line 296
Class
Code
function testFlags() {
$sid = 'activedirectory1';
$this
->prepTestData(LDAP_TEST_LDAP_NAME, array(
$sid,
), 'provisionToDrupal', 'default', 'og_group15');
$og_group_consumer = ldap_authorization_get_consumers('og_group', TRUE, TRUE);
list($og_gryffindor_group, $og_gryffindor_node) = ldap_authorization_og1_get_group('gryffindor', 'group_name');
list($og_students_group, $og_students_node) = ldap_authorization_og1_get_group('students', 'group_name');
list($og_faculty_group, $og_faculty_node) = ldap_authorization_og1_get_group('faculty', 'group_name');
list($og_users_group, $og_users_node) = ldap_authorization_og1_get_group('users', 'group_name');
list($og_slytherin_group, $og_slytherin_node) = ldap_authorization_og1_get_group('slytherin', 'group_name');
$anonymous_rid = ldap_authorization_og_rid_from_role_name(OG_ANONYMOUS_ROLE);
$member_rid = ldap_authorization_og_rid_from_role_name(OG_AUTHENTICATED_ROLE);
$admin_rid = ldap_authorization_og_rid_from_role_name(OG_ADMINISTRATOR_ROLE);
$dungeon_master_rid = ldap_authorization_og_rid_from_role_name('dungeon-master');
$time_keeper = ldap_authorization_og_rid_from_role_name('time-keeper');
$students_membership_consumer_id = $og_students_group->gid . '-' . $member_rid;
$gryffindor_membership_consumer_id = $og_gryffindor_group->gid . '-' . $member_rid;
/**
* LDAP_authorz.Flags.status=0: Disable ldap_authorization_drupal_role configuration and make sure no authorizations performed
*/
list($props_set_display, $props_set_correctly) = $this
->checkConsumerConfSetup('og_group15');
$this
->assertTrue($props_set_correctly, 'Authorization Configuration set correctly in test setup', 'LDAP_authorz.Flags.setup.0');
if (!$props_set_correctly) {
debug('LDAP_authorz.Flags.setup.0 properties not set correctly');
debug($props_set_display);
}
$test_id = 'LDAP_authorz.Flags.status.0';
$this->consumerAdminConf['og_group']->useFirstAttrAsGroupId = 0;
$this->consumerAdminConf['og_group']->status = 0;
$this->consumerAdminConf['og_group']
->save();
$og_group_consumer = ldap_authorization_get_consumer_object('og_group');
$hpotter = $this
->deleteAndRecreateUser('hpotter');
list($new_authorizations, $notifications) = ldap_authorizations_user_authorizations($hpotter, 'test_query', 'og_group');
// just see if the correct ones are derived.
$groups1 = $new_authorizations['og_group'];
$this
->assertTrue(count($new_authorizations['og_group']) == 0, 'disabled consumer configuration disallows authorizations.', $test_id);
$test_id = 'LDAP_authorz.Flags.status.1';
$this->consumerAdminConf['og_group']->status = 1;
$this->consumerAdminConf['og_group']
->save();
$og_group_consumer = ldap_authorization_get_consumer_object('og_group');
list($new_authorizations, $notifications) = ldap_authorizations_user_authorizations($hpotter, 'test_query', 'og_group');
// just see if the correct ones are derived.
$correct_groups = !empty($new_authorizations['og_group'][$students_membership_consumer_id]) && !empty($new_authorizations['og_group'][$gryffindor_membership_consumer_id]);
$this
->assertTrue($correct_groups, 'enabled consumer configuration allows authorizations.', $test_id);
if (!$correct_groups) {
debug($test_id . "new_authorizations {$gryffindor_membership_consumer_id} and {$students_membership_consumer_id} not found in:");
debug($new_authorizations['og_group']);
debug($notifications);
}
}