Restore old behavior allowing to set custom appstore

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
Georg Ehrke 2019-12-17 12:20:51 +01:00 committed by Backportbot
parent cbde341301
commit 8bd52316dd
5 changed files with 23 additions and 10 deletions

View file

@ -66,7 +66,6 @@ class AppFetcher extends Fetcher {
);
$this->fileName = 'apps.json';
$this->setEndpoint();
$this->compareVersion = $compareVersion;
$this->ignoreMaxVersion = true;
}
@ -141,10 +140,6 @@ class AppFetcher extends Fetcher {
return $response;
}
private function setEndpoint() {
$this->endpointUrl = 'https://apps.nextcloud.com/api/v1/apps.json';
}
/**
* @param string $version
* @param string $fileName

View file

@ -53,6 +53,5 @@ class CategoryFetcher extends Fetcher {
$logger
);
$this->fileName = 'categories.json';
$this->endpointUrl = 'https://apps.nextcloud.com/api/v1/categories.json';
}
}

View file

@ -54,8 +54,6 @@ abstract class Fetcher {
/** @var string */
protected $fileName;
/** @var string */
protected $endpointUrl;
/** @var string */
protected $version;
/** @var string */
protected $channel;
@ -105,7 +103,7 @@ abstract class Fetcher {
}
$client = $this->clientService->newClient();
$response = $client->get($this->endpointUrl, $options);
$response = $client->get($this->getEndpoint(), $options);
$responseJson = [];
if ($response->getStatusCode() === Http::STATUS_NOT_MODIFIED) {
@ -218,4 +216,8 @@ abstract class Fetcher {
public function setChannel(string $channel) {
$this->channel = $channel;
}
protected function getEndpoint(): string {
return $this->config->getSystemValue('appstoreurl', 'https://apps.nextcloud.com/api/v1') . '/' . $this->fileName;
}
}

View file

@ -92,6 +92,8 @@ EOD;
return true;
} else if ($key === 'version') {
return '11.0.0.2';
} else if ($key === 'appstoreurl' && $default === 'https://apps.nextcloud.com/api/v1') {
return 'https://custom.appsstore.endpoint/api/v1';
} else {
return $default;
}
@ -122,7 +124,7 @@ EOD;
$response = $this->createMock(IResponse::class);
$client
->method('get')
->with('https://apps.nextcloud.com/api/v1/apps.json')
->with('https://custom.appsstore.endpoint/api/v1/apps.json')
->willReturn($response);
$response
->expects($this->once())

View file

@ -137,6 +137,11 @@ abstract class FetcherBase extends TestCase {
$this->config
->expects($this->at(3))
->method('getSystemValue')
->with('appstoreurl', 'https://apps.nextcloud.com/api/v1')
->willReturn('https://apps.nextcloud.com/api/v1');
$this->config
->expects($this->at(4))
->method('getSystemValue')
->with(
$this->equalTo('version'),
$this->anything()
@ -298,6 +303,11 @@ abstract class FetcherBase extends TestCase {
$this->config
->expects($this->at(3))
->method('getSystemValue')
->with('appstoreurl', 'https://apps.nextcloud.com/api/v1')
->willReturn('https://apps.nextcloud.com/api/v1');
$this->config
->expects($this->at(4))
->method('getSystemValue')
->with(
$this->equalTo('version'),
$this->anything()
@ -382,6 +392,11 @@ abstract class FetcherBase extends TestCase {
$this->config
->expects($this->at(3))
->method('getSystemValue')
->with('appstoreurl', 'https://apps.nextcloud.com/api/v1')
->willReturn('https://apps.nextcloud.com/api/v1');
$this->config
->expects($this->at(4))
->method('getSystemValue')
->with(
$this->equalTo('version'),
$this->anything()