From 4b056b8c1e599675feabccb8fe50c31f89a56e07 Mon Sep 17 00:00:00 2001 From: Daniil Zobov Date: Tue, 14 Apr 2020 16:15:28 +0300 Subject: [PATCH] update tests --- README.md | 9 ++++++- ...rovider.php => LaravelServiceProvider.php} | 2 +- ...eProvider.php => LumenServiceProvider.php} | 2 +- src/MetricsController.php | 21 +++------------- src/routes.php | 17 ------------- tests/MetricsControllerTest.php | 25 ++++--------------- 6 files changed, 18 insertions(+), 58 deletions(-) rename src/{LaravelPrometheusServiceProvider.php => LaravelServiceProvider.php} (86%) rename src/{LumenPrometheusServiceProvider.php => LumenServiceProvider.php} (82%) delete mode 100644 src/routes.php diff --git a/README.md b/README.md index 63c2ceb..827d6c5 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,12 @@ composer require superbalist/laravel-prometheus-exporter ``` Register the service provider in app.php + +#### Laravel ```php 'providers' => [ // ... - Superbalist\LaravelPrometheusExporter\PrometheusServiceProvider::class, + Superbalist\LaravelPrometheusExporter\LaravelServiceProvider::class, ] ``` @@ -33,6 +35,11 @@ Register the facade in app.php ] ``` +#### Lumen +```php +$app->register(Superbalist\LaravelPrometheusExporter\LumenServiceProvider::class); +``` + ## Configuration The package has a default configuration which uses the following environment variables. diff --git a/src/LaravelPrometheusServiceProvider.php b/src/LaravelServiceProvider.php similarity index 86% rename from src/LaravelPrometheusServiceProvider.php rename to src/LaravelServiceProvider.php index 9719662..9f9f398 100644 --- a/src/LaravelPrometheusServiceProvider.php +++ b/src/LaravelServiceProvider.php @@ -2,7 +2,7 @@ namespace Superbalist\LaravelPrometheusExporter; -class LaravelPrometheusServiceProvider extends PrometheusServiceProvider +class LaravelServiceProvider extends PrometheusServiceProvider { /** * Perform post-registration booting of services. diff --git a/src/LumenPrometheusServiceProvider.php b/src/LumenServiceProvider.php similarity index 82% rename from src/LumenPrometheusServiceProvider.php rename to src/LumenServiceProvider.php index 7ecfb3b..bb47e58 100644 --- a/src/LumenPrometheusServiceProvider.php +++ b/src/LumenServiceProvider.php @@ -2,7 +2,7 @@ namespace Superbalist\LaravelPrometheusExporter; -class LumenPrometheusServiceProvider extends PrometheusServiceProvider +class LumenServiceProvider extends PrometheusServiceProvider { /** * Load routes. diff --git a/src/MetricsController.php b/src/MetricsController.php index a481479..11d10ac 100644 --- a/src/MetricsController.php +++ b/src/MetricsController.php @@ -2,40 +2,25 @@ namespace Superbalist\LaravelPrometheusExporter; -use Illuminate\Contracts\Routing\ResponseFactory; +use Illuminate\Http\Response; use Illuminate\Routing\Controller; use Prometheus\RenderTextFormat; class MetricsController extends Controller { - /** - * @var ResponseFactory - */ - protected $responseFactory; - /** * @var PrometheusExporter */ protected $prometheusExporter; /** - * @param ResponseFactory $responseFactory * @param PrometheusExporter $prometheusExporter */ - public function __construct(ResponseFactory $responseFactory, PrometheusExporter $prometheusExporter) + public function __construct(PrometheusExporter $prometheusExporter) { - $this->responseFactory = $responseFactory; $this->prometheusExporter = $prometheusExporter; } - /** - * @return ResponseFactory - */ - public function getResponseFactory() - { - return $this->responseFactory; - } - /** * @return PrometheusExporter */ @@ -59,6 +44,6 @@ class MetricsController extends Controller $renderer = new RenderTextFormat(); $result = $renderer->render($metrics); - return $this->responseFactory->make($result, 200, ['Content-Type' => RenderTextFormat::MIME_TYPE]); + return Response::create($result, 200, ['Content-Type' => RenderTextFormat::MIME_TYPE]); } } diff --git a/src/routes.php b/src/routes.php deleted file mode 100644 index 58ad631..0000000 --- a/src/routes.php +++ /dev/null @@ -1,17 +0,0 @@ -name($name); -} - -$middleware = config('prometheus.metrics_route_middleware'); - -if ($middleware) { - $route->middleware($middleware); -} diff --git a/tests/MetricsControllerTest.php b/tests/MetricsControllerTest.php index 00f1420..6750616 100644 --- a/tests/MetricsControllerTest.php +++ b/tests/MetricsControllerTest.php @@ -2,8 +2,6 @@ namespace Tests; -use Illuminate\Contracts\Routing\ResponseFactory; -use Illuminate\Http\Response; use Mockery; use PHPUnit\Framework\TestCase; use Prometheus\RenderTextFormat; @@ -14,35 +12,22 @@ class MetricsControllerTest extends TestCase { public function testConstruct() { - $responseFactory = Mockery::mock(ResponseFactory::class); $exporter = Mockery::mock(PrometheusExporter::class); - $controller = new MetricsController($responseFactory, $exporter); - $this->assertSame($responseFactory, $controller->getResponseFactory()); + $controller = new MetricsController($exporter); $this->assertSame($exporter, $controller->getPrometheusExporter()); } public function testGetMetrics() { - $response = Mockery::mock(Response::class); - - $responseFactory = Mockery::mock(ResponseFactory::class); - $responseFactory->shouldReceive('make') - ->once() - ->withArgs([ - "\n", - 200, - ['Content-Type' => RenderTextFormat::MIME_TYPE], - ]) - ->andReturn($response); - $exporter = Mockery::mock(PrometheusExporter::class); $exporter->shouldReceive('export') ->once() ->andReturn([]); - $controller = new MetricsController($responseFactory, $exporter); + $controller = new MetricsController($exporter); - $r = $controller->getMetrics(); - $this->assertSame($response, $r); + $response = $controller->getMetrics(); + $this->assertSame(200, $response->getStatusCode()); + $this->assertSame(RenderTextFormat::MIME_TYPE, $response->headers->get('Content-Type')); } }