summaryrefslogtreecommitdiff
path: root/fai_gestion/tests/TestCase
diff options
context:
space:
mode:
Diffstat (limited to 'fai_gestion/tests/TestCase')
-rw-r--r--fai_gestion/tests/TestCase/ApplicationTest.php86
-rw-r--r--fai_gestion/tests/TestCase/Controller/Component/empty0
-rw-r--r--fai_gestion/tests/TestCase/Controller/PagesControllerTest.php97
-rw-r--r--fai_gestion/tests/TestCase/Model/Behavior/empty0
-rw-r--r--fai_gestion/tests/TestCase/View/Helper/empty0
5 files changed, 183 insertions, 0 deletions
diff --git a/fai_gestion/tests/TestCase/ApplicationTest.php b/fai_gestion/tests/TestCase/ApplicationTest.php
new file mode 100644
index 0000000..56a838c
--- /dev/null
+++ b/fai_gestion/tests/TestCase/ApplicationTest.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
+ * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * For full copyright and license information, please see the LICENSE.txt
+ * Redistributions of files must retain the above copyright notice
+ *
+ * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
+ * @link https://cakephp.org CakePHP(tm) Project
+ * @since 3.3.0
+ * @license https://opensource.org/licenses/mit-license.php MIT License
+ */
+namespace App\Test\TestCase;
+
+use App\Application;
+use Cake\Error\Middleware\ErrorHandlerMiddleware;
+use Cake\Http\MiddlewareQueue;
+use Cake\Http\Middleware\CsrfProtectionMiddleware;
+use Cake\Routing\Middleware\AssetMiddleware;
+use Cake\Routing\Middleware\RoutingMiddleware;
+use Cake\TestSuite\IntegrationTestCase;
+use InvalidArgumentException;
+
+/**
+ * ApplicationTest class
+ */
+class ApplicationTest extends IntegrationTestCase
+{
+
+ /**
+ * testBootstrap
+ *
+ * @return void
+ */
+ public function testBootstrap()
+ {
+ $app = new Application(dirname(dirname(__DIR__)) . '/config');
+ $app->bootstrap();
+ $plugins = $app->getPlugins();
+
+ $this->assertCount(3, $plugins);
+ $this->assertSame('Bake', $plugins->get('Bake')->getName());
+ $this->assertSame('Migrations', $plugins->get('Migrations')->getName());
+ $this->assertSame('DebugKit', $plugins->get('DebugKit')->getName());
+ }
+
+ /**
+ * testBootstrapPluginWitoutHalt
+ *
+ * @return void
+ */
+ public function testBootstrapPluginWitoutHalt()
+ {
+ $this->expectException(InvalidArgumentException::class);
+
+ $app = $this->getMockBuilder(Application::class)
+ ->setConstructorArgs([dirname(dirname(__DIR__)) . '/config'])
+ ->setMethods(['addPlugin'])
+ ->getMock();
+
+ $app->method('addPlugin')
+ ->will($this->throwException(new InvalidArgumentException('test exception.')));
+
+ $app->bootstrap();
+ }
+
+ /**
+ * testMiddleware
+ *
+ * @return void
+ */
+ public function testMiddleware()
+ {
+ $app = new Application(dirname(dirname(__DIR__)) . '/config');
+ $middleware = new MiddlewareQueue();
+
+ $middleware = $app->middleware($middleware);
+
+ $this->assertInstanceOf(ErrorHandlerMiddleware::class, $middleware->get(0));
+ $this->assertInstanceOf(AssetMiddleware::class, $middleware->get(1));
+ $this->assertInstanceOf(RoutingMiddleware::class, $middleware->get(2));
+ $this->assertInstanceOf(CsrfProtectionMiddleware::class, $middleware->get(3));
+ }
+}
diff --git a/fai_gestion/tests/TestCase/Controller/Component/empty b/fai_gestion/tests/TestCase/Controller/Component/empty
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/fai_gestion/tests/TestCase/Controller/Component/empty
diff --git a/fai_gestion/tests/TestCase/Controller/PagesControllerTest.php b/fai_gestion/tests/TestCase/Controller/PagesControllerTest.php
new file mode 100644
index 0000000..11b8b1d
--- /dev/null
+++ b/fai_gestion/tests/TestCase/Controller/PagesControllerTest.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
+ * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * For full copyright and license information, please see the LICENSE.txt
+ * Redistributions of files must retain the above copyright notice
+ *
+ * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
+ * @link https://cakephp.org CakePHP(tm) Project
+ * @since 1.2.0
+ * @license https://opensource.org/licenses/mit-license.php MIT License
+ */
+namespace App\Test\TestCase\Controller;
+
+use App\Controller\PagesController;
+use Cake\Core\App;
+use Cake\Core\Configure;
+use Cake\Http\Response;
+use Cake\Http\ServerRequest;
+use Cake\TestSuite\IntegrationTestCase;
+use Cake\View\Exception\MissingTemplateException;
+
+/**
+ * PagesControllerTest class
+ */
+class PagesControllerTest extends IntegrationTestCase
+{
+ /**
+ * testMultipleGet method
+ *
+ * @return void
+ */
+ public function testMultipleGet()
+ {
+ $this->get('/');
+ $this->assertResponseOk();
+ $this->get('/');
+ $this->assertResponseOk();
+ }
+
+ /**
+ * testDisplay method
+ *
+ * @return void
+ */
+ public function testDisplay()
+ {
+ $this->get('/pages/home');
+ $this->assertResponseOk();
+ $this->assertResponseContains('CakePHP');
+ $this->assertResponseContains('<html>');
+ }
+
+ /**
+ * Test that missing template renders 404 page in production
+ *
+ * @return void
+ */
+ public function testMissingTemplate()
+ {
+ Configure::write('debug', false);
+ $this->get('/pages/not_existing');
+
+ $this->assertResponseError();
+ $this->assertResponseContains('Error');
+ }
+
+ /**
+ * Test that missing template in debug mode renders missing_template error page
+ *
+ * @return void
+ */
+ public function testMissingTemplateInDebug()
+ {
+ Configure::write('debug', true);
+ $this->get('/pages/not_existing');
+
+ $this->assertResponseFailure();
+ $this->assertResponseContains('Missing Template');
+ $this->assertResponseContains('Stacktrace');
+ $this->assertResponseContains('not_existing.ctp');
+ }
+
+ /**
+ * Test directory traversal protection
+ *
+ * @return void
+ */
+ public function testDirectoryTraversalProtection()
+ {
+ $this->get('/pages/../Layout/ajax');
+ $this->assertResponseCode(403);
+ $this->assertResponseContains('Forbidden');
+ }
+}
diff --git a/fai_gestion/tests/TestCase/Model/Behavior/empty b/fai_gestion/tests/TestCase/Model/Behavior/empty
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/fai_gestion/tests/TestCase/Model/Behavior/empty
diff --git a/fai_gestion/tests/TestCase/View/Helper/empty b/fai_gestion/tests/TestCase/View/Helper/empty
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/fai_gestion/tests/TestCase/View/Helper/empty