shlink/module/Common/test-db/ApiTest/ApiTestCase.php

33 lines
898 B
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace ShlinkioTest\Shlink\Common\ApiTest;
2019-01-26 12:19:20 +03:00
use Fig\Http\Message\RequestMethodInterface;
use Fig\Http\Message\StatusCodeInterface;
use GuzzleHttp\ClientInterface;
use PHPUnit\Framework\TestCase;
2019-01-26 12:19:20 +03:00
use Psr\Http\Message\ResponseInterface;
2019-01-27 12:30:38 +03:00
use function sprintf;
2019-01-26 12:19:20 +03:00
abstract class ApiTestCase extends TestCase implements StatusCodeInterface, RequestMethodInterface
{
2019-01-27 12:30:38 +03:00
private const PATH_PREFX = '/rest/v1';
2019-01-26 12:19:20 +03:00
/** @var ClientInterface */
private static $client;
public static function setApiClient(ClientInterface $client): void
{
self::$client = $client;
}
/**
* @throws \GuzzleHttp\Exception\GuzzleException
*/
protected function callApi(string $method, string $uri, array $options = []): ResponseInterface
{
2019-01-27 12:30:38 +03:00
return self::$client->request($method, sprintf('%s%s', self::PATH_PREFX, $uri), $options);
2019-01-26 12:19:20 +03:00
}
}