use Friendica\BaseFactory;
use Friendica\Model\APContact;
use Friendica\Model\Contact;
-use Friendica\Network\HTTPException;
-use Friendica\Factory\Api\Twitter\Status;
use Friendica\Model\Item;
use Friendica\Model\Post;
+use Friendica\Network\HTTPException;
use Psr\Log\LoggerInterface;
class User extends BaseFactory
* @param bool $include_user_entities
*
* @return \Friendica\Object\Api\Twitter\User
+ * @throws HTTPException\InternalServerErrorException
+ * @throws HTTPException\NotFoundException If the $uid doesn't exist
+ * @throws \ImagickException
*/
public function createFromUserId(int $uid, bool $skip_status = true, bool $include_user_entities = true): \Friendica\Object\Api\Twitter\User
{
- return $this->createFromContactId(Contact::getPublicIdByUserId($uid), $uid, $skip_status, $include_user_entities);
+ $cid = Contact::getPublicIdByUserId($uid);
+ if (!$cid) {
+ throw new HTTPException\NotFoundException();
+ }
+
+ return $this->createFromContactId($cid, $uid, $skip_status, $include_user_entities);
}
}
use Friendica\DI;
use Friendica\Factory\Api\Twitter\User;
+use Friendica\Network\HTTPException\NotFoundException;
use Friendica\Test\FixtureTest;
use Friendica\Test\src\Module\Api\ApiTest;
*/
public function testApiGetUserWithWrongGetId()
{
+ $this->expectException(NotFoundException::class);
+
$user = (new User(DI::logger(), DI::twitterStatus()))
->createFromUserId(-1)
->toArray();
-
- self::assertEquals(0, $user['id']);
- self::assertEquals(0, $user['uid']);
- self::assertEquals(0, $user['cid']);
- self::assertEquals(0, $user['pid']);
- self::assertEmpty($user['name']);
}
/**