1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 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, "$base"));
// Too many parameters
var_dump(ldap_add($link, "$base", array(), "Additional data"));
var_dump(ldap_add($link, "$base", 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,$base", 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, "$base", 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, "$base", 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,$base");
?>
--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===
|