From 87db473c70524897dd643673f1fe2c12f49624f9 Mon Sep 17 00:00:00 2001 From: eldadfux Date: Fri, 20 Sep 2019 11:57:52 +0300 Subject: [PATCH] Added health tests --- tests/e2e/ConsoleHealthTest.php | 91 +++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 tests/e2e/ConsoleHealthTest.php diff --git a/tests/e2e/ConsoleHealthTest.php b/tests/e2e/ConsoleHealthTest.php new file mode 100644 index 000000000..48b33beb0 --- /dev/null +++ b/tests/e2e/ConsoleHealthTest.php @@ -0,0 +1,91 @@ +client->call(Client::METHOD_GET, '/health', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('OK', $response['body']['status']); + } + + public function testDBSuccess() + { + $response = $this->client->call(Client::METHOD_GET, '/health/db', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('OK', $response['body']['status']); + } + + public function testCacheSuccess() + { + $response = $this->client->call(Client::METHOD_GET, '/health/db', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('OK', $response['body']['status']); + } + + public function testTimeSuccess() + { + $response = $this->client->call(Client::METHOD_GET, '/health/time', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertIsInt($response['body']['remote']); + $this->assertIsInt($response['body']['local']); + $this->assertNotEmpty($response['body']['remote']); + $this->assertNotEmpty($response['body']['local']); + $this->assertEquals(0, $response['body']['diff']); + } + + public function testWebhooksSuccess() + { + $response = $this->client->call(Client::METHOD_GET, '/health/webhooks', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertIsInt($response['body']['size']); + $this->assertLessThan(10, $response['body']['size']); + } + + public function xtestStorageLocalSuccess() + { + $response = $this->client->call(Client::METHOD_GET, '/health/storage/local', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('OK', $response['body']['status']); + } + + public function testStorageAntiVirusSuccess() + { + $response = $this->client->call(Client::METHOD_GET, '/health/storage/anti-virus', [ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + ], []); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('online', $response['body']['status']); + $this->assertStringStartsWith('ClamAV ', $response['body']['version']); + } +} \ No newline at end of file