function LdapAuthorizationBasicTests::testSimpleStuff in Lightweight Directory Access Protocol (LDAP) 7
Same name and namespace in other branches
- 8.2 ldap_authorization/tests/BasicTests.test \LdapAuthorizationBasicTests::testSimpleStuff()
- 7.2 ldap_authorization/tests/BasicTests.test \LdapAuthorizationBasicTests::testSimpleStuff()
just make sure install succeeds. doesn't really need to be tested
File
- ldap_authorization/
tests/ BasicTests/ BasicTests.test, line 28
Class
Code
function testSimpleStuff() {
// TODO: Fix failing tests, excluding to make branch pass.
return;
$this->ldapTestId = $this->module_name . ': setup success';
// just to give warning if setup doesn't succeed. may want to take these out at some point.
$setup_success = module_exists('ldap_authentication') && module_exists('ldap_servers') && module_exists('ldap_authorization') && module_exists('ldap_authorization_drupal_role') && variable_get('ldap_simpletest', 0) == 1;
$this
->assertTrue($setup_success, ' ldap_authorizations setup successful', $this->ldapTestId);
$this->ldapTestId = $this->module_name . ': test for api functions';
// no need for prep for this.
$api_functions = array(
'ldap_authorization_get_consumer_object' => array(
1,
1,
),
'ldap_authorization_get_consumers' => array(
3,
0,
),
'ldap_authorizations_user_authorizations' => array(
4,
1,
),
);
foreach ($api_functions as $api_function_name => $param_count) {
$reflector = new ReflectionFunction($api_function_name);
$this
->assertTrue(function_exists($api_function_name) && $param_count[1] == $reflector
->getNumberOfRequiredParameters() && $param_count[0] == $reflector
->getNumberOfParameters(), ' api function ' . $api_function_name . ' parameters and required parameters count unchanged.', $this->ldapTestId);
}
$this->ldapTestId = $this->module_name . ': cron test';
$this
->assertTrue(drupal_cron_run(), t('Cron can run with ldap authorization enabled.'), $this->ldapTestId);
/**
* authorizations are tested in ldap_authorization.Derivations.test
*
* this is geared toward testing logon functionality
*/
$this->ldapTestId = 'BasicTests';
$this->serversData = 'BasicTests/ldap_servers.inc';
$this->authorizationData = 'BasicTests/ldap_authorization.simple.inc';
$this->authenticationData = 'BasicTests/ldap_authentication.inc';
$this->consumerType = 'drupal_role';
$this
->prepTestData();
// test for same role mapped multiple times: issue #1174332
$edit = array(
'name' => 'verykool',
'pass' => 'goodpwd',
);
$this
->drupalPost('user', $edit, t('Log in'));
$this
->assertText(t('Member for'), 'New Ldap user with good password authenticated.', $this->ldapTestId);
$this
->assertTrue($this->testFunctions
->ldapUserIsAuthmapped('verykool'), 'Ldap user properly authmapped.', $this->ldapTestId);
$verykool = user_load_by_name('verykool');
$correct_roles = in_array('content editors', array_values($verykool->roles)) && in_array('content approvers', array_values($verykool->roles));
if (!$correct_roles) {
debug('verykool roles');
debug($verykool->roles);
}
$this
->assertTrue($correct_roles, 'verykool granted 2 roles on actual logon "content editors" and "content approvers" drupal roles ', $this->ldapTestId . '.duplicate_entry');
$this
->drupalGet('user/logout');
/**
* test that exportables are supported. since exportables is just used for loading
* and saving the configuration,
*
* -- test auth conf loads correctly and conf is saved correctly when ctools enabled
* -- test auth conf loads correctly and conf is saved correctly when ctools not enabled
* -- @todo: test auth conf loads correctly from an enabled Features module
* -- @todo: its difficult to test generation of a feature module. ignore this as configurables in d8 will be different
*/
$ctools_originally_enabled = module_exists('ctools');
foreach (array(
'no_ctools',
'ctools',
) as $mode) {
// should add 'feature' instance to test feature
if ($mode == 'ctools') {
module_enable(array(
'ctools',
));
$label_text = "ctool enabled";
}
elseif ($mode == 'no_ctools') {
module_disable(array(
'ctools',
), TRUE);
$label_text = "ctools disabled";
}
// make small change and make sure additional rows are not created,
// change is saved, change is loaded, and numeric id is present.
// #1601270, #1468990, #1588854
$rows = db_query('select * from ldap_authorization')
->fetchAllAssoc('numeric_consumer_conf_id');
$initial_count = count(array_keys($rows));
$consumer_conf_admin = ldap_authorization_get_consumer_admin_object($this->consumerType);
$consumer_conf_admin->status = 0;
// $consumer_conf_admin->deriveFromDnAttr = "blah";
$consumer_conf_admin
->save();
$consumer_conf_admin = ldap_authorization_get_consumer_admin_object($this->consumerType);
$rows = db_query('select * from ldap_authorization')
->fetchAllAssoc('numeric_consumer_conf_id');
$second_count = count(array_keys($rows));
$this->ldapTestId = $this->module_name . ": {$label_text} save doesn't break record count";
$this
->assertTrue($initial_count == $second_count, t("ldap_authorization record count consistent with {$label_text}, intiial count = {$initial_count}, final count={$second_count}"), $this->ldapTestId);
$this->ldapTestId = $this->module_name . ": {$label_text} saves status correctly";
$this
->assertTrue($consumer_conf_admin->status === 0, t("ldap_authorization status saved correctly."), $this->ldapTestId);
$this->ldapTestId = $this->module_name . ": {$label_text} loads numericConsumerConfId correctly";
$this
->assertTrue($consumer_conf_admin->numericConsumerConfId > 0, t("ldap_authorization loaded numericConsumerConfId correctly.(" . $consumer_conf_admin->numericConsumerConfId . ")"), $this->ldapTestId);
$consumer_conf_admin->status = 1;
$consumer_conf_admin
->save();
$consumer_conf_admin = ldap_authorization_get_consumer_admin_object($this->consumerType);
}
if ($ctools_originally_enabled) {
module_enable(array(
'ctools',
));
}
else {
module_disable(array(
'ctools',
), TRUE);
}
}