mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #54371 from nextcloud/fix-getting-trusted-server-other-than-the-first
fix: Fix getting trusted server other than the first
This commit is contained in:
commit
b4302fe57c
2 changed files with 63 additions and 4 deletions
|
|
@ -116,12 +116,13 @@ class TrustedServers {
|
|||
$this->trustedServersCache = $this->dbHandler->getAllServer();
|
||||
}
|
||||
|
||||
$server = array_filter($this->trustedServersCache, fn ($server) => $server['id'] === $id);
|
||||
if (empty($server)) {
|
||||
throw new \Exception('No server found with ID: ' . $id);
|
||||
foreach ($this->trustedServersCache as $server) {
|
||||
if ($server['id'] === $id) {
|
||||
return $server;
|
||||
}
|
||||
}
|
||||
|
||||
return $server[0];
|
||||
throw new \Exception('No server found with ID: ' . $id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -144,6 +144,64 @@ class TrustedServersTest extends TestCase {
|
|||
);
|
||||
}
|
||||
|
||||
public static function dataTestGetServer() {
|
||||
return [
|
||||
[
|
||||
15,
|
||||
[
|
||||
'id' => 15,
|
||||
'otherData' => 'first server',
|
||||
]
|
||||
],
|
||||
[
|
||||
16,
|
||||
[
|
||||
'id' => 16,
|
||||
'otherData' => 'second server',
|
||||
]
|
||||
],
|
||||
[
|
||||
42,
|
||||
[
|
||||
'id' => 42,
|
||||
'otherData' => 'last server',
|
||||
]
|
||||
],
|
||||
[
|
||||
108,
|
||||
null
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('dataTestGetServer')]
|
||||
public function testGetServer(int $id, ?array $expectedServer): void {
|
||||
$servers = [
|
||||
[
|
||||
'id' => 15,
|
||||
'otherData' => 'first server',
|
||||
],
|
||||
[
|
||||
'id' => 16,
|
||||
'otherData' => 'second server',
|
||||
],
|
||||
[
|
||||
'id' => 42,
|
||||
'otherData' => 'last server',
|
||||
],
|
||||
];
|
||||
$this->dbHandler->expects($this->once())->method('getAllServer')->willReturn($servers);
|
||||
|
||||
if ($expectedServer === null) {
|
||||
$this->expectException(\Exception::class);
|
||||
$this->expectExceptionMessage('No server found with ID: ' . $id);
|
||||
}
|
||||
|
||||
$this->assertEquals(
|
||||
$expectedServer,
|
||||
$this->trustedServers->getServer($id)
|
||||
);
|
||||
}
|
||||
|
||||
public function testIsTrustedServer(): void {
|
||||
$this->dbHandler->expects($this->once())
|
||||
|
|
|
|||
Loading…
Reference in a new issue