Browse Source

Create config for the test suite

Sergio Brighenti 4 years ago
parent
commit
9de27e1278
7 changed files with 30 additions and 11 deletions
  1. 3 3
      bootstrap/app.php
  2. 1 0
      index.php
  3. 4 0
      phpunit.xml
  4. 0 4
      tests/Client.php
  5. 1 4
      tests/TestCase.php
  6. 4 0
      tests/bootstrap.php
  7. 17 0
      tests/config_test.php

+ 3 - 3
bootstrap/app.php

@@ -16,11 +16,11 @@ use Psr\Container\ContainerInterface as Container;
 use Psr\Http\Message\ServerRequestInterface as Request;
 use Psr\Http\Message\ServerRequestInterface as Request;
 use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
 use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
 
 
-if (!file_exists(BASE_DIR.'config.php') && is_dir(BASE_DIR.'install/')) {
+if (!file_exists(CONFIG_FILE) && is_dir(BASE_DIR.'install/')) {
     header('Location: ./install/');
     header('Location: ./install/');
     exit();
     exit();
 } else {
 } else {
-    if (!file_exists(BASE_DIR.'config.php') && !is_dir(BASE_DIR.'install/')) {
+    if (!file_exists(CONFIG_FILE) && !is_dir(BASE_DIR.'install/')) {
         exit('Cannot find the config file.');
         exit('Cannot find the config file.');
     }
     }
 }
 }
@@ -48,7 +48,7 @@ $config = array_replace_recursive([
         'base_domain' => null,
         'base_domain' => null,
         'user_domain' => null,
         'user_domain' => null,
     ],
     ],
-], require BASE_DIR.'config.php');
+], require CONFIG_FILE);
 
 
 $builder = new ContainerBuilder();
 $builder = new ContainerBuilder();
 
 

+ 1 - 0
index.php

@@ -5,6 +5,7 @@ require __DIR__.'/vendor/autoload.php';
 
 
 define('BASE_DIR', realpath(__DIR__).DIRECTORY_SEPARATOR);
 define('BASE_DIR', realpath(__DIR__).DIRECTORY_SEPARATOR);
 define('PLATFORM_VERSION', json_decode(file_get_contents('composer.json'))->version);
 define('PLATFORM_VERSION', json_decode(file_get_contents('composer.json'))->version);
+define('CONFIG_FILE', BASE_DIR.'config.php');
 
 
 $app = require_once __DIR__.'/bootstrap/app.php';
 $app = require_once __DIR__.'/bootstrap/app.php';
 $app->run();
 $app->run();

+ 4 - 0
phpunit.xml

@@ -26,4 +26,8 @@
              lowUpperBound="70"
              lowUpperBound="70"
              highLowerBound="90"/>
              highLowerBound="90"/>
     </logging>
     </logging>
+    <php>
+        <server name="HTTP_HOST" value="localhost"/>
+        <server name="HTTPS" value="false"/>
+    </php>
 </phpunit>
 </phpunit>

+ 0 - 4
tests/Client.php

@@ -11,14 +11,10 @@ class Client extends AbstractBrowser
 {
 {
     protected function doRequest($request)
     protected function doRequest($request)
     {
     {
-        define('BASE_DIR', realpath(__DIR__.'/../').DIRECTORY_SEPARATOR);
-        define('PLATFORM_VERSION', json_decode(file_get_contents(BASE_DIR.'composer.json'))->version);
-
         /** @var \Slim\App $app */
         /** @var \Slim\App $app */
         $app = require_once BASE_DIR.'bootstrap/app.php';
         $app = require_once BASE_DIR.'bootstrap/app.php';
         $response = $app->handle(new ServerRequest($request->getMethod(), $request->getUri(), [], $request->getContent()));
         $response = $app->handle(new ServerRequest($request->getMethod(), $request->getUri(), [], $request->getContent()));
 
 
-
         return new Response($response->getBody()->getContents(), $response->getStatusCode(), $response->getHeaders());
         return new Response($response->getBody()->getContents(), $response->getStatusCode(), $response->getHeaders());
     }
     }
 }
 }

+ 1 - 4
tests/TestCase.php

@@ -2,8 +2,8 @@
 
 
 namespace Tests;
 namespace Tests;
 
 
-use GuzzleHttp\Psr7\Response;
 use PHPUnit\Framework\TestCase as BaseTestCase;
 use PHPUnit\Framework\TestCase as BaseTestCase;
+use Symfony\Component\BrowserKit\Response;
 
 
 abstract class TestCase extends BaseTestCase
 abstract class TestCase extends BaseTestCase
 {
 {
@@ -12,9 +12,6 @@ abstract class TestCase extends BaseTestCase
 
 
     protected function setUp()
     protected function setUp()
     {
     {
-        $_SERVER['HTTP_HOST'] = 'http://localhost';
-        $_SERVER['HTTPS'] = false;
-
         $this->client = new Client();
         $this->client = new Client();
     }
     }
 
 

+ 4 - 0
tests/bootstrap.php

@@ -1,3 +1,7 @@
 <?php
 <?php
 
 
+define('BASE_DIR', realpath(__DIR__.'/../').DIRECTORY_SEPARATOR);
+define('PLATFORM_VERSION', json_decode(file_get_contents(BASE_DIR.'composer.json'))->version);
+define('CONFIG_FILE', BASE_DIR.'tests/config_test.php');
+
 ob_start();
 ob_start();

+ 17 - 0
tests/config_test.php

@@ -0,0 +1,17 @@
+<?php
+
+return [
+    'debug' => true,
+//    'db' =>
+//        [
+//            'connection' => 'sqlite',
+//            'dsn' => ':memory:',
+//            'username' => null,
+//            'password' => null,
+//        ],
+    'storage' =>
+        [
+            'driver' => 'local',
+            'path' => 'storage/test',
+        ],
+];