2021-11-12 21:09:03 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Friendica\Test\src\Module\Api\Twitter\Account;
|
|
|
|
|
2021-12-04 22:24:56 +00:00
|
|
|
use Friendica\App\Router;
|
2021-11-21 23:07:09 +00:00
|
|
|
use Friendica\Capabilities\ICanCreateResponses;
|
2021-11-19 19:18:48 +00:00
|
|
|
use Friendica\DI;
|
2021-11-12 21:09:03 +00:00
|
|
|
use Friendica\Module\Api\Twitter\Account\RateLimitStatus;
|
|
|
|
use Friendica\Test\src\Module\Api\ApiTest;
|
|
|
|
|
|
|
|
class RateLimitStatusTest extends ApiTest
|
|
|
|
{
|
|
|
|
public function testWithJson()
|
|
|
|
{
|
2021-12-04 22:24:56 +00:00
|
|
|
$rateLimitStatus = new RateLimitStatus(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
|
2021-11-21 20:52:36 +00:00
|
|
|
$response = $rateLimitStatus->run();
|
2021-11-12 21:09:03 +00:00
|
|
|
|
2021-11-21 22:37:17 +00:00
|
|
|
$result = json_decode($response->getBody());
|
2021-11-12 21:09:03 +00:00
|
|
|
|
2021-11-21 23:07:09 +00:00
|
|
|
self::assertEquals(['Content-type' => ['application/json'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
|
2021-11-12 21:09:03 +00:00
|
|
|
self::assertEquals(150, $result->remaining_hits);
|
|
|
|
self::assertEquals(150, $result->hourly_limit);
|
|
|
|
self::assertIsInt($result->reset_time_in_seconds);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testWithXml()
|
|
|
|
{
|
2021-11-21 20:52:36 +00:00
|
|
|
$rateLimitStatus = new RateLimitStatus(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'xml']);
|
|
|
|
$response = $rateLimitStatus->run();
|
2021-11-12 21:09:03 +00:00
|
|
|
|
2021-11-21 23:07:09 +00:00
|
|
|
self::assertEquals(['Content-type' => ['text/xml'], ICanCreateResponses::X_HEADER => ['xml']], $response->getHeaders());
|
2021-11-21 22:37:17 +00:00
|
|
|
self::assertXml($response->getBody(), 'hash');
|
2021-11-12 21:09:03 +00:00
|
|
|
}
|
|
|
|
}
|