fix LDAP install for systems without ldap extension (#846)

This commit is contained in:
Kevin Papst
2019-06-11 01:25:49 +02:00
committed by GitHub
parent 0c0e9c2f71
commit 833968a87d
23 changed files with 82 additions and 326 deletions

View File

@@ -20,13 +20,21 @@ use Zend\Ldap\Ldap;
*/
class LdapDriverTest extends TestCase
{
protected function setUp()
{
parent::setUp();
if (!class_exists('Zend\Ldap\Ldap')) {
$this->markTestSkipped('LDAP is not installed');
}
}
public function testBindSuccess()
{
$zendLdap = $this->getMockBuilder(Ldap::class)->disableOriginalConstructor()->setMethods(['bind'])->getMock();
$zendLdap->expects($this->once())->method('bind')->willReturnSelf();
$user = new User();
$sut = new LdapDriver($zendLdap);
$sut = new TestLdapDriver($zendLdap);
$result = $sut->bind($user, 'test123');
self::assertTrue($result);
}
@@ -37,7 +45,7 @@ class LdapDriverTest extends TestCase
$zendLdap->expects($this->once())->method('bind')->willThrowException(new LdapException());
$user = new User();
$sut = new LdapDriver($zendLdap);
$sut = new TestLdapDriver($zendLdap);
$result = $sut->bind($user, 'test123');
self::assertFalse($result);
}
@@ -48,7 +56,7 @@ class LdapDriverTest extends TestCase
$zendLdap->expects($this->once())->method('bind');
$zendLdap->expects($this->once())->method('searchEntries')->willReturn([1, 2, 3]);
$sut = new LdapDriver($zendLdap);
$sut = new TestLdapDriver($zendLdap);
$result = $sut->search('', '', []);
self::assertEquals(['count' => 3, 1, 2, 3], $result);
}
@@ -65,7 +73,15 @@ class LdapDriverTest extends TestCase
new LdapException($zendLdap, '', LdapException::LDAP_SERVER_DOWN)
);
$sut = new LdapDriver($zendLdap);
$sut = new TestLdapDriver($zendLdap);
$sut->search('', '', []);
}
}
class TestLdapDriver extends LdapDriver
{
public function __construct(Ldap $ldap)
{
$this->driver = $ldap;
}
}