Reenable Twitter/Statuses tests

This commit is contained in:
Philipp Holzer 2021-12-09 21:17:00 +01:00
parent 7982190a3c
commit ccf7e251b5
Signed by: nupplaPhil
GPG Key ID: 24A7501396EB5432
2 changed files with 31 additions and 17 deletions

View File

@ -42,14 +42,14 @@ class Show extends BaseApi
$uid = BaseApi::getCurrentUserID();
if (empty($this->parameters['id'])) {
$id = intval($_REQUEST['id'] ?? 0);
$id = intval($request['id'] ?? 0);
} else {
$id = (int)$this->parameters['id'];
}
Logger::notice('API: api_statuses_show: ' . $id);
$conversation = !empty($_REQUEST['conversation']);
$conversation = !empty($request['conversation']);
// try to fetch the item for the local user - or the public item, if there is no local one
$uri_item = Post::selectFirst(['uri-id'], ['id' => $id]);
@ -79,7 +79,7 @@ class Show extends BaseApi
throw new BadRequestException(sprintf("There is no status or conversation with the id %d.", $id));
}
$include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
$include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
$ret = [];
while ($status = DBA::fetch($statuses)) {
@ -92,7 +92,7 @@ class Show extends BaseApi
$this->response->exit('statuses', $data, $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
} else {
$data = ['status' => $ret[0]];
$this->response->exit('status', ['status' => $data], $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
$this->response->exit('status', $data, $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
}
}
}

View File

@ -2,6 +2,10 @@
namespace Friendica\Test\src\Module\Api\Twitter\Statuses;
use Friendica\App\Router;
use Friendica\DI;
use Friendica\Module\Api\Twitter\Statuses\Show;
use Friendica\Network\HTTPException\BadRequestException;
use Friendica\Test\src\Module\Api\ApiTest;
class ShowTest extends ApiTest
@ -13,8 +17,10 @@ class ShowTest extends ApiTest
*/
public function testApiStatusesShow()
{
// $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
// api_statuses_show('json');
$this->expectException(BadRequestException::class);
$show = new Show(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET]);
$show->run();
}
/**
@ -24,9 +30,13 @@ class ShowTest extends ApiTest
*/
public function testApiStatusesShowWithId()
{
// DI::args()->setArgv(['', '', '', 1]);
// $result = api_statuses_show('json');
// self::assertStatus($result['status']);
$show = new Show(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET]);
$response = $show->run(['id' => 1]);
$json = $this->toJson($response);
self::assertIsInt($json->id);
self::assertIsString($json->text);
}
/**
@ -36,15 +46,17 @@ class ShowTest extends ApiTest
*/
public function testApiStatusesShowWithConversation()
{
/*
DI::args()->setArgv(['', '', '', 1]);
$_REQUEST['conversation'] = 1;
$result = api_statuses_show('json');
self::assertNotEmpty($result['status']);
foreach ($result['status'] as $status) {
self::assertStatus($status);
$show = new Show(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET]);
$response = $show->run(['id' => 1, 'conversation' => 1]);
$json = $this->toJson($response);
self::assertIsArray($json);
foreach ($json as $status) {
self::assertIsInt($status->id);
self::assertIsString($status->text);
}
*/
}
/**
@ -54,6 +66,8 @@ class ShowTest extends ApiTest
*/
public function testApiStatusesShowWithUnallowedUser()
{
self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first');
// $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class);
// BasicAuth::setCurrentUserID();
// api_statuses_show('json');