From 631b9a84fcd2891e0f987dc5e42d613d314aee81 Mon Sep 17 00:00:00 2001 From: Philipp Date: Thu, 9 Dec 2021 22:41:19 +0100 Subject: [PATCH] Reenable Twitter/Retweet tests --- src/Module/Api/Twitter/Statuses/Retweet.php | 2 +- tests/legacy/ApiTest.php | 41 ----------- .../Api/Twitter/Statuses/RetweetTest.php | 70 +++++++++++++++++++ 3 files changed, 71 insertions(+), 42 deletions(-) create mode 100644 tests/src/Module/Api/Twitter/Statuses/RetweetTest.php diff --git a/src/Module/Api/Twitter/Statuses/Retweet.php b/src/Module/Api/Twitter/Statuses/Retweet.php index 15fc26925..8319b097d 100644 --- a/src/Module/Api/Twitter/Statuses/Retweet.php +++ b/src/Module/Api/Twitter/Statuses/Retweet.php @@ -70,6 +70,6 @@ class Retweet extends BaseApi $status_info = DI::twitterStatus()->createFromItemId($item_id, $uid)->toArray(); - DI::apiResponse()->exit('status', ['status' => $status_info], $this->parameters['extension'] ?? null); + DI::apiResponse()->exit('statuses', ['status' => $status_info], $this->parameters['extension'] ?? null); } } diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index 2deca42d6..f469217de 100644 --- a/tests/legacy/ApiTest.php +++ b/tests/legacy/ApiTest.php @@ -835,47 +835,6 @@ class ApiTest extends FixtureTest // api_statuses_mediap('json'); } - /** - * Test the api_statuses_repeat() function. - * - * @return void - */ - public function testApiStatusesRepeat() - { - // $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - // api_statuses_repeat('json'); - } - - /** - * Test the api_statuses_repeat() function without an authenticated user. - * - * @return void - */ - public function testApiStatusesRepeatWithoutAuthenticatedUser() - { - // $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); - // BasicAuth::setCurrentUserID(); - // $_SESSION['authenticated'] = false; - // api_statuses_repeat('json'); - } - - /** - * Test the api_statuses_repeat() function with an ID. - * - * @return void - */ - public function testApiStatusesRepeatWithId() - { - // DI::args()->setArgv(['', '', '', 1]); - // $result = api_statuses_repeat('json'); - // self::assertStatus($result['status']); - - // Also test with a shared status - // DI::args()->setArgv(['', '', '', 5]); - // $result = api_statuses_repeat('json'); - // self::assertStatus($result['status']); - } - /** * Test the api_format_messages() function. * diff --git a/tests/src/Module/Api/Twitter/Statuses/RetweetTest.php b/tests/src/Module/Api/Twitter/Statuses/RetweetTest.php new file mode 100644 index 000000000..c8ca33959 --- /dev/null +++ b/tests/src/Module/Api/Twitter/Statuses/RetweetTest.php @@ -0,0 +1,70 @@ +expectException(BadRequestException::class); + + $retweet = new Retweet(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST]); + $retweet->run(); + } + + /** + * Test the api_statuses_repeat() function without an authenticated user. + * + * @return void + */ + public function testApiStatusesRepeatWithoutAuthenticatedUser() + { + self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first'); + + // $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); + // BasicAuth::setCurrentUserID(); + // $_SESSION['authenticated'] = false; + // api_statuses_repeat('json'); + } + + /** + * Test the api_statuses_repeat() function with an ID. + * + * @return void + */ + public function testApiStatusesRepeatWithId() + { + $retweet = new Retweet(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST]); + $response = $retweet->run(['id' => 1]); + + $json = $this->toJson($response); + + self::assertStatus($json); + } + + /** + * Test the api_statuses_repeat() function with an shared ID. + * + * @return void + */ + public function testApiStatusesRepeatWithSharedId() + { + $retweet = new Retweet(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::POST]); + $response = $retweet->run(['id' => 5]); + + $json = $this->toJson($response); + + self::assertStatus($json); + } +}