// note that for remote id's we don't strip the protocol for the remote we use to construct the CloudId
// this way if a user has an explicit non-https cloud id this will be preserved
// we do still use the version without protocol for looking up the display name
- $remote = $this->removeProtocolFromUrl($remote, true);
$remote = $this->fixRemoteURL($remote);
$host = $this->removeProtocolFromUrl($remote);
} else {
$displayName = $this->getDisplayNameFromContact($user . '@' . $host);
}
- $id = $user . '@' . $remote;
+
+ // For the visible cloudID we only strip away https
+ $id = $user . '@' . $this->removeProtocolFromUrl($remote, true);
$data = [
'id' => $id,
return [
['test', 'example.com', 'test@example.com'],
['test', 'http://example.com', 'test@http://example.com', 'test@example.com'],
- ['test', null, 'test@http://example.com', 'test@example.com', 'http://example.com'],
+ ['test', null, 'test@http://example.com', 'test@example.com', 'http://example.com', 'http://example.com'],
['test@example.com', 'example.com', 'test@example.com@example.com'],
['test@example.com', 'https://example.com', 'test@example.com@example.com'],
- ['test@example.com', null, 'test@example.com@example.com'],
- ['test@example.com', 'https://example.com/index.php/s/shareToken', 'test@example.com@example.com'],
+ ['test@example.com', null, 'test@example.com@example.com', null, 'https://example.com', 'https://example.com'],
+ ['test@example.com', 'https://example.com/index.php/s/shareToken', 'test@example.com@example.com', null, 'https://example.com', 'https://example.com'],
];
}
* @param null|string $remote
* @param string $id
*/
- public function testGetCloudId(string $user, ?string $remote, string $id, ?string $searchCloudId = null, ?string $localHost = 'https://example.com'): void {
+ public function testGetCloudId(string $user, ?string $remote, string $id, ?string $searchCloudId = null, ?string $localHost = 'https://example.com', ?string $expectedRemoteId = null): void {
if ($remote !== null) {
$this->contactsManager->expects($this->any())
->method('search')
->method('getAbsoluteUrl')
->willReturn($localHost);
}
+ $expectedRemoteId ??= $remote;
$cloudId = $this->cloudIdManager->getCloudId($user, $remote);
- $this->assertEquals($id, $cloudId->getId());
+ $this->assertEquals($id, $cloudId->getId(), 'Cloud ID');
+ $this->assertEquals($expectedRemoteId, $cloudId->getRemote(), 'Remote URL');
}
}