From 4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Mon, 16 Jul 2018 00:09:33 +0200 Subject: Cake 3.6.7 fresh install --- fai_gestion/tests/Fixture/empty | 0 fai_gestion/tests/TestCase/ApplicationTest.php | 86 +++++++++++++++++++ .../tests/TestCase/Controller/Component/empty | 0 .../TestCase/Controller/PagesControllerTest.php | 97 ++++++++++++++++++++++ fai_gestion/tests/TestCase/Model/Behavior/empty | 0 fai_gestion/tests/TestCase/View/Helper/empty | 0 fai_gestion/tests/bootstrap.php | 12 +++ 7 files changed, 195 insertions(+) create mode 100644 fai_gestion/tests/Fixture/empty create mode 100644 fai_gestion/tests/TestCase/ApplicationTest.php create mode 100644 fai_gestion/tests/TestCase/Controller/Component/empty create mode 100644 fai_gestion/tests/TestCase/Controller/PagesControllerTest.php create mode 100644 fai_gestion/tests/TestCase/Model/Behavior/empty create mode 100644 fai_gestion/tests/TestCase/View/Helper/empty create mode 100644 fai_gestion/tests/bootstrap.php (limited to 'fai_gestion/tests') diff --git a/fai_gestion/tests/Fixture/empty b/fai_gestion/tests/Fixture/empty new file mode 100644 index 0000000..e69de29 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 @@ +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 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 @@ +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(''); + } + + /** + * 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 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 diff --git a/fai_gestion/tests/bootstrap.php b/fai_gestion/tests/bootstrap.php new file mode 100644 index 0000000..0ca191e --- /dev/null +++ b/fai_gestion/tests/bootstrap.php @@ -0,0 +1,12 @@ +