From db014ebf9f8f84a1a0d0972298e70bf29e57c37e Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Tue, 26 Aug 2025 11:30:49 +0200 Subject: create .cache directory and move tests to Integration directory --- .gitignore | 4 +-- bin/matrix-commander | 6 +++- bin/matrix-commander-login | 2 ++ composer.json | 2 +- phpunit.xml | 8 ++--- .../ServerExtension/PostRunSubscriber.php | 19 +++++++++++ .../ServerExtension/PreRunSubscriber.php | 18 +++++++++++ .../Extensions/ServerExtension/ServerExtension.php | 19 +++++++++++ tests/Integration/ServerImplementationTest.php | 36 +++++++++++++++++++++ .../Integration/TestCases/HttpResponseTestCase.php | 37 ++++++++++++++++++++++ .../ServerExtension/PostRunSubscriber.php | 19 ----------- .../ServerExtension/PreRunSubscriber.php | 18 ----------- .../Extensions/ServerExtension/ServerExtension.php | 19 ----------- tests/PHPUnit/TestCases/HttpResponseTestCase.php | 37 ---------------------- tests/ServerImplementationTest.php | 36 --------------------- 15 files changed, 142 insertions(+), 138 deletions(-) create mode 100644 tests/Integration/Extensions/ServerExtension/PostRunSubscriber.php create mode 100644 tests/Integration/Extensions/ServerExtension/PreRunSubscriber.php create mode 100644 tests/Integration/Extensions/ServerExtension/ServerExtension.php create mode 100644 tests/Integration/ServerImplementationTest.php create mode 100644 tests/Integration/TestCases/HttpResponseTestCase.php delete mode 100644 tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php delete mode 100644 tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php delete mode 100644 tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php delete mode 100644 tests/PHPUnit/TestCases/HttpResponseTestCase.php delete mode 100644 tests/ServerImplementationTest.php diff --git a/.gitignore b/.gitignore index 62a128a..0ec40b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ /vendor/ -/.phpunit.cache/ .env -/credentials.json -/store/ +/.cache/ diff --git a/bin/matrix-commander b/bin/matrix-commander index 87ea5ae..ce73a3d 100755 --- a/bin/matrix-commander +++ b/bin/matrix-commander @@ -1,3 +1,7 @@ #!/bin/sh -matrix-commander --no-ssl --plain -c credentials.json $@ +matrix-commander --no-ssl \ + --credentials .cache/credentials.json \ + --store .cache/store \ + --plain \ + $@ diff --git a/bin/matrix-commander-login b/bin/matrix-commander-login index 43f21b0..b984dd8 100755 --- a/bin/matrix-commander-login +++ b/bin/matrix-commander-login @@ -1,6 +1,8 @@ #!/bin/sh matrix-commander --no-ssl \ + --credentials .cache/credentials.json \ + --store .cache/store \ --homeserver=https://localhost:8080 \ --user-login=php \ --device=matrix-commander \ diff --git a/composer.json b/composer.json index 48ff46e..951e156 100644 --- a/composer.json +++ b/composer.json @@ -24,6 +24,6 @@ } }, "scripts": { - "test": "phpunit --testdox tests" + "test": "phpunit" } } diff --git a/phpunit.xml b/phpunit.xml index a2c5ea5..3ccde8e 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -2,7 +2,7 @@ - - tests + + tests/Integration @@ -27,6 +27,6 @@ - + diff --git a/tests/Integration/Extensions/ServerExtension/PostRunSubscriber.php b/tests/Integration/Extensions/ServerExtension/PostRunSubscriber.php new file mode 100644 index 0000000..2495230 --- /dev/null +++ b/tests/Integration/Extensions/ServerExtension/PostRunSubscriber.php @@ -0,0 +1,19 @@ +dataObject->process_id > 0) { + exec("kill {$this->dataObject->process_id}"); + } + } +} diff --git a/tests/Integration/Extensions/ServerExtension/PreRunSubscriber.php b/tests/Integration/Extensions/ServerExtension/PreRunSubscriber.php new file mode 100644 index 0000000..4ab4180 --- /dev/null +++ b/tests/Integration/Extensions/ServerExtension/PreRunSubscriber.php @@ -0,0 +1,18 @@ +dataObject->process_id = (int)shell_exec("php -S localhost:8080 -t public > /dev/null 2>&1 & echo $!"); + sleep(1); + } +} diff --git a/tests/Integration/Extensions/ServerExtension/ServerExtension.php b/tests/Integration/Extensions/ServerExtension/ServerExtension.php new file mode 100644 index 0000000..a94bcb3 --- /dev/null +++ b/tests/Integration/Extensions/ServerExtension/ServerExtension.php @@ -0,0 +1,19 @@ +registerSubscriber(new PreRunSubscriber($dataObject)); + $facade->registerSubscriber(new PostRunSubscriber($dataObject)); + } +} diff --git a/tests/Integration/ServerImplementationTest.php b/tests/Integration/ServerImplementationTest.php new file mode 100644 index 0000000..c1c1823 --- /dev/null +++ b/tests/Integration/ServerImplementationTest.php @@ -0,0 +1,36 @@ +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); + } +} diff --git a/tests/Integration/TestCases/HttpResponseTestCase.php b/tests/Integration/TestCases/HttpResponseTestCase.php new file mode 100644 index 0000000..43b4859 --- /dev/null +++ b/tests/Integration/TestCases/HttpResponseTestCase.php @@ -0,0 +1,37 @@ +client = new Client([ + "base_uri" => "http://localhost:8080", + ]); + } + + /** + * @param array $options + */ + public function request(string $method, string $path, array $options = []): Response + { + return $this->client->request( + $method, + $path, + ["http_errors" => false] + $options + ); + } + + public function hasJsonBody(Response $response): bool + { + json_decode((string)$response->getBody()); + return json_last_error() === JSON_ERROR_NONE; + } +} diff --git a/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php b/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php deleted file mode 100644 index 46b9377..0000000 --- a/tests/PHPUnit/Extensions/ServerExtension/PostRunSubscriber.php +++ /dev/null @@ -1,19 +0,0 @@ -dataObject->process_id > 0) { - exec("kill {$this->dataObject->process_id}"); - } - } -} diff --git a/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php b/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php deleted file mode 100644 index db5cdb4..0000000 --- a/tests/PHPUnit/Extensions/ServerExtension/PreRunSubscriber.php +++ /dev/null @@ -1,18 +0,0 @@ -dataObject->process_id = (int)shell_exec("php -S localhost:8080 -t public > /dev/null 2>&1 & echo $!"); - sleep(1); - } -} diff --git a/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php b/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php deleted file mode 100644 index 9656a14..0000000 --- a/tests/PHPUnit/Extensions/ServerExtension/ServerExtension.php +++ /dev/null @@ -1,19 +0,0 @@ -registerSubscriber(new PreRunSubscriber($dataObject)); - $facade->registerSubscriber(new PostRunSubscriber($dataObject)); - } -} diff --git a/tests/PHPUnit/TestCases/HttpResponseTestCase.php b/tests/PHPUnit/TestCases/HttpResponseTestCase.php deleted file mode 100644 index 31dc1d7..0000000 --- a/tests/PHPUnit/TestCases/HttpResponseTestCase.php +++ /dev/null @@ -1,37 +0,0 @@ -client = new Client([ - "base_uri" => "http://localhost:8080", - ]); - } - - /** - * @param array $options - */ - public function request(string $method, string $path, array $options = []): Response - { - return $this->client->request( - $method, - $path, - ["http_errors" => false] + $options - ); - } - - public function hasJsonBody(Response $response): bool - { - json_decode((string)$response->getBody()); - return json_last_error() === JSON_ERROR_NONE; - } -} diff --git a/tests/ServerImplementationTest.php b/tests/ServerImplementationTest.php deleted file mode 100644 index a48a8b8..0000000 --- a/tests/ServerImplementationTest.php +++ /dev/null @@ -1,36 +0,0 @@ -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); - } -} -- cgit v1.2.3