diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/ldap/tests/ldap_add_error.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/ldap/tests/ldap_add_error.phpt')
-rw-r--r-- | ext/ldap/tests/ldap_add_error.phpt | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/ext/ldap/tests/ldap_add_error.phpt b/ext/ldap/tests/ldap_add_error.phpt new file mode 100644 index 0000000..d17db6b --- /dev/null +++ b/ext/ldap/tests/ldap_add_error.phpt @@ -0,0 +1,136 @@ +--TEST-- +ldap_add() - Add operation that should fail +--CREDITS-- +Patrick Allaert <patrickallaert@php.net> +# Belgian PHP Testfest 2009 +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +<?php require_once('skipifbindfailure.inc'); ?> +--FILE-- +<?php +require "connect.inc"; + +$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version); + +// Too few parameters +var_dump(ldap_add()); +var_dump(ldap_add($link)); +var_dump(ldap_add($link, "dc=my-domain,dc=com")); + +// Too many parameters +var_dump(ldap_add($link, "dc=my-domain,dc=com", array(), "Additional data")); + +var_dump(ldap_add($link, "dc=my-domain,dc=com", array())); + +// Invalid DN +var_dump( + ldap_add($link, "weirdAttribute=val", array( + "weirdAttribute" => "val", + )), + ldap_error($link), + ldap_errno($link) +); + +// Duplicate entry +for ($i = 0; $i < 2; $i++) + var_dump( + ldap_add($link, "dc=my-domain,dc=com", array( + "objectClass" => array( + "top", + "dcObject", + "organization"), + "dc" => "my-domain", + "o" => "my-domain", + )) + ); +var_dump(ldap_error($link), ldap_errno($link)); + +// Wrong array indexes +var_dump( + ldap_add($link, "dc=my-domain2,dc=com", array( + "objectClass" => array( + 0 => "top", + 2 => "dcObject", + 5 => "organization"), + "dc" => "my-domain", + "o" => "my-domain", + )) + /* Is this correct behaviour to still have "Already exists" as error/errno? + , + ldap_error($link), + ldap_errno($link) + */ +); + +// Invalid attribute +var_dump( + ldap_add($link, "dc=my-domain,dc=com", array( + "objectClass" => array( + "top", + "dcObject", + "organization"), + "dc" => "my-domain", + "o" => "my-domain", + "weirdAttr" => "weirdVal", + )), + ldap_error($link), + ldap_errno($link) +); + +var_dump( + ldap_add($link, "dc=my-domain,dc=com", array(array( "Oops" + ))) + /* Is this correct behaviour to still have "Undefined attribute type" as error/errno? + , + ldap_error($link), + ldap_errno($link) + */ +); +?> +===DONE=== +--CLEAN-- +<?php +require "connect.inc"; + +$link = ldap_connect_and_bind($host, $port, $user, $passwd, $protocol_version); + +ldap_delete($link, "dc=my-domain,dc=com"); +?> +--EXPECTF-- +Warning: ldap_add() expects exactly 3 parameters, 0 given in %s on line %d +NULL + +Warning: ldap_add() expects exactly 3 parameters, 1 given in %s on line %d +NULL + +Warning: ldap_add() expects exactly 3 parameters, 2 given in %s on line %d +NULL + +Warning: ldap_add() expects exactly 3 parameters, 4 given in %s on line %d +NULL + +Warning: ldap_add(): Add: Protocol error in %s on line %d +bool(false) + +Warning: ldap_add(): Add: Invalid DN syntax in %s on line %d +bool(false) +string(17) "Invalid DN syntax" +int(34) +bool(true) + +Warning: ldap_add(): Add: Already exists in %s on line %d +bool(false) +string(14) "Already exists" +int(68) + +Warning: ldap_add(): Value array must have consecutive indices 0, 1, ... in %s on line %d +bool(false) + +Warning: ldap_add(): Add: Undefined attribute type in %s on line %d +bool(false) +string(24) "Undefined attribute type" +int(17) + +Warning: ldap_add(): Unknown attribute in the data in %s on line %d +bool(false) +===DONE=== |