]> source.dussan.org Git - nextcloud-server.git/commitdiff
Adjust tests and statuscode
authorLukas Reschke <lukas@owncloud.com>
Thu, 16 Apr 2015 08:48:25 +0000 (10:48 +0200)
committerLukas Reschke <lukas@owncloud.com>
Mon, 20 Apr 2015 11:00:02 +0000 (13:00 +0200)
settings/controller/certificatecontroller.php
tests/lib/security/certificatemanager.php
tests/settings/controller/CertificateControllerTest.php

index c8d05a51240a8853a2f2564ca7b38f12a56a1ca3..d9026cd42afef7a820befcd764bfae533083254d 100644 (file)
@@ -76,7 +76,7 @@ class CertificateController extends Controller {
                                'issuerOrganization' => $certificate->getIssuerOrganization(),
                        ]);
                } catch (\Exception $e) {
-                       return new DataResponse('An error occurred.', Http::STATUS_INTERNAL_SERVER_ERROR);
+                       return new DataResponse('An error occurred.', Http::STATUS_UNPROCESSABLE_ENTITY);
                }
        }
 
index aea1fb71bc5bd861c13d4571cf4392730fbff2cf..fab1c208443ff0a093c1842e526dda02a613b1ea 100644 (file)
@@ -14,8 +14,6 @@ class CertificateManagerTest extends \Test\TestCase {
        private $certificateManager;
        /** @var String */
        private $username;
-       /** @var  \OC\User\User */
-       private $user;
 
        protected function setUp() {
                parent::setUp();
@@ -67,13 +65,25 @@ class CertificateManagerTest extends \Test\TestCase {
                $this->certificateManager->addCertificate('InvalidCertificate', 'invalidCertificate');
        }
 
+       /**
+        * @return array
+        */
+       public function dangerousFileProvider() {
+               return [
+                       ['.htaccess'],
+                       ['../../foo.txt'],
+                       ['..\..\foo.txt'],
+               ];
+       }
+
        /**
         * @expectedException \Exception
         * @expectedExceptionMessage Filename is not valid
+        * @dataProvider dangerousFileProvider
+        * @param string $filename
         */
-       function testAddDangerousFile() {
-               $this->certificateManager->addCertificate(file_get_contents(__DIR__.'/../../data/certificates/expiredCertificate.crt'), '.htaccess');
-               $this->certificateManager->addCertificate(file_get_contents(__DIR__.'/../../data/certificates/expiredCertificate.crt'), '../../foo.txt');
+       function testAddDangerousFile($filename) {
+               $this->certificateManager->addCertificate(file_get_contents(__DIR__.'/../../data/certificates/expiredCertificate.crt'), $filename);
        }
 
        function testRemoveDangerousFile() {
index 363175cca41ce1053955748f2f6c982fadb91a99..b6981195034f7883b3bd4c0a1b328885fec342a9 100644 (file)
@@ -141,7 +141,7 @@ class CertificateControllerTest extends \Test\TestCase {
                $this->assertEquals($expected, $this->certificateController->addPersonalRootCertificate());
        }
 
-       public function testAddPersonalRootCertificateInValidCertificate() {
+       public function testAddPersonalRootCertificateInvalidCertificate() {
                $uploadedFile = [
                        'tmp_name' => __DIR__ . '/../../data/certificates/badCertificate.crt',
                        'name' => 'badCertificate.crt',
@@ -155,10 +155,10 @@ class CertificateControllerTest extends \Test\TestCase {
                $this->certificateManager
                        ->expects($this->once())
                        ->method('addCertificate')
-                       ->with(file_get_contents($uploadedFile['tmp_name'], 'goodCertificate.crt'))
+                       ->with(file_get_contents($uploadedFile['tmp_name'], 'badCertificate.crt'))
                        ->will($this->throwException(new \Exception()));
 
-               $expected = new DataResponse('An error occurred.', Http::STATUS_INTERNAL_SERVER_ERROR);
+               $expected = new DataResponse('An error occurred.', Http::STATUS_UNPROCESSABLE_ENTITY);
                $this->assertEquals($expected, $this->certificateController->addPersonalRootCertificate());
        }