Révision 59ae487e
Ajouté par Assos Assos il y a presque 7 ans
drupal7/sites/all/modules/ldap/ldap_user/tests/ldap_user.test | ||
---|---|---|
189 | 189 |
$array_diff = array_diff($user_edit, $desired_result); |
190 | 190 |
} |
191 | 191 |
//@todo need better diff, this will give false positives in most cases |
192 |
// debug('user_edit,desired_result,diff'); debug( array($user_edit, $desired_result, $array_diff)); |
|
193 | 192 |
$this->assertTrue(count($array_diff) == 0, t('ldapUserConf::entryToUserEdit retrieved correct property, field, and data values.'), $this->testId('ldapUserConf::entryToUserEdit')); |
194 | 193 |
if (count($array_diff) != 0) { |
195 | 194 |
debug('ldapUserConf::entryToUserEdit failed. resulting user edit array:'); debug($user_edit); debug('desired result:'); debug($desired_result); debug('array_diff:'); debug($array_diff); |
... | ... | |
212 | 211 |
foreach ($tests as $boolean_result => $attribute_tokens) { |
213 | 212 |
foreach ($attribute_tokens as $attribute_token) { |
214 | 213 |
$is_synched = $ldap_user_conf->isSynched($attribute_token, array($prov_event), LDAP_USER_PROV_DIRECTION_TO_DRUPAL_USER); |
215 |
// debug("is_synched_tests: is_synched=$is_synched, attribute_token=$attribute_token, prov_event=$prov_event"); |
|
216 | 214 |
if ((int)$is_synched !== (int)$boolean_result) { |
217 | 215 |
$fail = TRUE; |
218 | 216 |
$debug[$attribute_token] = "isSynched($attribute_token, array($prov_event), |
... | ... | |
250 | 248 |
$account->name = 'hpotter'; |
251 | 249 |
$params = array('ldap_context' => 'ldap_user_prov_to_drupal', 'direction' => LDAP_USER_PROV_DIRECTION_TO_DRUPAL_USER); |
252 | 250 |
list($ldap_entry, $error) = $ldap_user_conf->drupalUserToLdapEntry($account, 'activedirectory1', $params); |
253 |
// debug('ldap_entry'); debug($ldap_entry); |
|
254 | 251 |
|
255 | 252 |
$account = NULL; |
256 | 253 |
$user_edit = array('name' => 'hpotter'); |
... | ... | |
580 | 577 |
if ($field_name) { |
581 | 578 |
$token_attributes = array(); |
582 | 579 |
ldap_servers_token_extract_attributes($token_attributes, $test['mapping']['ldap_attr']); |
583 |
//debug('token_attributes'); debug($token_attributes); |
|
584 | 580 |
foreach ($token_attributes as $attr_name => $attr_parts ) { |
585 | 581 |
$this->testFunctions->setFakeServerUserAttribute( |
586 | 582 |
'activedirectory1', |
... | ... | |
595 | 591 |
|
596 | 592 |
$ldap_user_conf->save(); |
597 | 593 |
$ldap_user_conf = ldap_user_conf('admin', TRUE); |
598 |
// debug("ldap_user_conf in prep field_token=$field_token"); debug($ldap_user_conf->synchMapping); debug($ldap_user_conf->ldapUserSynchMappings); |
|
599 | 594 |
ldap_user_ldap_provision_semaphore(NULL, NULL, NULL, TRUE); |
600 | 595 |
ldap_servers_flush_server_cache(); |
601 | 596 |
|
... | ... | |
620 | 615 |
debug('field fail,' . $property_name); debug($user_entity->{$property_name}); debug($test['property_results'][0]); //debug($user_entity); |
621 | 616 |
} |
622 | 617 |
} |
623 |
else { |
|
624 |
// debug("property_name=$property_name not configured to provisionDrupalAccount on drupal user create for direction=$direction and prov_event=$prov_event"); |
|
625 |
} |
|
626 | 618 |
} |
627 | 619 |
if ($field_name) { |
628 |
// debug("property_name=$property_name, prov_event=$prov_event, direction=$direction, field_token=$field_token, sid=$sid, ldap_user_conf->ldapUserSynchMappings $direction - $sid"); debug($ldap_user_conf->ldapUserSynchMappings[$direction][$sid]); |
|
629 | 620 |
|
630 | 621 |
if (in_array($prov_event, $ldap_user_conf->ldapUserSynchMappings[$direction][$field_token]['prov_events'])) { // if intended to synch |
631 | 622 |
$field_success = isset($user_entity->{$field_name}[LANGUAGE_NONE][0]['value']) && |
... | ... | |
872 | 863 |
|
873 | 864 |
$ldap_user_conf->save(); |
874 | 865 |
$ldap_user_conf = ldap_user_conf('default', TRUE); |
875 |
// debug('ldap_user_conf after provisionToLdapEmailVerification setup'); debug($ldap_user_conf); |
|
876 | 866 |
|
877 | 867 |
variable_set('user_email_verification', TRUE); |
878 | 868 |
variable_set('user_register', USER_REGISTER_VISITORS); // or USER_REGISTER_ADMINISTRATORS_ONLY, USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL |
... | ... | |
1053 | 1043 |
$account_options = $drupal_form['basic_to_drupal']['orphanedDrupalAcctBehavior']['#options']; |
1054 | 1044 |
$cn_to_account = array(); |
1055 | 1045 |
$ldap_server = ldap_servers_get_servers('activedirectory1', NULL, TRUE, TRUE); |
1056 |
// debug("ldap_server"); debug(is_object($ldap_server)); |
|
1057 | 1046 |
|
1058 | 1047 |
foreach ($account_options as $account_option => $account_option_text) { |
1059 |
// debug("$account_option - $account_option_text"); |
|
1060 | 1048 |
$sids = array('activedirectory1'); |
1061 | 1049 |
$this->prepTestData('hogwarts', $sids, 'provisionToDrupal', 'default'); |
1062 | 1050 |
$ldap_user_conf->orphanedDrupalAcctBehavior = $account_option; |
... | ... | |
1070 | 1058 |
$last_clone_username= 'clone' . (LDAP_TEST_USER_ORPHAN_CLONE_COUNT - 1); |
1071 | 1059 |
for ($i = 0; $i < LDAP_TEST_USER_ORPHAN_CLONE_COUNT; $i++) { // 70 |
1072 | 1060 |
$name = "clone" . $i; |
1073 |
//debug("create clone $name, activedirectory1"); |
|
1074 | 1061 |
$account = $this->createLdapIdentifiedDrupalAccount( |
1075 | 1062 |
$ldap_user_conf, |
1076 | 1063 |
$name, |
1077 | 1064 |
'activedirectory1' |
1078 | 1065 |
); |
1079 | 1066 |
$cn_to_account[$name] = $account; |
1080 |
//debug("new account"); debug($account); |
|
1081 | 1067 |
} |
1082 |
// debug($cn_to_account['clone0']); |
|
1083 |
// debug($cn_to_account[$last_clone_username]); |
|
1084 | 1068 |
|
1085 | 1069 |
// delete 10 ldap entries |
1086 | 1070 |
// @FIXME: Wrapper for broken test. |
... | ... | |
1091 | 1075 |
$clone_last = user_load($clone_last_uid, TRUE); |
1092 | 1076 |
} |
1093 | 1077 |
|
1094 |
//debug("pre ldap delete, clone0 and cloneN $first_clone_username and $last_clone_username"); debug($clone_first);debug($clone_last); //debug($ldap_server->entries); |
|
1095 | 1078 |
$delete = LDAP_TEST_USER_ORPHAN_CLONE_COUNT - LDAP_TEST_USER_ORPHAN_CLONE_REMOVE_COUNT; |
1096 | 1079 |
for ($i = 0; $i < $delete; $i++) { |
1097 | 1080 |
$name = "clone" . $i; |
1098 | 1081 |
$account = $cn_to_account[$name]; |
1099 |
//debug("delete ldap entry: ". $account->ldap_user_current_dn[LANGUAGE_NONE][0]['value']); |
|
1100 |
// ?? is it possible the ldap delete hook is causing the drupal user to get populated with empty values? |
|
1082 |
// ?? is it possible the ldap delete hook is causing the drupal user to get populated with empty values? |
|
1101 | 1083 |
$ldap_server->delete($account->ldap_user_current_dn[LANGUAGE_NONE][0]['value']); |
1102 | 1084 |
} |
1103 | 1085 |
|
1104 | 1086 |
$clone_first = user_load($clone_first_uid, TRUE); |
1105 | 1087 |
$clone_last = user_load($clone_last_uid, TRUE); |
1106 |
//debug("post ldap delete and pre cron, clone0 and cloneN"); debug($clone_first->status);debug($clone_last->status);// debug($ldap_server->entries); |
|
1107 | 1088 |
drupal_cron_run(); |
1108 | 1089 |
$clone_first = user_load($clone_first_uid, TRUE); |
1109 | 1090 |
$clone_last = user_load($clone_last_uid, TRUE); |
1110 |
//debug("post cron, clone0 and cloneN"); debug($clone_first->status);debug($clone_last->status); //debug($ldap_server->entries); |
|
1111 | 1091 |
switch ($account_option) { |
1112 | 1092 |
|
1113 | 1093 |
case 'ldap_user_orphan_do_not_check': |
... | ... | |
1115 | 1095 |
for ($i = 0; $i < LDAP_TEST_USER_ORPHAN_CLONE_COUNT; $i++) { // 70 |
1116 | 1096 |
$name = "clone" . $i; |
1117 | 1097 |
$test_uids[] = @$cn_to_account[$name]->uid; |
1118 |
|
|
1119 |
//debug($account); |
|
1120 | 1098 |
} |
1121 | 1099 |
$success = TRUE; |
1122 | 1100 |
$accounts = user_load_multiple($test_uids); |
1123 |
// debug("accounts for $test_id"); debug($accounts); |
|
1124 | 1101 |
foreach ($accounts as $uid => $account) { |
1125 | 1102 |
if ($account->status != 1) { |
1126 | 1103 |
$success = FALSE; |
... | ... | |
1129 | 1106 |
} |
1130 | 1107 |
if ($success) { |
1131 | 1108 |
$success = ($clone_last && $clone_last->status == 1); |
1132 |
if (!$success) { |
|
1133 |
// debug("success = $success, status=" . $clone_last->status); |
|
1134 |
} |
|
1135 | 1109 |
} |
1136 | 1110 |
|
1137 |
|
|
1138 | 1111 |
break; |
1139 | 1112 |
|
1140 | 1113 |
case 'ldap_user_orphan_email' : |
1141 |
// debug('ldap_user_orphan_email'); |
|
1142 | 1114 |
// test is if email has 10 users and was sent |
1143 | 1115 |
$emails = $this->drupalGetMails(); |
1144 | 1116 |
if (count($emails)) { |
... | ... | |
1153 | 1125 |
|
1154 | 1126 |
case 'user_cancel_block': |
1155 | 1127 |
case 'user_cancel_block_unpublish': |
1156 |
//debug('user_cancel_block'); |
|
1157 | 1128 |
// test is if clone0-clone9 have a status of 0 |
1158 | 1129 |
// and clone12,11... have a status of 1 |
1159 | 1130 |
$test_uids = array(); |
... | ... | |
1183 | 1154 |
for ($i = 0; $i < $delete; $i++) { // 70 |
1184 | 1155 |
$name = "clone" . $i; |
1185 | 1156 |
$test_uids[] = @$cn_to_account[$name]->uid; |
1186 |
|
|
1187 |
//debug($account); |
|
1188 | 1157 |
} |
1189 | 1158 |
$success = TRUE; |
1190 | 1159 |
$accounts = user_load_multiple($test_uids); |
... | ... | |
1276 | 1245 |
$this->drupalLogin($this->privileged_user); |
1277 | 1246 |
|
1278 | 1247 |
$ldap_user_conf = ldap_user_conf(); |
1279 |
// debug('ldap_user_conf before form submission'); debug($ldap_user_conf); |
|
1280 |
|
|
1281 | 1248 |
|
1282 | 1249 |
$this->drupalGet('admin/config/people/ldap/user'); |
1283 | 1250 |
|
... | ... | |
1343 | 1310 |
$this->drupalPost('admin/config/people/ldap/user', $edit, t('Save')); |
1344 | 1311 |
|
1345 | 1312 |
$ldap_user_conf = ldap_user_conf(NULL, TRUE); |
1346 |
// debug('edit'); debug($edit); debug('user conf object after save'); debug($ldap_user_conf); |
|
1347 | 1313 |
|
1348 | 1314 |
foreach ($edit_direct_map as $property => $value) { |
1349 | 1315 |
$this->assertTrue($ldap_user_conf->{$property} == $value, $property . ' ' . t('field set correctly'), $this->testId('user interface tests')); |
Formats disponibles : Unified diff
Weekly update of contrib modules