]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix unit tests
authorJoas Schilling <coding@schilljs.com>
Tue, 14 Apr 2020 16:55:41 +0000 (18:55 +0200)
committerJoas Schilling <coding@schilljs.com>
Wed, 15 Apr 2020 06:06:51 +0000 (08:06 +0200)
Signed-off-by: Joas Schilling <coding@schilljs.com>
apps/dav/tests/unit/CalDAV/WebcalCaching/RefreshWebcalServiceTest.php
tests/lib/Http/Client/ClientServiceTest.php

index 8de32ad8c355e13267c7b580919794557ba52fa1..e662f4651a079720b7fc63d9088feca244c6ce23 100644 (file)
@@ -31,6 +31,7 @@ use OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService;
 use OCP\Http\Client\IClient;
 use OCP\Http\Client\IClientService;
 use OCP\Http\Client\IResponse;
+use OCP\Http\Client\LocalServerException;
 use OCP\IConfig;
 use OCP\ILogger;
 use PHPUnit\Framework\MockObject\MockObject;
@@ -170,8 +171,12 @@ class RefreshWebcalServiceTest extends TestCase {
         * @param string $source
         */
        public function testRunLocalURL($source) {
-               $refreshWebcalService = new RefreshWebcalService($this->caldavBackend,
-                       $this->clientService, $this->config, $this->logger);
+               $refreshWebcalService = new RefreshWebcalService(
+                       $this->caldavBackend,
+                       $this->clientService,
+                       $this->config,
+                       $this->logger
+               );
 
                $this->caldavBackend->expects($this->once())
                        ->method('getSubscriptionsForUser')
@@ -199,8 +204,13 @@ class RefreshWebcalServiceTest extends TestCase {
                        ->with('dav', 'webcalAllowLocalAccess', 'no')
                        ->willReturn('no');
 
-               $client->expects($this->never())
-                       ->method('get');
+               $client->expects($this->once())
+                       ->method('get')
+                       ->willThrowException(new LocalServerException());
+
+               $this->logger->expects($this->once())
+                       ->method('logException')
+                       ->with($this->isInstanceOf(LocalServerException::class), $this->anything());
 
                $refreshWebcalService->refreshSubscription('principals/users/testuser', 'sub123');
        }
@@ -221,7 +231,42 @@ class RefreshWebcalServiceTest extends TestCase {
                        ['10.0.0.1'],
                        ['another-host.local'],
                        ['service.localhost'],
-                       ['!@#$'], // test invalid url
                ];
        }
+
+       public function testInvalidUrl() {
+               $refreshWebcalService = new RefreshWebcalService($this->caldavBackend,
+                       $this->clientService, $this->config, $this->logger);
+
+               $this->caldavBackend->expects($this->once())
+                       ->method('getSubscriptionsForUser')
+                       ->with('principals/users/testuser')
+                       ->willReturn([
+                               [
+                                       'id' => 42,
+                                       'uri' => 'sub123',
+                                       'refreshreate' => 'P1H',
+                                       'striptodos' => 1,
+                                       'stripalarms' => 1,
+                                       'stripattachments' => 1,
+                                       'source' => '!@#$'
+                               ],
+                       ]);
+
+               $client = $this->createMock(IClient::class);
+               $this->clientService->expects($this->once())
+                       ->method('newClient')
+                       ->with()
+                       ->willReturn($client);
+
+               $this->config->expects($this->once())
+                       ->method('getAppValue')
+                       ->with('dav', 'webcalAllowLocalAccess', 'no')
+                       ->willReturn('no');
+
+               $client->expects($this->never())
+                       ->method('get');
+
+               $refreshWebcalService->refreshSubscription('principals/users/testuser', 'sub123');
+       }
 }
index 02f331483dea60c6bc1bb111b22605c6a543a32e..b1bc5a188ce729285b5f40abe8b2c12a9b3ae116 100644 (file)
@@ -13,6 +13,7 @@ use OC\Http\Client\Client;
 use OC\Http\Client\ClientService;
 use OCP\ICertificateManager;
 use OCP\IConfig;
+use OCP\ILogger;
 
 /**
  * Class ClientServiceTest
@@ -23,10 +24,11 @@ class ClientServiceTest extends \Test\TestCase {
                $config = $this->createMock(IConfig::class);
                /** @var ICertificateManager $certificateManager */
                $certificateManager = $this->createMock(ICertificateManager::class);
+               $logger = $this->createMock(ILogger::class);
 
-               $clientService = new ClientService($config, $certificateManager);
+               $clientService = new ClientService($config, $logger, $certificateManager);
                $this->assertEquals(
-                       new Client($config, $certificateManager, new GuzzleClient()),
+                       new Client($config, $logger, $certificateManager, new GuzzleClient()),
                        $clientService->newClient()
                );
        }