diff options
Diffstat (limited to 'fai_gestion/tests/TestCase')
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 |