diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-25 11:39:57 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-25 11:39:57 +0100 |
commit | 2d7528bc64640240452711891ce0b339935797c0 (patch) | |
tree | 49a14f9d8cba52ab91ab4cbb6da08a2f0ae05c2c | |
parent | 7909c47b7c595acf2cd9e6ed2da4906339541311 (diff) | |
download | nextcloud-server-2d7528bc64640240452711891ce0b339935797c0.tar.gz nextcloud-server-2d7528bc64640240452711891ce0b339935797c0.zip |
Adding unit tests
-rw-r--r-- | apps/dav/appinfo/app.php | 1 | ||||
-rw-r--r-- | apps/dav/appinfo/application.php | 1 | ||||
-rw-r--r-- | apps/federation/appinfo/application.php | 3 | ||||
-rw-r--r-- | apps/federation/appinfo/info.xml | 2 | ||||
-rw-r--r-- | apps/federation/lib/syncfederationaddressbooks.php | 7 | ||||
-rw-r--r-- | apps/federation/tests/lib/syncfederationaddressbookstest.php | 66 |
6 files changed, 72 insertions, 8 deletions
diff --git a/apps/dav/appinfo/app.php b/apps/dav/appinfo/app.php index b5bf9bd0e73..d33545222b0 100644 --- a/apps/dav/appinfo/app.php +++ b/apps/dav/appinfo/app.php @@ -25,7 +25,6 @@ $app = new Application(); $app->registerHooks(); \OC::$server->registerService('CardDAVSyncService', function() use ($app) { - return $app->getSyncService(); }); diff --git a/apps/dav/appinfo/application.php b/apps/dav/appinfo/application.php index 2a27dbeb016..d8cf2a34115 100644 --- a/apps/dav/appinfo/application.php +++ b/apps/dav/appinfo/application.php @@ -20,7 +20,6 @@ */ namespace OCA\Dav\AppInfo; -use OCA\DAV\CardDAV\CardDavBackend; use OCA\DAV\CardDAV\ContactsManager; use OCA\DAV\CardDAV\SyncJob; use OCA\DAV\CardDAV\SyncService; diff --git a/apps/federation/appinfo/application.php b/apps/federation/appinfo/application.php index 6137b34e28d..0d033f44982 100644 --- a/apps/federation/appinfo/application.php +++ b/apps/federation/appinfo/application.php @@ -174,8 +174,9 @@ class Application extends \OCP\AppFramework\App { * @return SyncFederationAddressBooks */ public function getSyncService() { + $syncService = \OC::$server->query('CardDAVSyncService'); $dbHandler = $this->getContainer()->query('DbHandler'); - return new SyncFederationAddressBooks($dbHandler); + return new SyncFederationAddressBooks($dbHandler, $syncService); } } diff --git a/apps/federation/appinfo/info.xml b/apps/federation/appinfo/info.xml index 54ea4831be0..7786deef38e 100644 --- a/apps/federation/appinfo/info.xml +++ b/apps/federation/appinfo/info.xml @@ -5,7 +5,7 @@ <description>ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing.</description> <licence>AGPL</licence> <author>Bjoern Schiessle</author> - <version>0.0.2</version> + <version>0.0.3</version> <namespace>Federation</namespace> <category>other</category> <dependencies> diff --git a/apps/federation/lib/syncfederationaddressbooks.php b/apps/federation/lib/syncfederationaddressbooks.php index cff848bf135..f9f402ea031 100644 --- a/apps/federation/lib/syncfederationaddressbooks.php +++ b/apps/federation/lib/syncfederationaddressbooks.php @@ -19,9 +19,8 @@ class SyncFederationAddressBooks { /** * @param DbHandler $dbHandler */ - function __construct(DbHandler $dbHandler) { - - $this->syncService = \OC::$server->query('CardDAVSyncService'); + function __construct(DbHandler $dbHandler, $syncService) { + $this->syncService = $syncService; $this->dbHandler = $dbHandler; } @@ -30,7 +29,7 @@ class SyncFederationAddressBooks { $trustedServers = $this->dbHandler->getAllServer(); foreach ($trustedServers as $trustedServer) { $url = $trustedServer['url']; - $callback($url); + $callback($url, null); $sharedSecret = $trustedServer['shared_secret']; $syncToken = $trustedServer['sync_token']; diff --git a/apps/federation/tests/lib/syncfederationaddressbookstest.php b/apps/federation/tests/lib/syncfederationaddressbookstest.php new file mode 100644 index 00000000000..6932c1e1360 --- /dev/null +++ b/apps/federation/tests/lib/syncfederationaddressbookstest.php @@ -0,0 +1,66 @@ +<?php + +namespace OCA\Federation\Tests\lib; + +use OCA\Federation\DbHandler; +use OCA\Federation\SyncFederationAddressBooks; + +class SyncFederationAddressbooksTest extends \Test\TestCase { + + /** @var array */ + private $callBacks = []; + + function testSync() { + /** @var DbHandler | \PHPUnit_Framework_MockObject_MockObject $dbHandler */ + $dbHandler = $this->getMockBuilder('OCA\Federation\DbHandler')-> + disableOriginalConstructor()-> + getMock(); + $dbHandler->method('getAllServer')-> + willReturn([ + [ + 'url' => 'https://cloud.drop.box', + 'shared_secret' => 'iloveowncloud', + 'sync_token' => '0' + ] + ]); + $dbHandler->expects($this->once())->method('setServerStatus')-> + with('https://cloud.drop.box', 1, '1'); + $syncService = $this->getMockBuilder('OCA\DAV\CardDAV\SyncService') + ->disableOriginalConstructor() + ->getMock(); + $syncService->expects($this->once())->method('syncRemoteAddressBook') + ->willReturn(1); + + $s = new SyncFederationAddressBooks($dbHandler, $syncService); + $s->syncThemAll(function($url, $ex) { + $this->callBacks[] = [$url, $ex]; + }); + $this->assertEquals(1, count($this->callBacks)); + } + + function testException() { + /** @var DbHandler | \PHPUnit_Framework_MockObject_MockObject $dbHandler */ + $dbHandler = $this->getMockBuilder('OCA\Federation\DbHandler')-> + disableOriginalConstructor()-> + getMock(); + $dbHandler->method('getAllServer')-> + willReturn([ + [ + 'url' => 'https://cloud.drop.box', + 'shared_secret' => 'iloveowncloud', + 'sync_token' => '0' + ] + ]); + $syncService = $this->getMockBuilder('OCA\DAV\CardDAV\SyncService') + ->disableOriginalConstructor() + ->getMock(); + $syncService->expects($this->once())->method('syncRemoteAddressBook') + ->willThrowException(new \Exception('something did not work out')); + + $s = new SyncFederationAddressBooks($dbHandler, $syncService); + $s->syncThemAll(function($url, $ex) { + $this->callBacks[] = [$url, $ex]; + }); + $this->assertEquals(2, count($this->callBacks)); + } +}
\ No newline at end of file |