Merge branch 'bugfix/ldap-exception-5536'

fixes #5536
This commit is contained in:
Marius Hein 2014-09-02 10:21:20 +02:00
commit 5d52a54d94
3 changed files with 7 additions and 19 deletions

View File

@ -307,7 +307,7 @@ class Connection
$results = @ldap_search(
$this->ds,
$base,
(string) $query,
$query->create(),
$fields,
0, // Attributes and values
0 // No limit - at least where possible
@ -619,7 +619,7 @@ class Connection
$result = @ldap_read(
$ds,
'',
(string) $query,
$query->create(),
$query->listFields()
);

View File

@ -4,8 +4,6 @@
namespace Icinga\Protocol\Ldap;
use Icinga\Exception\IcingaException;
/**
* Search class
*
@ -84,7 +82,7 @@ class Query
public function limit($count = null, $offset = null)
{
if (! preg_match('~^\d+~', $count . $offset)) {
throw new IcingaException(
throw new Exception(
'Got invalid limit: %s, %s',
$count,
$offset
@ -302,21 +300,11 @@ class Query
*
* @string
*/
public function __toString()
{
return $this->render();
}
/**
* Returns the LDAP filter that will be applied
*
* @string
*/
protected function render()
public function create()
{
$parts = array();
if (! isset($this->filters['objectClass']) || $this->filters['objectClass'] === null) {
// throw new IcingaException('Object class is mandatory');
throw new Exception('Object class is mandatory');
}
foreach ($this->filters as $key => $value) {
$parts[] = sprintf(

View File

@ -109,10 +109,10 @@ class QueryTest extends BaseTestCase
$this->assertEquals('testIntColumn', $cols[0][0]);
}
public function test__toString()
public function testCreateQuery()
{
$select = $this->prepareSelect();
$res = '(&(objectClass=dummyClass)(testIntColumn=1)(testStringColumn=test)(testWildcard=abc*))';
$this->assertEquals($res, (string) $select);
$this->assertEquals($res, $select->create());
}
}