<?php /** @license MIT * Copyright 2017 J. King, Dustin Wilson et al. * See LICENSE and AUTHORS files for details */ declare(strict_types=1); namespace JKingWeb\Arsse\TestCase\REST\Miniflux; use JKingWeb\Arsse\REST\Miniflux\Status; use JKingWeb\Arsse\REST\Miniflux\V1; use Psr\Http\Message\ResponseInterface; use Laminas\Diactoros\Response\EmptyResponse; use Laminas\Diactoros\Response\TextResponse; /** @covers \JKingWeb\Arsse\REST\Miniflux\Status */ class TestStatus extends \JKingWeb\Arsse\Test\AbstractTest { /** @dataProvider provideRequests */ public function testAnswerStatusRequests(string $url, string $method, ResponseInterface $exp): void { $act = (new Status)->dispatch($this->serverRequest($method, $url, "")); $this->assertMessage($exp, $act); } public function provideRequests(): iterable { return [ ["/version", "GET", new TextResponse(V1::VERSION)], ["/version", "POST", new EmptyResponse(405, ['Allow' => "HEAD, GET"])], ["/version", "OPTIONS", new EmptyResponse(204, ['Allow' => "HEAD, GET"])], ["/healthcheck", "GET", new TextResponse("OK")], ["/healthcheck", "POST", new EmptyResponse(405, ['Allow' => "HEAD, GET"])], ["/healthcheck", "OPTIONS", new EmptyResponse(204, ['Allow' => "HEAD, GET"])], ["/version/", "GET", new EmptyResponse(404)], ]; } }