mirror of
https://github.com/friendica/friendica
synced 2025-04-26 00:30:12 +00:00
Inherit ApiResponse
from Response
This commit is contained in:
parent
561aba18e3
commit
537b74f307
46 changed files with 326 additions and 277 deletions
|
@ -6,19 +6,12 @@ use Friendica\App\Arguments;
|
|||
use Friendica\App\BaseURL;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Factory\Api\Twitter\User;
|
||||
use Friendica\Module\Api\ApiResponse;
|
||||
use Friendica\Test\MockedTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
use Psr\Log\NullLogger;
|
||||
|
||||
class ApiResponseTest extends MockedTest
|
||||
{
|
||||
protected function tearDown(): void
|
||||
{
|
||||
ApiResponseDouble::reset();
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testErrorWithJson()
|
||||
{
|
||||
$l10n = \Mockery::mock(L10n::class);
|
||||
|
@ -27,10 +20,10 @@ class ApiResponseTest extends MockedTest
|
|||
$baseUrl = \Mockery::mock(BaseURL::class);
|
||||
$twitterUser = \Mockery::mock(User::class);
|
||||
|
||||
$response = new ApiResponseDouble($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response->error(200, 'OK', 'error_message', 'json');
|
||||
|
||||
self::assertEquals('{"error":"error_message","code":"200 OK","request":""}', ApiResponseDouble::getOutput());
|
||||
self::assertEquals('{"error":"error_message","code":"200 OK","request":""}', $response->getContent());
|
||||
}
|
||||
|
||||
public function testErrorWithXml()
|
||||
|
@ -41,7 +34,7 @@ class ApiResponseTest extends MockedTest
|
|||
$baseUrl = \Mockery::mock(BaseURL::class);
|
||||
$twitterUser = \Mockery::mock(User::class);
|
||||
|
||||
$response = new ApiResponseDouble($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response->error(200, 'OK', 'error_message', 'xml');
|
||||
|
||||
self::assertEquals('<?xml version="1.0"?>' . "\n" .
|
||||
|
@ -52,7 +45,7 @@ class ApiResponseTest extends MockedTest
|
|||
' <code>200 OK</code>' . "\n" .
|
||||
' <request/>' . "\n" .
|
||||
'</status>' . "\n",
|
||||
ApiResponseDouble::getOutput());
|
||||
$response->getContent());
|
||||
}
|
||||
|
||||
public function testErrorWithRss()
|
||||
|
@ -63,7 +56,7 @@ class ApiResponseTest extends MockedTest
|
|||
$baseUrl = \Mockery::mock(BaseURL::class);
|
||||
$twitterUser = \Mockery::mock(User::class);
|
||||
|
||||
$response = new ApiResponseDouble($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response->error(200, 'OK', 'error_message', 'rss');
|
||||
|
||||
self::assertEquals(
|
||||
|
@ -75,7 +68,7 @@ class ApiResponseTest extends MockedTest
|
|||
' <code>200 OK</code>' . "\n" .
|
||||
' <request/>' . "\n" .
|
||||
'</status>' . "\n",
|
||||
ApiResponseDouble::getOutput());
|
||||
$response->getContent());
|
||||
}
|
||||
|
||||
public function testErrorWithAtom()
|
||||
|
@ -86,7 +79,7 @@ class ApiResponseTest extends MockedTest
|
|||
$baseUrl = \Mockery::mock(BaseURL::class);
|
||||
$twitterUser = \Mockery::mock(User::class);
|
||||
|
||||
$response = new ApiResponseDouble($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response->error(200, 'OK', 'error_message', 'atom');
|
||||
|
||||
self::assertEquals(
|
||||
|
@ -98,7 +91,7 @@ class ApiResponseTest extends MockedTest
|
|||
' <code>200 OK</code>' . "\n" .
|
||||
' <request/>' . "\n" .
|
||||
'</status>' . "\n",
|
||||
ApiResponseDouble::getOutput());
|
||||
$response->getContent());
|
||||
}
|
||||
|
||||
public function testUnsupported()
|
||||
|
@ -112,9 +105,9 @@ class ApiResponseTest extends MockedTest
|
|||
$baseUrl = \Mockery::mock(BaseURL::class);
|
||||
$twitterUser = \Mockery::mock(User::class);
|
||||
|
||||
$response = new ApiResponseDouble($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser);
|
||||
$response->unsupported();
|
||||
|
||||
self::assertEquals('{"error":"API endpoint %s %s is not implemented","error_description":"The API endpoint is currently not implemented but might be in the future."}', ApiResponseDouble::getOutput());
|
||||
self::assertEquals('{"error":"API endpoint %s %s is not implemented","error_description":"The API endpoint is currently not implemented but might be in the future."}', $response->getContent());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,10 +25,8 @@ use Friendica\Core\Addon;
|
|||
use Friendica\Core\Hook;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\Api\ApiResponse;
|
||||
use Friendica\Security\Authentication;
|
||||
use Friendica\Test\FixtureTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
use Friendica\Test\Util\AuthenticationDouble;
|
||||
|
||||
abstract class ApiTest extends FixtureTest
|
||||
|
@ -53,20 +51,12 @@ abstract class ApiTest extends FixtureTest
|
|||
parent::setUp(); // TODO: Change the autogenerated stub
|
||||
|
||||
$this->dice = $this->dice
|
||||
->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true])
|
||||
->addRule(ApiResponse::class, ['instanceOf' => ApiResponseDouble::class, 'shared' => true]);
|
||||
->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true]);
|
||||
DI::init($this->dice);
|
||||
|
||||
$this->installAuthTest();
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
ApiResponseDouble::reset();
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* installs auththest.
|
||||
*
|
||||
|
|
|
@ -23,9 +23,7 @@ namespace Friendica\Test\src\Module\Api\Friendica;
|
|||
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\Api\Friendica\Notification;
|
||||
use Friendica\Network\HTTPException\BadRequestException;
|
||||
use Friendica\Test\src\Module\Api\ApiTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Temporal;
|
||||
|
||||
|
@ -67,19 +65,17 @@ class NotificationTest extends ApiTest
|
|||
</notes>
|
||||
XML;
|
||||
|
||||
$notification = new Notification(DI::l10n(), ['extension' => 'xml']);
|
||||
$notification->rawContent();
|
||||
$notification = new Notification(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'xml']);
|
||||
$response = $notification->run();
|
||||
|
||||
self::assertXmlStringEqualsXmlString($assertXml, ApiResponseDouble::getOutput());
|
||||
self::assertXmlStringEqualsXmlString($assertXml, $response->getContent());
|
||||
}
|
||||
|
||||
public function testWithJsonResult()
|
||||
{
|
||||
$notification = new Notification(DI::l10n(),['parameter' => 'json']);
|
||||
$notification->rawContent();
|
||||
$notification = new Notification(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'json']);
|
||||
$response = $notification->run();
|
||||
|
||||
$result = json_encode(ApiResponseDouble::getOutput());
|
||||
|
||||
self::assertJson($result);
|
||||
self::assertJson($response->getContent());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ class DeleteTest extends ApiTest
|
|||
public function testEmpty()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Delete(DI::l10n()))->rawContent();
|
||||
(new Delete(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run();
|
||||
}
|
||||
|
||||
public function testWithoutAuthenticatedUser()
|
||||
|
@ -42,7 +42,7 @@ class DeleteTest extends ApiTest
|
|||
public function testWrong()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Delete(DI::l10n(), ['photo_id' => 1]))->rawContent();
|
||||
(new Delete(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run(['photo_id' => 1]);
|
||||
}
|
||||
|
||||
public function testWithCorrectPhotoId()
|
||||
|
|
|
@ -31,13 +31,14 @@ class DeleteTest extends ApiTest
|
|||
public function testEmpty()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Delete(DI::l10n()))->rawContent();
|
||||
(new Delete(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run();
|
||||
|
||||
}
|
||||
|
||||
public function testWrong()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Delete(DI::l10n(), ['album' => 'album_name']))->rawContent();
|
||||
(new Delete(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run(['album' => 'album_name']);
|
||||
}
|
||||
|
||||
public function testValid()
|
||||
|
|
|
@ -31,19 +31,19 @@ class UpdateTest extends ApiTest
|
|||
public function testEmpty()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Update(DI::l10n()))->rawContent();
|
||||
(new Update(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run();
|
||||
}
|
||||
|
||||
public function testTooFewArgs()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Update(DI::l10n(), ['album' => 'album_name']))->rawContent();
|
||||
(new Update(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run(['album' => 'album_name']);
|
||||
}
|
||||
|
||||
public function testWrongUpdate()
|
||||
{
|
||||
$this->expectException(BadRequestException::class);
|
||||
(new Update(DI::l10n(), ['album' => 'album_name', 'album_new' => 'album_name']))->rawContent();
|
||||
(new Update(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), []))->run(['album' => 'album_name', 'album_new' => 'album_name']);
|
||||
}
|
||||
|
||||
public function testWithoutAuthenticatedUser()
|
||||
|
|
|
@ -5,17 +5,14 @@ namespace Friendica\Test\src\Module\Api\GnuSocial\GnuSocial;
|
|||
use Friendica\DI;
|
||||
use Friendica\Module\Api\GNUSocial\GNUSocial\Version;
|
||||
use Friendica\Test\src\Module\Api\ApiTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
|
||||
class VersionTest extends ApiTest
|
||||
{
|
||||
public function test()
|
||||
{
|
||||
$version = new Version(DI::l10n(), ['extension' => 'json']);
|
||||
$version->rawContent();
|
||||
$version = new Version(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'json']);
|
||||
$response = $version->run();
|
||||
|
||||
$result = json_decode(ApiResponseDouble::getOutput());
|
||||
|
||||
self::assertEquals('0.9.7', $result);
|
||||
self::assertEquals('"0.9.7"', $response->getContent());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,23 +5,22 @@ namespace Friendica\Test\src\Module\Api\GnuSocial\Help;
|
|||
use Friendica\DI;
|
||||
use Friendica\Module\Api\GNUSocial\Help\Test;
|
||||
use Friendica\Test\src\Module\Api\ApiTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
|
||||
class TestTest extends ApiTest
|
||||
{
|
||||
public function testJson()
|
||||
{
|
||||
$test = new Test(DI::l10n(), ['extension' => 'json']);
|
||||
$test->rawContent();
|
||||
$test = new Test(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'json']);
|
||||
$response = $test->run();
|
||||
|
||||
self::assertEquals('"ok"', ApiResponseDouble::getOutput());
|
||||
self::assertEquals('"ok"', $response->getContent());
|
||||
}
|
||||
|
||||
public function testXml()
|
||||
{
|
||||
$test = new Test(DI::l10n(), ['extension' => 'xml']);
|
||||
$test->rawContent();
|
||||
$test = new Test(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'xml']);
|
||||
$response = $test->run();
|
||||
|
||||
self::assertxml(ApiResponseDouble::getOutput(), 'ok');
|
||||
self::assertxml($response->getContent(), 'ok');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,16 +5,15 @@ namespace Friendica\Test\src\Module\Api\Twitter\Account;
|
|||
use Friendica\DI;
|
||||
use Friendica\Module\Api\Twitter\Account\RateLimitStatus;
|
||||
use Friendica\Test\src\Module\Api\ApiTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
|
||||
class RateLimitStatusTest extends ApiTest
|
||||
{
|
||||
public function testWithJson()
|
||||
{
|
||||
$rateLimitStatus = new RateLimitStatus(DI::l10n(), ['extension' => 'json']);
|
||||
$rateLimitStatus->rawContent();
|
||||
$rateLimitStatus = new RateLimitStatus(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'json']);
|
||||
$response = $rateLimitStatus->run();
|
||||
|
||||
$result = json_decode(ApiResponseDouble::getOutput());
|
||||
$result = json_decode($response->getContent());
|
||||
|
||||
self::assertEquals(150, $result->remaining_hits);
|
||||
self::assertEquals(150, $result->hourly_limit);
|
||||
|
@ -23,9 +22,9 @@ class RateLimitStatusTest extends ApiTest
|
|||
|
||||
public function testWithXml()
|
||||
{
|
||||
$rateLimitStatus = new RateLimitStatus(DI::l10n(),['extension' => 'xml']);
|
||||
$rateLimitStatus->rawContent();
|
||||
$rateLimitStatus = new RateLimitStatus(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'xml']);
|
||||
$response = $rateLimitStatus->run();
|
||||
|
||||
self::assertXml(ApiResponseDouble::getOutput(), 'hash');
|
||||
self::assertXml($response->getContent(), 'hash');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,16 +5,15 @@ namespace Friendica\Test\src\Module\Api\Twitter;
|
|||
use Friendica\DI;
|
||||
use Friendica\Module\Api\Twitter\SavedSearches;
|
||||
use Friendica\Test\src\Module\Api\ApiTest;
|
||||
use Friendica\Test\Util\ApiResponseDouble;
|
||||
|
||||
class SavedSearchesTest extends ApiTest
|
||||
{
|
||||
public function test()
|
||||
{
|
||||
$savedSearch = new SavedSearches(DI::l10n(), ['extension' => 'json']);
|
||||
$savedSearch->rawContent();
|
||||
$savedSearch = new SavedSearches(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => 'json']);
|
||||
$response = $savedSearch->run();
|
||||
|
||||
$result = json_decode(ApiResponseDouble::getOutput());
|
||||
$result = json_decode($response->getContent());
|
||||
|
||||
self::assertEquals(1, $result[0]->id);
|
||||
self::assertEquals(1, $result[0]->id_str);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue