diff options
| author | Daniel Weipert <git@mail.dweipert.de> | 2025-08-13 10:45:10 +0200 | 
|---|---|---|
| committer | Daniel Weipert <git@mail.dweipert.de> | 2025-08-13 10:46:40 +0200 | 
| commit | beb68ad3ddc48f9e913815e0e18f11965201f32e (patch) | |
| tree | c8f3cdabedb6f2635bd0f5378bc5e426ba8c5f65 | |
| parent | 6b7e857f21bef9ba71ac36c202678ec0d84eeff5 (diff) | |
whitespace :]
| -rw-r--r-- | docker-compose.yml | 4 | ||||
| -rw-r--r-- | phpunit.xml | 4 | ||||
| -rw-r--r-- | src/App.php | 2 | ||||
| -rw-r--r-- | src/Controllers/KeyController.php | 2 | ||||
| -rw-r--r-- | src/Controllers/ServerDiscoveryController.php | 4 | ||||
| -rw-r--r-- | src/Controllers/ServerImplementationController.php | 2 | ||||
| -rw-r--r-- | src/DB.php | 6 | ||||
| -rw-r--r-- | src/ErrorCode.php | 2 | ||||
| -rw-r--r-- | src/Router.php | 22 | ||||
| -rw-r--r-- | src/Singleton.php | 4 | ||||
| -rw-r--r-- | src/routes.php | 14 | ||||
| -rw-r--r-- | tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php | 2 | ||||
| -rw-r--r-- | tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php | 2 | ||||
| -rw-r--r-- | tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php | 2 | ||||
| -rw-r--r-- | tests/PHPUnit/TestCases/HttpResponseTestCase.php | 6 | ||||
| -rw-r--r-- | tests/ServerImplementationTest.php | 14 | 
16 files changed, 46 insertions, 46 deletions
| diff --git a/docker-compose.yml b/docker-compose.yml index 2fd644f..4ec2c2e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,12 +9,12 @@ services:        - "POSTGRES_PASSWORD=${DB_PASSWORD}"      volumes:        - "db:/var/lib/postgresql/data" -   +    php:      build: "docker/php"      volumes:        - "./:/var/www/html" -   +    web:      build: "docker/nginx"      ports: diff --git a/phpunit.xml b/phpunit.xml index becac3d..a2c5ea5 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -19,13 +19,13 @@              <directory>tests</directory>          </testsuite>      </testsuites> -     +      <source ignoreIndirectDeprecations="true" restrictNotices="true" restrictWarnings="true">          <include>              <directory>src</directory>          </include>      </source> -     +      <extensions>        <bootstrap class="Tests\PHPUnit\Extensions\ServerExtension\ServerExtension" />      </extensions> diff --git a/src/App.php b/src/App.php index 4c67f76..33f71ef 100644 --- a/src/App.php +++ b/src/App.php @@ -11,7 +11,7 @@ class App      $dotenv = new Dotenv();      $dotenv->load(dirname(__DIR__) . "/.env");    } -   +    public function run(): void    {      Router::getInstance()->run()->send(); diff --git a/src/Controllers/KeyController.php b/src/Controllers/KeyController.php index bde1642..04f2c6d 100644 --- a/src/Controllers/KeyController.php +++ b/src/Controllers/KeyController.php @@ -16,7 +16,7 @@ class KeyController        ],      ]);    } -   +    public function query(string $serverName): Response    {}  } diff --git a/src/Controllers/ServerDiscoveryController.php b/src/Controllers/ServerDiscoveryController.php index 076329b..c4e5ea7 100644 --- a/src/Controllers/ServerDiscoveryController.php +++ b/src/Controllers/ServerDiscoveryController.php @@ -13,7 +13,7 @@ class ServerDiscoveryController        "m.server" => "$_ENV[DOMAIN]:443",      ]);    } -   +    public function client(): Response    {      return new JsonResponse([ @@ -22,7 +22,7 @@ class ServerDiscoveryController        ],      ]);    } -   +    public function support(): Response    {      return new JsonResponse([ diff --git a/src/Controllers/ServerImplementationController.php b/src/Controllers/ServerImplementationController.php index b5d9d0f..e168a65 100644 --- a/src/Controllers/ServerImplementationController.php +++ b/src/Controllers/ServerImplementationController.php @@ -16,7 +16,7 @@ class ServerImplementationController        ],      ]);    } -   +    public function versions(): Response    {      return new JsonResponse([ @@ -5,9 +5,9 @@ namespace App;  class DB  {    use Singleton; -   +    private \PDO $connection; -   +    public function __construct()    {      $driver = $_ENV['DB_DRIVER'] ?? 'pgsql'; @@ -16,7 +16,7 @@ class DB      $dbname = $_ENV['DB_NAME'];      $user = $_ENV['DB_USER'];      $password = $_ENV['DB_PASSWORD']; -     +      $this->connection = new \PDO("$driver:host=$host;port=$port;dbname=$dbname", $user, $password);    }  } diff --git a/src/ErrorCode.php b/src/ErrorCode.php index 048ef34..7a99374 100644 --- a/src/ErrorCode.php +++ b/src/ErrorCode.php @@ -6,6 +6,6 @@ enum ErrorCode: string  {    case FORBIDDEN = "M_FORBIDDEN";    case UNKNOWN_TOKEN = "M_UNKNOWN_TOKEN"; -   +    case UNKNOWN = "M_UNKNOWN";  } diff --git a/src/Router.php b/src/Router.php index e0b09ad..437d995 100644 --- a/src/Router.php +++ b/src/Router.php @@ -12,18 +12,18 @@ use Symfony\Component\Routing\RouteCollection;  class Router  {    use Singleton; -   +    private RouteCollection $routes;    private RouteConfigurator $configurator; -   +    public function __construct()    {      $this->routes = new RouteCollection();      $this->configurator = new RouteConfigurator($this->routes, $this->routes); -     +      $this->addRoutes();    } -   +    /**     * match the current url against the routes.     * also add preflight CORS headers on OPTIONS requests. @@ -31,7 +31,7 @@ class Router    public function run(): Response    {      $request = Request::createFromGlobals(); -     +      if ($request->isMethod("OPTIONS")) {        $response = new Response();        $response->headers->add([ @@ -39,26 +39,26 @@ class Router          "Access-Control-Allow-Methods" => "GET, POST, PUT, DELETE, OPTIONS, PATCH, HEAD",          "Access-Control-Allow-Headers" => "X-Requested-With, Content-Type, Authorization",        ]); -       +        return $response;      } -     +      $context = new RequestContext();      $context->fromRequest($request); -     +      try {        $matcher = new UrlMatcher($this->routes, $context);        $match = $matcher->matchRequest($request); -       +        $class = $match["_controller"][0];        $method = $match["_controller"][1]; -       +        return (new $class)->$method();      } catch (\Exception $exception) {        return new ErrorResponse(ErrorCode::UNKNOWN, "Unknown error occured");      }    } -   +    /**     * add routes from the routes file     */ diff --git a/src/Singleton.php b/src/Singleton.php index b4d4598..864da59 100644 --- a/src/Singleton.php +++ b/src/Singleton.php @@ -5,13 +5,13 @@ namespace App;  trait Singleton  {    private static self $instance; -   +    public static function getInstance(): self    {      if (! isset(self::$instance)) {        self::$instance = new self();      } -     +      return self::$instance;    }  } diff --git a/src/routes.php b/src/routes.php index 25e2e1f..21113dc 100644 --- a/src/routes.php +++ b/src/routes.php @@ -12,30 +12,30 @@ return function (RouteConfigurator $routes): void      ->add("well_known_matrix_server", "/.well-known/matrix/server")      ->controller([ServerDiscoveryController::class, "server"])      ->methods(["GET"]); -     +    $routes      ->add("well_known_matrix_client", "/.well-known/matrix/client")      ->controller([ServerDiscoveryController::class, "client"])      ->methods(["GET"]); -     +    $routes      ->add("well_known_matrix_support", "/.well-known/matrix/support")      ->controller([ServerDiscoveryController::class, "support"])      ->methods(["GET"]); -     +    $routes      ->add("matrix_federation_version", "/_matrix/federation/v1/version")      ->controller([ServerImplementationController::class, "version"])      ->methods(["GET"]); -     +    $routes      ->add("matrix_client_versions", "/_matrix/client/versions")      ->controller([ServerImplementationController::class, "versions"])      ->methods(["GET"]); -   +    # /_matrix/key/v2/server    # /_matrix/key/v2/query    # /_matrix/key/v2/query/{serverName} -   -   + +  }; diff --git a/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php b/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php index 308394e..46b9377 100644 --- a/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php +++ b/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php @@ -9,7 +9,7 @@ class PostRunSubscriber implements ExecutionFinishedSubscriber  {    public function __construct(private readonly \stdClass $dataObject)    {} -   +    public function notify(ExecutionFinished $event): void    {      if ($this->dataObject->process_id > 0) { diff --git a/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php b/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php index ba35ee7..db5cdb4 100644 --- a/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php +++ b/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php @@ -9,7 +9,7 @@ class PreRunSubscriber implements ExecutionStartedSubscriber  {    public function __construct(private \stdClass $dataObject)    {} -   +    public function notify(ExecutionStarted $event): void    {      $this->dataObject->process_id = (int)shell_exec("php -S localhost:8080 -t public > /dev/null 2>&1 & echo $!"); diff --git a/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php b/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php index a98f593..9656a14 100644 --- a/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php +++ b/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php @@ -12,7 +12,7 @@ class ServerExtension implements Extension    public function bootstrap(Configuration $configuration, Facade $facade, ParameterCollection $parameters): void    {      $dataObject = new \stdClass(); -     +      $facade->registerSubscriber(new PreRunSubscriber($dataObject));      $facade->registerSubscriber(new PostRunSubscriber($dataObject));    } diff --git a/tests/PHPUnit/TestCases/HttpResponseTestCase.php b/tests/PHPUnit/TestCases/HttpResponseTestCase.php index 855e594..31dc1d7 100644 --- a/tests/PHPUnit/TestCases/HttpResponseTestCase.php +++ b/tests/PHPUnit/TestCases/HttpResponseTestCase.php @@ -9,14 +9,14 @@ use PHPUnit\Framework\TestCase;  class HttpResponseTestCase extends TestCase  {    protected Client $client; -   +    protected function setUp(): void    {      $this->client = new Client([        "base_uri" => "http://localhost:8080",      ]);    } -   +    /**     * @param array $options     */ @@ -28,7 +28,7 @@ class HttpResponseTestCase extends TestCase        ["http_errors" => false] + $options      );    } -   +    public function hasJsonBody(Response $response): bool    {      json_decode((string)$response->getBody()); diff --git a/tests/ServerImplementationTest.php b/tests/ServerImplementationTest.php index 88be7c4..a48a8b8 100644 --- a/tests/ServerImplementationTest.php +++ b/tests/ServerImplementationTest.php @@ -10,26 +10,26 @@ class ServerImplementationTest extends HttpResponseTestCase    public function testVersion(): void    {      $response = $this->request("GET", "/_matrix/federation/v1/version"); -     +      $this->assertEquals(Response::HTTP_OK, $response->getStatusCode());      $this->assertTrue($this->hasJsonBody($response)); -     +      $body = json_decode((string)$response->getBody(), true); -     +      $this->assertArrayHasKey("server", $body);      $this->assertArrayHasKey("name", $body["server"]);      $this->assertArrayHasKey("version", $body["server"]);    } -   +    public function testVersions(): void    {      $response = $this->request("GET", "/_matrix/client/versions"); -     +      $this->assertEquals(Response::HTTP_OK, $response->getStatusCode());      $this->assertTrue($this->hasJsonBody($response)); -     +      $body = json_decode((string)$response->getBody(), true); -     +      $this->assertIsArray($body["versions"]);      $this->assertTrue(count($body["versions"]) > 0);    } | 
