aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2016-01-25 11:39:57 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2016-01-25 11:39:57 +0100
commit2d7528bc64640240452711891ce0b339935797c0 (patch)
tree49a14f9d8cba52ab91ab4cbb6da08a2f0ae05c2c
parent7909c47b7c595acf2cd9e6ed2da4906339541311 (diff)
downloadnextcloud-server-2d7528bc64640240452711891ce0b339935797c0.tar.gz
nextcloud-server-2d7528bc64640240452711891ce0b339935797c0.zip
Adding unit tests
-rw-r--r--apps/dav/appinfo/app.php1
-rw-r--r--apps/dav/appinfo/application.php1
-rw-r--r--apps/federation/appinfo/application.php3
-rw-r--r--apps/federation/appinfo/info.xml2
-rw-r--r--apps/federation/lib/syncfederationaddressbooks.php7
-rw-r--r--apps/federation/tests/lib/syncfederationaddressbookstest.php66
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