aboutsummaryrefslogtreecommitdiffstats
path: root/apps/user_ldap
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2024-04-04 17:37:19 +0200
committerCôme Chilliet <91878298+come-nc@users.noreply.github.com>2024-04-09 10:01:47 +0200
commitd4229f9f590a2c3107906c21116d05edc7f13127 (patch)
treec13ba834502a151e04b0ee7a1bf1b61506cf8de8 /apps/user_ldap
parent0f348516d2c2f9fcd089b224d54312198dcf4b85 (diff)
downloadnextcloud-server-d4229f9f590a2c3107906c21116d05edc7f13127.tar.gz
nextcloud-server-d4229f9f590a2c3107906c21116d05edc7f13127.zip
fix(user_ldap): Fix tests using wrong types
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps/user_ldap')
-rw-r--r--apps/user_ldap/lib/Connection.php6
-rw-r--r--apps/user_ldap/tests/AccessTest.php14
-rw-r--r--apps/user_ldap/tests/ConnectionTest.php8
-rw-r--r--apps/user_ldap/tests/LDAPProviderTest.php10
-rw-r--r--apps/user_ldap/tests/User_LDAPTest.php2
-rw-r--r--apps/user_ldap/tests/WizardTest.php6
6 files changed, 30 insertions, 16 deletions
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index 212bb2fd336..280cdcfa83f 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -650,7 +650,11 @@ class Connection extends LDAPUtility {
return false;
}
- $this->ldapConnectionRes = $this->ldap->connect($host, $port);
+ $this->ldapConnectionRes = $this->ldap->connect($host, $port) ?: null;
+
+ if ($this->ldapConnectionRes === null) {
+ throw new ServerNotAvailableException('Connection failed');
+ }
if (!$this->ldap->setOption($this->ldapConnectionRes, LDAP_OPT_PROTOCOL_VERSION, 3)) {
throw new ServerNotAvailableException('Could not set required LDAP Protocol version.');
diff --git a/apps/user_ldap/tests/AccessTest.php b/apps/user_ldap/tests/AccessTest.php
index 5469b9267e7..2387dab7708 100644
--- a/apps/user_ldap/tests/AccessTest.php
+++ b/apps/user_ldap/tests/AccessTest.php
@@ -114,6 +114,9 @@ class AccessTest extends TestCase {
$connector = $this->getMockBuilder(Connection::class)
->setConstructorArgs([$lw, '', null])
->getMock();
+ $connector->expects($this->any())
+ ->method('getConnectionResource')
+ ->willReturn(ldap_connect('ldap://example.com'));
$um = $this->getMockBuilder(Manager::class)
->setConstructorArgs([
$this->createMock(IConfig::class),
@@ -287,6 +290,11 @@ class AccessTest extends TestCase {
->method('isResource')
->willReturn(true);
+ $this->connection
+ ->expects($this->any())
+ ->method('getConnectionResource')
+ ->willReturn(ldap_connect('ldap://example.com'));
+
$this->ldap->expects($this->any())
->method('getAttributes')
->willReturn(['displayname' => ['bar', 'count' => 1]]);
@@ -469,7 +477,7 @@ class AccessTest extends TestCase {
$this->connection
->method('__get')
->willReturn(true);
- $connection = $this->createMock(LDAP::class);
+ $connection = ldap_connect('ldap://example.com');
$this->connection
->expects($this->once())
->method('getConnectionResource')
@@ -492,7 +500,7 @@ class AccessTest extends TestCase {
$this->connection
->method('__get')
->willReturn(true);
- $connection = $this->createMock(LDAP::class);
+ $connection = ldap_connect('ldap://example.com');
$this->connection
->expects($this->any())
->method('getConnectionResource')
@@ -516,7 +524,7 @@ class AccessTest extends TestCase {
$this->connection
->method('__get')
->willReturn(true);
- $connection = $this->createMock(LDAP::class);
+ $connection = ldap_connect('ldap://example.com');
$this->connection
->expects($this->any())
->method('getConnectionResource')
diff --git a/apps/user_ldap/tests/ConnectionTest.php b/apps/user_ldap/tests/ConnectionTest.php
index b4e26c922ed..1bacd433ed0 100644
--- a/apps/user_ldap/tests/ConnectionTest.php
+++ b/apps/user_ldap/tests/ConnectionTest.php
@@ -114,7 +114,7 @@ class ConnectionTest extends \Test\TestCase {
$this->ldap->expects($this->exactly(3))
->method('connect')
- ->willReturn('ldapResource');
+ ->willReturn(ldap_connect('ldap://example.com'));
$this->ldap->expects($this->any())
->method('errno')
@@ -173,7 +173,7 @@ class ConnectionTest extends \Test\TestCase {
$this->ldap->expects($this->once())
->method('connect')
- ->willReturn('ldapResource');
+ ->willReturn(ldap_connect('ldap://example.com'));
$this->ldap->expects($this->any())
->method('errno')
@@ -221,7 +221,7 @@ class ConnectionTest extends \Test\TestCase {
$this->ldap->expects($this->any())
->method('connect')
- ->willReturn('ldapResource');
+ ->willReturn(ldap_connect('ldap://example.com'));
$this->ldap->expects($this->once())
->method('bind')
@@ -264,7 +264,7 @@ class ConnectionTest extends \Test\TestCase {
$this->ldap->expects($this->any())
->method('connect')
- ->willReturn('ldapResource');
+ ->willReturn(ldap_connect('ldap://example.com'));
$this->ldap->expects($this->any())
->method('setOption')
diff --git a/apps/user_ldap/tests/LDAPProviderTest.php b/apps/user_ldap/tests/LDAPProviderTest.php
index 3e34ce7bdbb..44a03f77edf 100644
--- a/apps/user_ldap/tests/LDAPProviderTest.php
+++ b/apps/user_ldap/tests/LDAPProviderTest.php
@@ -271,14 +271,15 @@ class LDAPProviderTest extends \Test\TestCase {
$userBackend->expects($this->any())
->method('userExists')
->willReturn(true);
+ $ldapConnection = ldap_connect('ldap://example.com');
$userBackend->expects($this->any())
->method('getNewLDAPConnection')
- ->willReturn(true);
+ ->willReturn($ldapConnection);
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
$ldapProvider = $this->getLDAPProvider($server);
- $this->assertTrue($ldapProvider->getLDAPConnection('existing_user'));
+ $this->assertEquals($ldapConnection, $ldapProvider->getLDAPConnection('existing_user'));
}
@@ -317,14 +318,15 @@ class LDAPProviderTest extends \Test\TestCase {
->method('groupExists')
->willReturn(true);
+ $ldapConnection = ldap_connect('ldap://example.com');
$groupBackend->expects($this->any())
->method('getNewLDAPConnection')
- ->willReturn(true);
+ ->willReturn($ldapConnection);
$server = $this->getServerMock($userBackend, $groupBackend);
$ldapProvider = $this->getLDAPProvider($server);
- $this->assertTrue($ldapProvider->getGroupLDAPConnection('existing_group'));
+ $this->assertEquals($ldapConnection, $ldapProvider->getGroupLDAPConnection('existing_group'));
}
diff --git a/apps/user_ldap/tests/User_LDAPTest.php b/apps/user_ldap/tests/User_LDAPTest.php
index 35c692d634f..be892e1607f 100644
--- a/apps/user_ldap/tests/User_LDAPTest.php
+++ b/apps/user_ldap/tests/User_LDAPTest.php
@@ -320,7 +320,7 @@ class User_LDAPTest extends TestCase {
->willReturn($mapping);
$this->connection->expects($this->any())
->method('getConnectionResource')
- ->willReturn('this is an ldap link');
+ ->willReturn(ldap_connect('ldap://example.com'));
$this->deletedUsersIndex->expects($this->once())
->method('isUserMarked')
diff --git a/apps/user_ldap/tests/WizardTest.php b/apps/user_ldap/tests/WizardTest.php
index 5382a0c7f6f..9cd6afc8007 100644
--- a/apps/user_ldap/tests/WizardTest.php
+++ b/apps/user_ldap/tests/WizardTest.php
@@ -84,8 +84,8 @@ class WizardTest extends TestCase {
private function prepareLdapWrapperForConnections(MockObject &$ldap) {
$ldap->expects($this->once())
->method('connect')
- //dummy value, usually invalid
- ->willReturn(true);
+ //dummy value
+ ->willReturn(ldap_connect('ldap://example.com'));
$ldap->expects($this->exactly(3))
->method('setOption')
@@ -173,7 +173,7 @@ class WizardTest extends TestCase {
$ldap->expects($this->any())
->method('isResource')
->willReturnCallback(function ($r) {
- if ($r === true) {
+ if ($r instanceof \LDAP\Connection) {
return true;
}
if ($r % 24 === 0) {