summaryrefslogtreecommitdiffstats
path: root/apps/federation/tests
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 /apps/federation/tests
parent7909c47b7c595acf2cd9e6ed2da4906339541311 (diff)
downloadnextcloud-server-2d7528bc64640240452711891ce0b339935797c0.tar.gz
nextcloud-server-2d7528bc64640240452711891ce0b339935797c0.zip
Adding unit tests
Diffstat (limited to 'apps/federation/tests')
-rw-r--r--apps/federation/tests/lib/syncfederationaddressbookstest.php66
1 files changed, 66 insertions, 0 deletions
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