summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2016-04-11 13:19:22 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2016-04-18 17:12:59 +0200
commit5c3183cedd9672025199a1298853834df1c1320f (patch)
tree6abec1e8882d2fd88b138653686bd5c0a3c6502e /tests
parentfd1740deb604894a8bef515d98c5992a392e6f0a (diff)
downloadnextcloud-server-5c3183cedd9672025199a1298853834df1c1320f.tar.gz
nextcloud-server-5c3183cedd9672025199a1298853834df1c1320f.zip
Move version check code out of class Updater
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/updater.php239
-rw-r--r--tests/lib/updater/versioncheck.php293
2 files changed, 293 insertions, 239 deletions
diff --git a/tests/lib/updater.php b/tests/lib/updater.php
index 8ee77b9f81e..f97eb3ac139 100644
--- a/tests/lib/updater.php
+++ b/tests/lib/updater.php
@@ -29,8 +29,6 @@ use OC\IntegrityCheck\Checker;
class UpdaterTest extends \Test\TestCase {
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
private $config;
- /** @var HTTPHelper */
- private $httpHelper;
/** @var ILogger */
private $logger;
/** @var Updater */
@@ -43,9 +41,6 @@ class UpdaterTest extends \Test\TestCase {
$this->config = $this->getMockBuilder('\\OCP\\IConfig')
->disableOriginalConstructor()
->getMock();
- $this->httpHelper = $this->getMockBuilder('\\OC\\HTTPHelper')
- ->disableOriginalConstructor()
- ->getMock();
$this->logger = $this->getMockBuilder('\\OCP\\ILogger')
->disableOriginalConstructor()
->getMock();
@@ -54,7 +49,6 @@ class UpdaterTest extends \Test\TestCase {
->getMock();
$this->updater = new Updater(
- $this->httpHelper,
$this->config,
$this->checker,
$this->logger
@@ -184,237 +178,4 @@ class UpdaterTest extends \Test\TestCase {
$this->assertSame(false, $this->invokePrivate($this->updater, 'skip3rdPartyAppsDisable'));
}
- public function testCheckInCache() {
- $expectedResult = [
- 'version' => '8.0.4.2',
- 'versionstring' => 'ownCloud 8.0.4',
- 'url' => 'https://download.owncloud.org/community/owncloud-8.0.4.zip',
- 'web' => 'http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html',
- ];
-
- $this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue(time()));
- $this->config
- ->expects($this->at(1))
- ->method('getAppValue')
- ->with('core', 'lastupdateResult')
- ->will($this->returnValue(json_encode($expectedResult)));
-
- $this->assertSame($expectedResult, $this->updater->check());
- }
-
- public function testCheckWithoutUpdateUrl() {
- $expectedResult = [
- 'version' => '8.0.4.2',
- 'versionstring' => 'ownCloud 8.0.4',
- 'url' => 'https://download.owncloud.org/community/owncloud-8.0.4.zip',
- 'web' => 'http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html',
- ];
-
- $this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue(0));
- $this->config
- ->expects($this->at(1))
- ->method('setAppValue')
- ->with('core', 'lastupdatedat', $this->isType('integer'));
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('core', 'installedat')
- ->will($this->returnValue('installedat'));
- $this->config
- ->expects($this->at(4))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue('lastupdatedat'));
- $this->config
- ->expects($this->at(5))
- ->method('setAppValue')
- ->with('core', 'lastupdateResult', json_encode($expectedResult));
-
- $updateXml = '<?xml version="1.0"?>
-<owncloud>
- <version>8.0.4.2</version>
- <versionstring>ownCloud 8.0.4</versionstring>
- <url>https://download.owncloud.org/community/owncloud-8.0.4.zip</url>
- <web>http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html</web>
-</owncloud>';
- $this->httpHelper
- ->expects($this->once())
- ->method('getUrlContent')
- ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
- ->will($this->returnValue($updateXml));
-
- $this->assertSame($expectedResult, $this->updater->check());
- }
-
- public function testCheckWithInvalidXml() {
- $this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue(0));
- $this->config
- ->expects($this->at(1))
- ->method('setAppValue')
- ->with('core', 'lastupdatedat', $this->isType('integer'));
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('core', 'installedat')
- ->will($this->returnValue('installedat'));
- $this->config
- ->expects($this->at(4))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue('lastupdatedat'));
- $this->config
- ->expects($this->at(5))
- ->method('setAppValue')
- ->with('core', 'lastupdateResult', 'false');
-
- $updateXml = 'Invalid XML Response!';
- $this->httpHelper
- ->expects($this->once())
- ->method('getUrlContent')
- ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
- ->will($this->returnValue($updateXml));
-
- $this->assertSame([], $this->updater->check());
- }
-
- public function testCheckWithUpdateUrl() {
- $expectedResult = [
- 'version' => '8.0.4.2',
- 'versionstring' => 'ownCloud 8.0.4',
- 'url' => 'https://download.owncloud.org/community/owncloud-8.0.4.zip',
- 'web' => 'http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html',
- ];
-
- $this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue(0));
- $this->config
- ->expects($this->at(1))
- ->method('setAppValue')
- ->with('core', 'lastupdatedat', $this->isType('integer'));
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('core', 'installedat')
- ->will($this->returnValue('installedat'));
- $this->config
- ->expects($this->at(4))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue('lastupdatedat'));
- $this->config
- ->expects($this->at(5))
- ->method('setAppValue')
- ->with('core', 'lastupdateResult', json_encode($expectedResult));
-
- $updateXml = '<?xml version="1.0"?>
-<owncloud>
- <version>8.0.4.2</version>
- <versionstring>ownCloud 8.0.4</versionstring>
- <url>https://download.owncloud.org/community/owncloud-8.0.4.zip</url>
- <web>http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html</web>
-</owncloud>';
- $this->httpHelper
- ->expects($this->once())
- ->method('getUrlContent')
- ->with($this->buildUpdateUrl('https://myupdater.com/'))
- ->will($this->returnValue($updateXml));
-
- $this->assertSame($expectedResult, $this->updater->check('https://myupdater.com/'));
- }
-
- public function testCheckWithEmptyValidXmlResponse() {
- $expectedResult = [
- 'version' => '',
- 'versionstring' => '',
- 'url' => '',
- 'web' => '',
- ];
-
- $this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue(0));
- $this->config
- ->expects($this->at(1))
- ->method('setAppValue')
- ->with('core', 'lastupdatedat', $this->isType('integer'));
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('core', 'installedat')
- ->will($this->returnValue('installedat'));
- $this->config
- ->expects($this->at(4))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue('lastupdatedat'));
-
- $updateXml = '<?xml version="1.0"?>
-<owncloud>
- <version></version>
- <versionstring></versionstring>
- <url></url>
- <web></web>
-</owncloud>';
- $this->httpHelper
- ->expects($this->once())
- ->method('getUrlContent')
- ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
- ->will($this->returnValue($updateXml));
-
- $this->assertSame($expectedResult, $this->updater->check());
- }
-
- public function testCheckWithEmptyInvalidXmlResponse() {
- $expectedResult = [];
-
- $this->config
- ->expects($this->at(0))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue(0));
- $this->config
- ->expects($this->at(1))
- ->method('setAppValue')
- ->with('core', 'lastupdatedat', $this->isType('integer'));
- $this->config
- ->expects($this->at(3))
- ->method('getAppValue')
- ->with('core', 'installedat')
- ->will($this->returnValue('installedat'));
- $this->config
- ->expects($this->at(4))
- ->method('getAppValue')
- ->with('core', 'lastupdatedat')
- ->will($this->returnValue('lastupdatedat'));
- $this->config
- ->expects($this->at(5))
- ->method('setAppValue')
- ->with('core', 'lastupdateResult', json_encode($expectedResult));
-
- $updateXml = '';
- $this->httpHelper
- ->expects($this->once())
- ->method('getUrlContent')
- ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
- ->will($this->returnValue($updateXml));
-
- $this->assertSame($expectedResult, $this->updater->check());
- }
}
diff --git a/tests/lib/updater/versioncheck.php b/tests/lib/updater/versioncheck.php
new file mode 100644
index 00000000000..76afe893a7a
--- /dev/null
+++ b/tests/lib/updater/versioncheck.php
@@ -0,0 +1,293 @@
+<?php
+/**
+ * @author Lukas Reschke <lukas@owncloud.com>
+ * @author Victor Dubiniuk <dubiniuk@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OC;
+
+use OC\Updater\VersionCheck;
+use OCP\IConfig;
+use OCP\Util;
+
+class VersionCheckTest extends \Test\TestCase {
+ /** @var IConfig| \PHPUnit_Framework_MockObject_MockObject */
+ private $config;
+ /** @var HTTPHelper | \PHPUnit_Framework_MockObject_MockObject*/
+ private $httpHelper;
+ /** @var VersionCheck */
+ private $updater;
+
+ public function setUp() {
+ parent::setUp();
+ $this->config = $this->getMockBuilder('\\OCP\\IConfig')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->httpHelper = $this->getMockBuilder('\\OC\\HTTPHelper')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->updater = new VersionCheck(
+ $this->httpHelper,
+ $this->config
+ );
+ }
+
+ /**
+ * @param string $baseUrl
+ * @return string
+ */
+ private function buildUpdateUrl($baseUrl) {
+ return $baseUrl . '?version='.implode('x', Util::getVersion()).'xinstalledatxlastupdatedatx'.\OC_Util::getChannel().'x'.\OC_Util::getEditionString().'x';
+ }
+
+ public function testCheckInCache() {
+ $expectedResult = [
+ 'version' => '8.0.4.2',
+ 'versionstring' => 'ownCloud 8.0.4',
+ 'url' => 'https://download.owncloud.org/community/owncloud-8.0.4.zip',
+ 'web' => 'http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html',
+ ];
+
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue(time()));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getAppValue')
+ ->with('core', 'lastupdateResult')
+ ->will($this->returnValue(json_encode($expectedResult)));
+
+ $this->assertSame($expectedResult, $this->updater->check());
+ }
+
+ public function testCheckWithoutUpdateUrl() {
+ $expectedResult = [
+ 'version' => '8.0.4.2',
+ 'versionstring' => 'ownCloud 8.0.4',
+ 'url' => 'https://download.owncloud.org/community/owncloud-8.0.4.zip',
+ 'web' => 'http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html',
+ ];
+
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue(0));
+ $this->config
+ ->expects($this->at(1))
+ ->method('setAppValue')
+ ->with('core', 'lastupdatedat', $this->isType('integer'));
+ $this->config
+ ->expects($this->at(3))
+ ->method('getAppValue')
+ ->with('core', 'installedat')
+ ->will($this->returnValue('installedat'));
+ $this->config
+ ->expects($this->at(4))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue('lastupdatedat'));
+ $this->config
+ ->expects($this->at(5))
+ ->method('setAppValue')
+ ->with('core', 'lastupdateResult', json_encode($expectedResult));
+
+ $updateXml = '<?xml version="1.0"?>
+<owncloud>
+ <version>8.0.4.2</version>
+ <versionstring>ownCloud 8.0.4</versionstring>
+ <url>https://download.owncloud.org/community/owncloud-8.0.4.zip</url>
+ <web>http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html</web>
+</owncloud>';
+ $this->httpHelper
+ ->expects($this->once())
+ ->method('getUrlContent')
+ ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
+ ->will($this->returnValue($updateXml));
+
+ $this->assertSame($expectedResult, $this->updater->check());
+ }
+
+ public function testCheckWithInvalidXml() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue(0));
+ $this->config
+ ->expects($this->at(1))
+ ->method('setAppValue')
+ ->with('core', 'lastupdatedat', $this->isType('integer'));
+ $this->config
+ ->expects($this->at(3))
+ ->method('getAppValue')
+ ->with('core', 'installedat')
+ ->will($this->returnValue('installedat'));
+ $this->config
+ ->expects($this->at(4))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue('lastupdatedat'));
+ $this->config
+ ->expects($this->at(5))
+ ->method('setAppValue')
+ ->with('core', 'lastupdateResult', 'false');
+
+ $updateXml = 'Invalid XML Response!';
+ $this->httpHelper
+ ->expects($this->once())
+ ->method('getUrlContent')
+ ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
+ ->will($this->returnValue($updateXml));
+
+ $this->assertSame([], $this->updater->check());
+ }
+
+ public function testCheckWithUpdateUrl() {
+ $expectedResult = [
+ 'version' => '8.0.4.2',
+ 'versionstring' => 'ownCloud 8.0.4',
+ 'url' => 'https://download.owncloud.org/community/owncloud-8.0.4.zip',
+ 'web' => 'http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html',
+ ];
+
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue(0));
+ $this->config
+ ->expects($this->at(1))
+ ->method('setAppValue')
+ ->with('core', 'lastupdatedat', $this->isType('integer'));
+ $this->config
+ ->expects($this->at(3))
+ ->method('getAppValue')
+ ->with('core', 'installedat')
+ ->will($this->returnValue('installedat'));
+ $this->config
+ ->expects($this->at(4))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue('lastupdatedat'));
+ $this->config
+ ->expects($this->at(5))
+ ->method('setAppValue')
+ ->with('core', 'lastupdateResult', json_encode($expectedResult));
+
+ $updateXml = '<?xml version="1.0"?>
+<owncloud>
+ <version>8.0.4.2</version>
+ <versionstring>ownCloud 8.0.4</versionstring>
+ <url>https://download.owncloud.org/community/owncloud-8.0.4.zip</url>
+ <web>http://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html</web>
+</owncloud>';
+ $this->httpHelper
+ ->expects($this->once())
+ ->method('getUrlContent')
+ ->with($this->buildUpdateUrl('https://myupdater.com/'))
+ ->will($this->returnValue($updateXml));
+
+ $this->assertSame($expectedResult, $this->updater->check('https://myupdater.com/'));
+ }
+
+ public function testCheckWithEmptyValidXmlResponse() {
+ $expectedResult = [
+ 'version' => '',
+ 'versionstring' => '',
+ 'url' => '',
+ 'web' => '',
+ ];
+
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue(0));
+ $this->config
+ ->expects($this->at(1))
+ ->method('setAppValue')
+ ->with('core', 'lastupdatedat', $this->isType('integer'));
+ $this->config
+ ->expects($this->at(3))
+ ->method('getAppValue')
+ ->with('core', 'installedat')
+ ->will($this->returnValue('installedat'));
+ $this->config
+ ->expects($this->at(4))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue('lastupdatedat'));
+
+ $updateXml = '<?xml version="1.0"?>
+<owncloud>
+ <version></version>
+ <versionstring></versionstring>
+ <url></url>
+ <web></web>
+</owncloud>';
+ $this->httpHelper
+ ->expects($this->once())
+ ->method('getUrlContent')
+ ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
+ ->will($this->returnValue($updateXml));
+
+ $this->assertSame($expectedResult, $this->updater->check());
+ }
+
+ public function testCheckWithEmptyInvalidXmlResponse() {
+ $expectedResult = [];
+
+ $this->config
+ ->expects($this->at(0))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue(0));
+ $this->config
+ ->expects($this->at(1))
+ ->method('setAppValue')
+ ->with('core', 'lastupdatedat', $this->isType('integer'));
+ $this->config
+ ->expects($this->at(3))
+ ->method('getAppValue')
+ ->with('core', 'installedat')
+ ->will($this->returnValue('installedat'));
+ $this->config
+ ->expects($this->at(4))
+ ->method('getAppValue')
+ ->with('core', 'lastupdatedat')
+ ->will($this->returnValue('lastupdatedat'));
+ $this->config
+ ->expects($this->at(5))
+ ->method('setAppValue')
+ ->with('core', 'lastupdateResult', json_encode($expectedResult));
+
+ $updateXml = '';
+ $this->httpHelper
+ ->expects($this->once())
+ ->method('getUrlContent')
+ ->with($this->buildUpdateUrl('https://updates.owncloud.com/server/'))
+ ->will($this->returnValue($updateXml));
+
+ $this->assertSame($expectedResult, $this->updater->check());
+ }
+}