|
|
|
@ -1265,6 +1265,63 @@ class RequestTest extends \Test\TestCase {
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function dataMatchClientVersion(): array {
|
|
|
|
|
return [
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (Android) Nextcloud-android/3.24.1',
|
|
|
|
|
Request::USER_AGENT_CLIENT_ANDROID,
|
|
|
|
|
'3.24.1',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (iOS) Nextcloud-iOS/4.8.2',
|
|
|
|
|
Request::USER_AGENT_CLIENT_IOS,
|
|
|
|
|
'4.8.2',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (Windows) mirall/3.8.1',
|
|
|
|
|
Request::USER_AGENT_CLIENT_DESKTOP,
|
|
|
|
|
'3.8.1',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (Android) Nextcloud-Talk v17.10.0',
|
|
|
|
|
Request::USER_AGENT_TALK_ANDROID,
|
|
|
|
|
'17.10.0',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (iOS) Nextcloud-Talk v17.0.1',
|
|
|
|
|
Request::USER_AGENT_TALK_IOS,
|
|
|
|
|
'17.0.1',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (Windows) Nextcloud-Talk v0.6.0',
|
|
|
|
|
Request::USER_AGENT_TALK_DESKTOP,
|
|
|
|
|
'0.6.0',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (Windows) Nextcloud-Outlook v1.0.0',
|
|
|
|
|
Request::USER_AGENT_OUTLOOK_ADDON,
|
|
|
|
|
'1.0.0',
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
'Mozilla/5.0 (Linux) Nextcloud-Thunderbird v1.0.0',
|
|
|
|
|
Request::USER_AGENT_THUNDERBIRD_ADDON,
|
|
|
|
|
'1.0.0',
|
|
|
|
|
],
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @dataProvider dataMatchClientVersion
|
|
|
|
|
* @param string $testAgent
|
|
|
|
|
* @param string $userAgent
|
|
|
|
|
* @param string $version
|
|
|
|
|
*/
|
|
|
|
|
public function testMatchClientVersion(string $testAgent, string $userAgent, string $version): void {
|
|
|
|
|
preg_match($userAgent, $testAgent, $matches);
|
|
|
|
|
|
|
|
|
|
$this->assertSame($version, $matches[1]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testInsecureServerHostServerNameHeader() {
|
|
|
|
|
$request = new Request(
|
|
|
|
|
[
|
|
|
|
|