summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Ehrke <developer@georgehrke.com>2019-12-17 12:20:51 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2019-12-22 15:06:31 +0100
commitf0bef8881dd9861c615f56da058a165c2cc5ce86 (patch)
tree86ae91c4bfcdb6a69f3f0daf161491228f25349c
parent12136a0cff9a6e552391bff9317a546f970c98b4 (diff)
downloadnextcloud-server-f0bef8881dd9861c615f56da058a165c2cc5ce86.tar.gz
nextcloud-server-f0bef8881dd9861c615f56da058a165c2cc5ce86.zip
Restore old behavior allowing to set custom appstore
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
-rw-r--r--lib/private/App/AppStore/Fetcher/AppFetcher.php5
-rw-r--r--lib/private/App/AppStore/Fetcher/CategoryFetcher.php1
-rw-r--r--lib/private/App/AppStore/Fetcher/Fetcher.php8
-rw-r--r--tests/lib/App/AppStore/Fetcher/AppFetcherTest.php4
-rw-r--r--tests/lib/App/AppStore/Fetcher/FetcherBase.php15
5 files changed, 23 insertions, 10 deletions
diff --git a/lib/private/App/AppStore/Fetcher/AppFetcher.php b/lib/private/App/AppStore/Fetcher/AppFetcher.php
index 49faa64bb50..d97949421d8 100644
--- a/lib/private/App/AppStore/Fetcher/AppFetcher.php
+++ b/lib/private/App/AppStore/Fetcher/AppFetcher.php
@@ -68,7 +68,6 @@ class AppFetcher extends Fetcher {
);
$this->fileName = 'apps.json';
- $this->setEndpoint();
$this->compareVersion = $compareVersion;
$this->ignoreMaxVersion = true;
}
@@ -143,10 +142,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
diff --git a/lib/private/App/AppStore/Fetcher/CategoryFetcher.php b/lib/private/App/AppStore/Fetcher/CategoryFetcher.php
index 7fa0800762a..904c401c153 100644
--- a/lib/private/App/AppStore/Fetcher/CategoryFetcher.php
+++ b/lib/private/App/AppStore/Fetcher/CategoryFetcher.php
@@ -53,6 +53,5 @@ class CategoryFetcher extends Fetcher {
$logger
);
$this->fileName = 'categories.json';
- $this->endpointUrl = 'https://apps.nextcloud.com/api/v1/categories.json';
}
}
diff --git a/lib/private/App/AppStore/Fetcher/Fetcher.php b/lib/private/App/AppStore/Fetcher/Fetcher.php
index bcfea94959c..76a37bfa7de 100644
--- a/lib/private/App/AppStore/Fetcher/Fetcher.php
+++ b/lib/private/App/AppStore/Fetcher/Fetcher.php
@@ -55,8 +55,6 @@ abstract class Fetcher {
/** @var string */
protected $fileName;
/** @var string */
- protected $endpointUrl;
- /** @var string */
protected $version;
/** @var string */
protected $channel;
@@ -106,7 +104,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) {
@@ -219,4 +217,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;
+ }
}
diff --git a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
index 9a118234049..ac9ac06d19d 100644
--- a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
+++ b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
@@ -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())
diff --git a/tests/lib/App/AppStore/Fetcher/FetcherBase.php b/tests/lib/App/AppStore/Fetcher/FetcherBase.php
index 84584e5432f..9dac4dd7499 100644
--- a/tests/lib/App/AppStore/Fetcher/FetcherBase.php
+++ b/tests/lib/App/AppStore/Fetcher/FetcherBase.php
@@ -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()