/usr/share/php/tests/Horde_Kolab_Server/Horde/Kolab/Server/Class/Server/Ldap/FilteredTest.php is in php-horde-kolab-server 2.0.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | <?php
/**
* Test the filtered LDAP driver.
*
* PHP version 5
*
* @category Kolab
* @package Kolab_Server
* @author Gunnar Wrobel <wrobel@pardus.de>
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @link http://pear.horde.org/index.php?package=Kolab_Server
*/
/**
* Require our basic test case definition
*/
require_once __DIR__ . '/../../../LdapTestCase.php';
/**
* Test the filtered LDAP driver.
*
* Copyright 2009-2013 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @category Kolab
* @package Kolab_Server
* @author Gunnar Wrobel <wrobel@pardus.de>
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @link http://pear.horde.org/index.php?package=Kolab_Server
*/
class Horde_Kolab_Server_Class_Server_Ldap_FilteredTest extends Horde_Kolab_Server_LdapTestCase
{
public function setUp()
{
$this->skipIfNoLdap();
$this->ldap_read = $this->getMock('Horde_Ldap');
$this->ldap_write = $this->getMock('Horde_Ldap');
$connection = new Horde_Kolab_Server_Connection_Splittedldap(
$this->ldap_read,
$this->ldap_write
);
$this->server = new Horde_Kolab_Server_Ldap_Filtered(
$connection,
'base',
'filter'
);
}
private function getSearchResultMock()
{
$result = $this->getMock(
'Horde_Ldap_Search', array('asArray', 'count'), array(), '', false
);
$result->expects($this->any())
->method('asArray')
->will($this->returnValue(array(array('dn' => 'test'))));
$result->expects($this->any())
->method('count')
->will($this->returnValue(1));
return $result;
}
public function testMethodFindbelowHasParameterQueryelementTheSearchCriteria()
{
$this->ldap_read->expects($this->exactly(1))
->method('search')
->with('', '(&(filter)(equals=equals))', array())
->will($this->returnValue($this->getSearchResultMock()));
$this->server->findBelow('(equals=equals)', '');
}
public function testMethodFindbelowHasParameterStringParent()
{
$this->ldap_read->expects($this->exactly(1))
->method('search')
->with('parent', '(&(filter)(equals=equals))', array())
->will($this->returnValue($this->getSearchResultMock()));
$this->server->findBelow('(equals=equals)', 'parent', array());
}
public function testMethodFindbelowHasParameterArrayAdditionalParameters()
{
$this->ldap_read->expects($this->exactly(1))
->method('search')
->with('', '(&(filter)(equals=equals))', array())
->will($this->returnValue($this->getSearchResultMock()));
$this->server->findBelow('(equals=equals)', '', array());
}
public function testMethodFindbelowReturnsArraySearchResult()
{
$this->ldap_read->expects($this->exactly(1))
->method('search')
->with('parent', '(&(filter)(equals=equals))', array())
->will($this->returnValue($this->getSearchResultMock()));
$this->assertEquals(
array(array('dn' => 'test')),
$this->server->findBelow('(equals=equals)', 'parent')->asArray()
);
}
public function testMethodFindbelowThrowsExceptionIfTheSearchFailed()
{
$this->ldap_read->expects($this->exactly(1))
->method('search')
->will($this->throwException(new Horde_Ldap_Exception('Search failed!')));
try {
$this->assertEquals(array('dn' => 'test'), $this->server->findBelow('(equals=equals)', ''));
$this->fail('No exception!');
} catch (Exception $e) {
$this->assertEquals('Search failed!', $e->getMessage());
$this->assertEquals(Horde_Kolab_Server_Exception::SYSTEM, $e->getCode());
}
}
}
|