$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]);
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)) {
$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));
}
}
}
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
*/
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();
}
/**
*/
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);
}
/**
*/
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);
}
- */
}
/**
*/
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');