aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-06-19 18:15:57 +0200
committerGitHub <noreply@github.com>2018-06-19 18:15:57 +0200
commit0cf0ef024fb2d8a6a0b1ad374cd460dc671867ee (patch)
tree596cc6ba557ce15d1f8facb6d82874bb302d9191
parentc3aea9cdf6d88895b1a1fc54ead9a2f0aa792cd3 (diff)
parentdef12a9be93112df12597007ced272dcddfdd7c5 (diff)
downloadnextcloud-server-0cf0ef024fb2d8a6a0b1ad374cd460dc671867ee.tar.gz
nextcloud-server-0cf0ef024fb2d8a6a0b1ad374cd460dc671867ee.zip
Merge pull request #9920 from nextcloud/fix/9867/fix_setup_check
If cronErros is empty json_decode will return NULL
-rw-r--r--settings/Controller/CheckSetupController.php12
-rw-r--r--tests/Settings/Controller/CheckSetupControllerTest.php10
2 files changed, 18 insertions, 4 deletions
diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php
index f83d0966eda..ecbb9839c75 100644
--- a/settings/Controller/CheckSetupController.php
+++ b/settings/Controller/CheckSetupController.php
@@ -513,6 +513,16 @@ Raw output
];
}
+ protected function getCronErrors() {
+ $errors = json_decode($this->config->getAppValue('core', 'cronErrors', ''), true);
+
+ if (is_array($errors)) {
+ return $errors;
+ }
+
+ return [];
+ }
+
/**
* @return DataResponse
*/
@@ -527,7 +537,7 @@ Raw output
'hasWorkingFileLocking' => $this->hasWorkingFileLocking(),
'suggestedOverwriteCliURL' => $this->getSuggestedOverwriteCliURL(),
'cronInfo' => $this->getLastCronInfo(),
- 'cronErrors' => json_decode($this->config->getAppValue('core', 'cronErrors', ''), true),
+ 'cronErrors' => $this->getCronErrors(),
'serverHasInternetConnection' => $this->isInternetConnectionWorking(),
'isMemcacheConfigured' => $this->isMemcacheConfigured(),
'memcacheDocs' => $this->urlGenerator->linkToDocs('admin-performance'),
diff --git a/tests/Settings/Controller/CheckSetupControllerTest.php b/tests/Settings/Controller/CheckSetupControllerTest.php
index c062dff0704..470bc9cde64 100644
--- a/tests/Settings/Controller/CheckSetupControllerTest.php
+++ b/tests/Settings/Controller/CheckSetupControllerTest.php
@@ -63,7 +63,7 @@ class CheckSetupControllerTest extends TestCase {
private $l10n;
/** @var ILogger */
private $logger;
- /** @var Checker | \PHPUnit_Framework_MockObject_MockObject */
+ /** @var Checker|\PHPUnit_Framework_MockObject_MockObject */
private $checker;
/** @var EventDispatcher|\PHPUnit_Framework_MockObject_MockObject */
private $dispatcher;
@@ -392,6 +392,10 @@ class CheckSetupControllerTest extends TestCase {
'relativeTime' => '2 hours ago',
'backgroundJobsUrl' => 'https://example.org',
]);
+ $this->checker
+ ->expects($this->once())
+ ->method('hasPassedCheck')
+ ->willReturn(true);
$expected = new DataResponse(
[
@@ -407,7 +411,7 @@ class CheckSetupControllerTest extends TestCase {
'relativeTime' => '2 hours ago',
'backgroundJobsUrl' => 'https://example.org',
],
- 'cronErrors' => '',
+ 'cronErrors' => [],
'serverHasInternetConnection' => false,
'isMemcacheConfigured' => true,
'memcacheDocs' => 'http://docs.example.org/server/go.php?to=admin-performance',
@@ -421,7 +425,7 @@ class CheckSetupControllerTest extends TestCase {
'forwardedForHeadersWorking' => true,
'reverseProxyDocs' => 'reverse-proxy-doc-link',
'isCorrectMemcachedPHPModuleInstalled' => true,
- 'hasPassedCodeIntegrityCheck' => null,
+ 'hasPassedCodeIntegrityCheck' => true,
'codeIntegrityCheckerDocumentation' => 'http://docs.example.org/server/go.php?to=admin-code-integrity',
'isOpcacheProperlySetup' => false,
'phpOpcacheDocumentation' => 'http://docs.example.org/server/go.php?to=admin-php-opcache',