phpldapadmin/tools/unit_test.php
2009-06-30 19:39:45 +10:00

151 lines
4.6 KiB
PHP

<?php
// $Header: /cvsroot/phpldapadmin/phpldapadmin/unit_test.php,v 1.20 2005/07/16 16:23:28 wurley Exp $
/**
* @package phpLDAPadmin
*/
/**
*/
include './common.php';
include './header.php';
echo "<pre>";
require_once realpath( 'functions.php' );
// test DN sorting
if( false ) {
$dns = array( "ou=people,dc=example,dc=com",
"cn=Admin,ou=People,dc=example,dc=com",
"cn=Joe,ou=people,dc=example,dc=com",
"dc=example,dc=com",
"cn=Fred,ou=people,dc=example,dc=org",
"cn=Dave,ou=people,dc=example,dc=org",
"dc=com"
);
usort( $dns, "pla_compare_dns" );
foreach( $dns as $dn )
echo pretty_print_dn( $dn ) . "<br>";
}
// test pla_verbose_error() using ldap_error_codes.txt
if( false) {
for( $i=0; $i<255; $i++ ) {
$num = "0x" . str_pad( dechex( $i ), 2, "0", STR_PAD_LEFT );
var_dump( $num );
print_r( pla_verbose_error( $num ) );
}
}
// tests is_dn_string()
if( false ) {
$dn_strs = array( ' cn=joe,dc=example,dc=com',
'cn = joe, dc= example, dc =com',
' cn=asdf asdf, ou= foo bar, o =foo bar, dc=com',
'cn=True!=False,dc=example,dc=com' );
$not_dn_strs = array( ' asdf asdf ',
'== asdf asdf ',
' = = = = = = = =' );
echo "All should be true:\n";
foreach( $dn_strs as $str ) {
echo "\"$str\"\n";
var_dump( is_dn_string( $str ) );
}
echo "\nAll should be false:\n";
foreach( $not_dn_strs as $str ) {
echo "\"$str\"\n";
var_dump( is_dn_string( $str ) );
}
}
// tests pla_compare_dns()
if( false ) {
echo "Should all be 0:<br>";
$dns1 = array( 'cn=joe,dc=example,dc=com', 'cn=joe,dc=example,dc=com', 'cn = bob, dc= example,dc =com' );
$dns2 = array( 'cn=joe,dc=example,dc=com', 'CN =joe,dc=Example,dc =com', 'cn= bob, dc= example,dc =com' );
for( $i=0; $i<count($dns1); $i++ ) {
var_dump( pla_compare_dns( $dns1[$i], $dns2[$i] ) );
echo "\n";
}
echo "Should all be ! 0:<br>";
$dns1 = array( 'dc=test,dc=example,dc=com', 'cn=Fred,cn=joe,dc=example,dc=com', 'cn=joe2,dc=example,dc=com', 'cn = bob, dc= example,dc =com' );
$dns2 = array( 'dc=example, dc=com', 'cn=joe,dc=example,dc=com', 'CN =joe,dc=Example2,dc =com', 'cn= 2bob, dc= example,dc =com' );
for( $i=0; $i<count($dns1); $i++ ) {
var_dump( pla_compare_dns( $dns1[$i], $dns2[$i] ) );
echo "\n";
}
}
// testing get_rdn()
if( false ) {
echo "Should be uid=bäb: ";
echo get_rdn( "uid=bäb,ou=People-copy1,ou=People-copy2,ou=People2,dc=example,dc=com" );
echo "<br>\n";
echo "Should be dc=com: ";
echo get_rdn( "dc=com" );
echo "<br>\n";
echo "Should be Fred: ";
echo get_rdn( "Fred" );
echo "<br>\n";
}
// testing get_container()
if( false ) {
echo "Should be ou=People-copy1,ou=People-copy2,ou=People2,dc=example,dc=com: ";
var_dump( get_container( "uid=bäb,ou=People-copy1,ou=People-copy2,ou=People2,dc=example,dc=com" ) );
echo "<br>\n";
echo "Should be null: ";
var_dump( get_container( "dc=com" ) );
echo "<br>\n";
echo "Should be null: ";
var_dump( get_container( "Fred" ) );
echo "<br>\n";
}
// tests pla_explode_dn()
if( false ) {
var_dump( pla_explode_dn( "cn=<stuff>,dc=example,dc=<com>" ) );
}
if( false ) {
$password = 'asdf@sadf';
foreach( array('md5','md5crypt','sha','ssha','smd5','crypt','clear') as $enc_type ) {
$crypted_password = password_hash($password,$enc_type);
print "[".$enc_type."] ".$crypted_password."<br />";
print " Test: " . (password_check($crypted_password,$password) ? "passed" : "failed" );
print "\n";
//unset($crypted_password);
flush();
}
}
if( true ) {
$secret = "foobar";
$passwords = array( 'fun!244A', 'asdf', 'dc=stuff,ou=things', 'y()ikes' );
$passwords_encrypted = array();
foreach( $passwords as $password ) {
$passwords_encrypted[] = pla_blowfish_encrypt( $password, $secret );
}
$passwords_decrypted = array();
foreach( $passwords_encrypted as $password ) {
$passwords_decrypted[] = pla_blowfish_decrypt( $password, $secret );
}
foreach( $passwords_decrypted as $i => $password ) {
echo $passwords[$i] . ': ' . $passwords_encrypted[$i] . '<br /> ';
if( $passwords[$i] == $passwords_decrypted[$i] )
echo "passed<br />";
else
echo "<b>failed!</b></br />";
}
}
print password_generate();
?>