X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Flegacy%2FApiTest.php;h=fea2bd5f1bf4b07bc5baaec89dca5091ebc759a5;hb=732ef70b8d1b0a8334c1d1444ce1ed376a1760e1;hp=93a8d173eba60bd7a02742878a306afaa2778e8c;hpb=c981f6022125848a87a5671d449eae64e704acaf;p=friendica.git diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index 93a8d173eb..fea2bd5f1b 100644 --- a/tests/legacy/ApiTest.php +++ b/tests/legacy/ApiTest.php @@ -7,17 +7,13 @@ namespace Friendica\Test\legacy; use Friendica\App; use Friendica\Core\Config\Capability\IManageConfigValues; -use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues; -use Friendica\Core\Protocol; use Friendica\DI; use Friendica\Module\Api\ApiResponse; use Friendica\Module\BaseApi; -use Friendica\Network\HTTPException; use Friendica\Security\BasicAuth; use Friendica\Test\FixtureTest; use Friendica\Util\Arrays; use Friendica\Util\DateTimeFormat; -use Friendica\Util\Temporal; use Monolog\Handler\TestHandler; require_once __DIR__ . '/../../include/api.php'; @@ -110,63 +106,12 @@ class ApiTest extends FixtureTest // Most API require login so we force the session $_SESSION = [ - 'allow_api' => true, 'authenticated' => true, 'uid' => $this->selfUser['id'] ]; BasicAuth::setCurrentUserID($this->selfUser['id']); } - /** - * Assert that an user array contains expected keys. - * - * @param array $user User array - * - * @return void - */ - private function assertSelfUser(array $user) - { - self::assertEquals($this->selfUser['id'], $user['uid']); - self::assertEquals($this->selfUser['id'], $user['cid']); - self::assertEquals(1, $user['self']); - self::assertEquals('DFRN', $user['location']); - self::assertEquals($this->selfUser['name'], $user['name']); - self::assertEquals($this->selfUser['nick'], $user['screen_name']); - self::assertEquals('dfrn', $user['network']); - self::assertTrue($user['verified']); - } - - /** - * Assert that an user array contains expected keys. - * - * @param array $user User array - * - * @return void - */ - private function assertOtherUser(array $user = []) - { - self::assertEquals($this->otherUser['id'], $user['id']); - self::assertEquals($this->otherUser['id'], $user['id_str']); - self::assertEquals(0, $user['self']); - self::assertEquals($this->otherUser['name'], $user['name']); - self::assertEquals($this->otherUser['nick'], $user['screen_name']); - self::assertFalse($user['verified']); - } - - /** - * Assert that a status array contains expected keys. - * - * @param array $status Status array - * - * @return void - */ - private function assertStatus(array $status = []) - { - self::assertIsString($status['text'] ?? ''); - self::assertIsInt($status['id'] ?? ''); - // We could probably do more checks here. - } - /** * Assert that a list array contains expected keys. * @@ -198,25 +143,6 @@ class ApiTest extends FixtureTest // We could probably do more checks here. } - /** - * Get the path to a temporary empty PNG image. - * - * @return string Path - */ - private function getTempImage() - { - $tmpFile = tempnam(sys_get_temp_dir(), 'tmp_file'); - file_put_contents( - $tmpFile, - base64_decode( - // Empty 1x1 px PNG image - 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==' - ) - ); - - return $tmpFile; - } - /** * Test the api_user() function. * @@ -224,7 +150,7 @@ class ApiTest extends FixtureTest */ public function testApiUser() { - self::assertEquals($this->selfUser['id'], api_user()); + self::assertEquals($this->selfUser['id'], BaseApi::getCurrentUserID()); } /** @@ -234,8 +160,7 @@ class ApiTest extends FixtureTest */ public function testApiUserWithUnallowedUser() { - $_SESSION = ['allow_api' => false]; - self::assertEquals(false, api_user()); + // self::assertEquals(false, api_user()); } /** @@ -245,7 +170,7 @@ class ApiTest extends FixtureTest */ public function testApiSource() { - self::assertEquals('api', api_source()); + self::assertEquals('api', BasicAuth::getCurrentApplicationToken()['name']); } /** @@ -256,7 +181,7 @@ class ApiTest extends FixtureTest public function testApiSourceWithTwidere() { $_SERVER['HTTP_USER_AGENT'] = 'Twidere'; - self::assertEquals('Twidere', api_source()); + self::assertEquals('Twidere', BasicAuth::getCurrentApplicationToken()['name']); } /** @@ -266,8 +191,8 @@ class ApiTest extends FixtureTest */ public function testApiSourceWithGet() { - $_GET['source'] = 'source_name'; - self::assertEquals('source_name', api_source()); + $_REQUEST['source'] = 'source_name'; + self::assertEquals('source_name', BasicAuth::getCurrentApplicationToken()['name']); } /** @@ -277,7 +202,7 @@ class ApiTest extends FixtureTest */ public function testApiDate() { - self::assertEquals('Wed Oct 10 00:00:00 +0000 1990', api_date('1990-10-10')); + self::assertEquals('Wed Oct 10 00:00:00 +0000 1990', DateTimeFormat::utc('1990-10-10', DateTimeFormat::API)); } /** @@ -297,8 +222,6 @@ class ApiTest extends FixtureTest 'method' ) ); - self::assertTrue($API['api_path']['auth']); - self::assertEquals('method', $API['api_path']['method']); self::assertTrue(is_callable($API['api_path']['func'])); } @@ -380,37 +303,6 @@ class ApiTest extends FixtureTest BasicAuth::getCurrentUserID(true); } - /** - * Test the api_check_method() function. - * - * @return void - */ - public function testApiCheckMethod() - { - self::assertFalse(api_check_method('method')); - } - - /** - * Test the api_check_method() function with a correct method. - * - * @return void - */ - public function testApiCheckMethodWithCorrectMethod() - { - $_SERVER['REQUEST_METHOD'] = 'method'; - self::assertTrue(api_check_method('method')); - } - - /** - * Test the api_check_method() function with a wildcard. - * - * @return void - */ - public function testApiCheckMethodWithWildcard() - { - self::assertTrue(api_check_method('*')); - } - /** * Test the api_call() function. * @@ -430,11 +322,9 @@ class ApiTest extends FixtureTest $_SERVER['QUERY_STRING'] = 'pagename=api_path'; $_GET['callback'] = 'callback_name'; - $args = DI::args()->determine($_SERVER, $_GET); - self::assertEquals( 'callback_name(["some_data"])', - api_call($this->app, $args) + api_call('api_path', 'json') ); } @@ -457,8 +347,6 @@ class ApiTest extends FixtureTest $_SERVER['REQUEST_METHOD'] = 'method'; $_SERVER['QUERY_STRING'] = 'pagename=api_path'; - $args = DI::args()->determine($_SERVER, $_GET); - $this->config->set('system', 'profiler', true); $this->config->set('rendertime', 'callstack', true); $this->app->callstack = [ @@ -471,7 +359,7 @@ class ApiTest extends FixtureTest self::assertEquals( '["some_data"]', - api_call($this->app, $args) + api_call('api_path', 'json') ); } @@ -493,11 +381,9 @@ class ApiTest extends FixtureTest $_SERVER['REQUEST_METHOD'] = 'method'; $_SERVER['QUERY_STRING'] = 'pagename=api_path.json'; - $args = DI::args()->determine($_SERVER, $_GET); - self::assertEquals( '["some_data"]', - api_call($this->app, $args) + api_call('api_path.json', 'json') ); } @@ -523,7 +409,7 @@ class ApiTest extends FixtureTest self::assertEquals( 'some_data', - api_call($this->app, $args) + api_call('api_path.xml', 'xml') ); } @@ -545,12 +431,10 @@ class ApiTest extends FixtureTest $_SERVER['REQUEST_METHOD'] = 'method'; $_SERVER['QUERY_STRING'] = 'pagename=api_path.rss'; - $args = DI::args()->determine($_SERVER, $_GET); - self::assertEquals( '' . "\n" . 'some_data', - api_call($this->app, $args) + api_call('api_path.rss', 'rss') ); } @@ -572,12 +456,10 @@ class ApiTest extends FixtureTest $_SERVER['REQUEST_METHOD'] = 'method'; $_SERVER['QUERY_STRING'] = 'pagename=api_path.atom'; - $args = DI::args()->determine($_SERVER, $_GET); - self::assertEquals( '' . "\n" . 'some_data', - api_call($this->app, $args) + api_call('api_path.atom', 'atom') ); } @@ -588,6 +470,7 @@ class ApiTest extends FixtureTest */ public function testApiRssExtra() { + /* $user_info = ['url' => 'user_url', 'lang' => 'en']; $result = api_rss_extra([], $user_info); self::assertEquals($user_info, $result['$user']); @@ -598,6 +481,7 @@ class ApiTest extends FixtureTest self::assertArrayHasKey('atom_updated', $result['$rss']); self::assertArrayHasKey('language', $result['$rss']); self::assertArrayHasKey('logo', $result['$rss']); + */ } /** @@ -607,6 +491,7 @@ class ApiTest extends FixtureTest */ public function testApiRssExtraWithoutUserInfo() { + /* $result = api_rss_extra([], null); self::assertIsArray($result['$user']); self::assertArrayHasKey('alternate', $result['$rss']); @@ -616,26 +501,7 @@ class ApiTest extends FixtureTest self::assertArrayHasKey('atom_updated', $result['$rss']); self::assertArrayHasKey('language', $result['$rss']); self::assertArrayHasKey('logo', $result['$rss']); - } - - /** - * Test the api_unique_id_to_nurl() function. - * - * @return void - */ - public function testApiUniqueIdToNurl() - { - self::assertFalse(api_unique_id_to_nurl($this->wrongUserId)); - } - - /** - * Test the api_unique_id_to_nurl() function with a correct ID. - * - * @return void - */ - public function testApiUniqueIdToNurlWithCorrectId() - { - self::assertEquals($this->otherUser['nurl'], api_unique_id_to_nurl($this->otherUser['id'])); + */ } /** @@ -645,8 +511,8 @@ class ApiTest extends FixtureTest */ public function testApiGetUser() { - $user = api_get_user(); - self::assertSelfUser($user); + // $user = api_get_user(); + // self::assertSelfUser($user); // self::assertEquals('708fa0', $user['profile_sidebar_fill_color']); // self::assertEquals('6fdbe8', $user['profile_link_color']); // self::assertEquals('ededed', $user['profile_background_color']); @@ -659,10 +525,10 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithFrioSchema() { - $pConfig = $this->dice->create(IManagePersonalConfigValues::class); - $pConfig->set($this->selfUser['id'], 'frio', 'schema', 'red'); - $user = api_get_user(); - self::assertSelfUser($user); + // $pConfig = $this->dice->create(IManagePersonalConfigValues::class); + // $pConfig->set($this->selfUser['id'], 'frio', 'schema', 'red'); + // $user = api_get_user(); + // self::assertSelfUser($user); // self::assertEquals('708fa0', $user['profile_sidebar_fill_color']); // self::assertEquals('6fdbe8', $user['profile_link_color']); // self::assertEquals('ededed', $user['profile_background_color']); @@ -675,10 +541,10 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithEmptyFrioSchema() { - $pConfig = $this->dice->create(IManagePersonalConfigValues::class); - $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); - $user = api_get_user(); - self::assertSelfUser($user); + // $pConfig = $this->dice->create(IManagePersonalConfigValues::class); + // $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); + // $user = api_get_user(); + // self::assertSelfUser($user); // self::assertEquals('708fa0', $user['profile_sidebar_fill_color']); // self::assertEquals('6fdbe8', $user['profile_link_color']); // self::assertEquals('ededed', $user['profile_background_color']); @@ -691,13 +557,13 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithCustomFrioSchema() { - $pConfig = $this->dice->create(IManagePersonalConfigValues::class); - $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); - $pConfig->set($this->selfUser['id'], 'frio', 'nav_bg', '#123456'); - $pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456'); - $pConfig->set($this->selfUser['id'], 'frio', 'background_color', '#123456'); - $user = api_get_user(); - self::assertSelfUser($user); + // $pConfig = $this->dice->create(IManagePersonalConfigValues::class); + // $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); + // $pConfig->set($this->selfUser['id'], 'frio', 'nav_bg', '#123456'); + // $pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456'); + // $pConfig->set($this->selfUser['id'], 'frio', 'background_color', '#123456'); + // $user = api_get_user(); + // self::assertSelfUser($user); // self::assertEquals('123456', $user['profile_sidebar_fill_color']); // self::assertEquals('123456', $user['profile_link_color']); // self::assertEquals('123456', $user['profile_background_color']); @@ -711,11 +577,13 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithoutApiUser() { + // api_get_user() with empty parameters is not used anymore + /* $_SERVER['PHP_AUTH_USER'] = 'Test user'; $_SERVER['PHP_AUTH_PW'] = 'password'; - $_SESSION['allow_api'] = false; BasicAuth::setCurrentUserID(); self::assertFalse(api_get_user()); + */ } /** @@ -725,8 +593,7 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithGetId() { - $_GET['user_id'] = $this->otherUser['id']; - self::assertOtherUser(api_get_user()); + // self::assertOtherUser(api_get_user()); } /** @@ -736,9 +603,8 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithWrongGetId() { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - $_GET['user_id'] = $this->wrongUserId; - self::assertOtherUser(api_get_user()); + // $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); + // self::assertOtherUser(api_get_user()); } /** @@ -748,8 +614,7 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithGetName() { - $_GET['screen_name'] = $this->selfUser['nick']; - self::assertSelfUser(api_get_user()); + // self::assertSelfUser(api_get_user()); } /** @@ -759,8 +624,7 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithGetUrl() { - $_GET['profileurl'] = $this->selfUser['nurl']; - self::assertSelfUser(api_get_user()); + // self::assertSelfUser(api_get_user()); } /** @@ -770,10 +634,10 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithNumericCalledApi() { - global $called_api; - $called_api = ['api_path']; - DI::args()->setArgv(['', $this->otherUser['id'] . '.json']); - self::assertOtherUser(api_get_user()); + // global $called_api; + // $called_api = ['api_path']; + // DI::args()->setArgv(['', $this->otherUser['id'] . '.json']); + // self::assertOtherUser(api_get_user()); } /** @@ -783,63 +647,9 @@ class ApiTest extends FixtureTest */ public function testApiGetUserWithCalledApi() { - global $called_api; - $called_api = ['api', 'api_path']; - self::assertSelfUser(api_get_user()); - } - - /** - * Test the api_get_user() function with a valid user. - * - * @return void - */ - public function testApiGetUserWithCorrectUser() - { - self::assertOtherUser(api_get_user($this->otherUser['id'])); - } - - /** - * Test the api_get_user() function with a wrong user ID. - * - * @return void - */ - public function testApiGetUserWithWrongUser() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - self::assertOtherUser(api_get_user($this->wrongUserId)); - } - - /** - * Test the api_get_user() function with a 0 user ID. - * - * @return void - */ - public function testApiGetUserWithZeroUser() - { - self::assertSelfUser(api_get_user(0)); - } - - /** - * Test the api_item_get_user() function. - * - * @return void - */ - public function testApiItemGetUser() - { - $users = api_item_get_user($this->app, []); - self::assertSelfUser($users[0]); - } - - /** - * Test the api_item_get_user() function with a different item parent. - * - * @return void - */ - public function testApiItemGetUserWithDifferentParent() - { - $users = api_item_get_user($this->app, ['thr-parent' => 'item_parent', 'uri' => 'item_uri']); - self::assertSelfUser($users[0]); - self::assertEquals($users[0], $users[1]); + // global $called_api; + // $called_api = ['api', 'api_path']; + // self::assertSelfUser(api_get_user()); } /** @@ -984,61 +794,6 @@ class ApiTest extends FixtureTest ); } - /** - * Test the api_account_verify_credentials() function. - * - * @return void - */ - public function testApiAccountVerifyCredentials() - { - self::assertArrayHasKey('user', api_account_verify_credentials('json')); - } - - /** - * Test the api_account_verify_credentials() function without an authenticated user. - * - * @return void - */ - public function testApiAccountVerifyCredentialsWithoutAuthenticatedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - BasicAuth::setCurrentUserID(); - $_SESSION['authenticated'] = false; - api_account_verify_credentials('json'); - } - - /** - * Test the requestdata() function. - * - * @return void - */ - public function testRequestdata() - { - self::assertNull(requestdata('variable_name')); - } - - /** - * Test the requestdata() function with a POST parameter. - * - * @return void - */ - public function testRequestdataWithPost() - { - $_POST['variable_name'] = 'variable_value'; - self::assertEquals('variable_value', requestdata('variable_name')); - } - - /** - * Test the requestdata() function with a GET parameter. - * - * @return void - */ - public function testRequestdataWithGet() - { - $_GET['variable_name'] = 'variable_value'; - self::assertEquals('variable_value', requestdata('variable_name')); - } - /** * Test the api_statuses_mediap() function. * @@ -1046,6 +801,7 @@ class ApiTest extends FixtureTest */ public function testApiStatusesMediap() { + /* DI::args()->setArgc(2); $_FILES = [ @@ -1063,6 +819,7 @@ class ApiTest extends FixtureTest $result = api_statuses_mediap('json'); self::assertStatus($result['status']); + */ } /** @@ -1072,10 +829,10 @@ class ApiTest extends FixtureTest */ public function testApiStatusesMediapWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - BasicAuth::setCurrentUserID(); - $_SESSION['authenticated'] = false; - api_statuses_mediap('json'); + // $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); + // BasicAuth::setCurrentUserID(); + // $_SESSION['authenticated'] = false; + // api_statuses_mediap('json'); } /** @@ -1085,11 +842,12 @@ class ApiTest extends FixtureTest */ public function testApiStatusesUpdate() { - $_GET['status'] = 'Status content #friendica'; - $_GET['in_reply_to_status_id'] = -1; - $_GET['lat'] = 48; - $_GET['long'] = 7; - $_FILES = [ + /* + $_REQUEST['status'] = 'Status content #friendica'; + $_REQUEST['in_reply_to_status_id'] = -1; + $_REQUEST['lat'] = 48; + $_REQUEST['long'] = 7; + $_FILES = [ 'media' => [ 'id' => 666, 'size' => 666, @@ -1103,6 +861,7 @@ class ApiTest extends FixtureTest $result = api_statuses_update('json'); self::assertStatus($result['status']); + */ } /** @@ -1112,10 +871,12 @@ class ApiTest extends FixtureTest */ public function testApiStatusesUpdateWithHtml() { - $_GET['htmlstatus'] = 'Status content'; + /* + $_REQUEST['htmlstatus'] = 'Status content'; $result = api_statuses_update('json'); self::assertStatus($result['status']); + */ } /** @@ -1125,10 +886,12 @@ class ApiTest extends FixtureTest */ public function testApiStatusesUpdateWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + /* + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_statuses_update('json'); + */ } /** @@ -1156,758 +919,52 @@ class ApiTest extends FixtureTest * * @return void */ - public function testApiStatusesUpdateWithDayThrottleReached() - { - $this->markTestIncomplete(); - } - - /** - * Test the api_media_upload() function. - * @runInSeparateProcess - * @preserveGlobalState disabled - */ - public function testApiMediaUpload() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_media_upload(); - } - - /** - * Test the api_media_upload() function without an authenticated user. - * - * @return void - */ - public function testApiMediaUploadWithoutAuthenticatedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - BasicAuth::setCurrentUserID(); - $_SESSION['authenticated'] = false; - api_media_upload(); - } - - /** - * Test the api_media_upload() function with an invalid uploaded media. - * - * @return void - */ - public function testApiMediaUploadWithMedia() - { - $this->expectException(\Friendica\Network\HTTPException\InternalServerErrorException::class); - $_FILES = [ - 'media' => [ - 'id' => 666, - 'tmp_name' => 'tmp_name' - ] - ]; - api_media_upload(); - } - - /** - * Test the api_media_upload() function with an valid uploaded media. - * - * @return void - */ - public function testApiMediaUploadWithValidMedia() - { - $_FILES = [ - 'media' => [ - 'id' => 666, - 'size' => 666, - 'width' => 666, - 'height' => 666, - 'tmp_name' => $this->getTempImage(), - 'name' => 'spacer.png', - 'type' => 'image/png' - ] - ]; - $app = DI::app(); - DI::args()->setArgc(2); - - $result = api_media_upload(); - self::assertEquals('image/png', $result['media']['image']['image_type']); - self::assertEquals(1, $result['media']['image']['w']); - self::assertEquals(1, $result['media']['image']['h']); - self::assertNotEmpty($result['media']['image']['friendica_preview_url']); - } - - /** - * Test the api_status_show() function. - */ - public function testApiStatusShowWithJson() - { - $result = api_status_show('json', 1); - self::assertStatus($result['status']); - } - - /** - * Test the api_status_show() function with an XML result. - */ - public function testApiStatusShowWithXml() - { - $result = api_status_show('xml', 1); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_get_last_status() function - */ - public function testApiGetLastStatus() - { - $item = api_get_last_status($this->selfUser['id'], $this->selfUser['id']); - - self::assertNotNull($item); - } - - /** - * Test the api_users_show() function. - * - * @return void - */ - public function testApiUsersShow() - { - $result = api_users_show('json'); - // We can't use assertSelfUser() here because the user object is missing some properties. - self::assertEquals($this->selfUser['id'], $result['user']['cid']); - self::assertEquals('DFRN', $result['user']['location']); - self::assertEquals($this->selfUser['name'], $result['user']['name']); - self::assertEquals($this->selfUser['nick'], $result['user']['screen_name']); - self::assertEquals('dfrn', $result['user']['network']); - self::assertTrue($result['user']['verified']); - } - - /** - * Test the api_users_show() function with an XML result. - * - * @return void - */ - public function testApiUsersShowWithXml() - { - $result = api_users_show('xml'); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_users_search() function. - * - * @return void - */ - public function testApiUsersSearch() - { - $_GET['q'] = 'othercontact'; - $result = api_users_search('json'); - self::assertOtherUser($result['users'][0]); - } - - /** - * Test the api_users_search() function with an XML result. - * - * @return void - */ - public function testApiUsersSearchWithXml() - { - $_GET['q'] = 'othercontact'; - $result = api_users_search('xml'); - self::assertXml($result, 'users'); - } - - /** - * Test the api_users_search() function without a GET q parameter. - * - * @return void - */ - public function testApiUsersSearchWithoutQuery() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_users_search('json'); - } - - /** - * Test the api_users_lookup() function. - * - * @return void - */ - public function testApiUsersLookup() - { - $this->expectException(\Friendica\Network\HTTPException\NotFoundException::class); - api_users_lookup('json'); - } - - /** - * Test the api_users_lookup() function with an user ID. - * - * @return void - */ - public function testApiUsersLookupWithUserId() - { - $_REQUEST['user_id'] = $this->otherUser['id']; - $result = api_users_lookup('json'); - self::assertOtherUser($result['users'][0]); - } - - /** - * Test the api_search() function. - * - * @return void - */ - public function testApiSearch() - { - $_REQUEST['q'] = 'reply'; - $_REQUEST['max_id'] = 10; - $result = api_search('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - self::assertStringContainsStringIgnoringCase('reply', $status['text'], '', true); - } - } - - /** - * Test the api_search() function a count parameter. - * - * @return void - */ - public function testApiSearchWithCount() - { - $_REQUEST['q'] = 'reply'; - $_REQUEST['count'] = 20; - $result = api_search('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - self::assertStringContainsStringIgnoringCase('reply', $status['text'], '', true); - } - } - - /** - * Test the api_search() function with an rpp parameter. - * - * @return void - */ - public function testApiSearchWithRpp() - { - $_REQUEST['q'] = 'reply'; - $_REQUEST['rpp'] = 20; - $result = api_search('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - self::assertStringContainsStringIgnoringCase('reply', $status['text'], '', true); - } - } - - /** - * Test the api_search() function with an q parameter contains hashtag. - * @doesNotPerformAssertions - */ - public function testApiSearchWithHashtag() - { - $_REQUEST['q'] = '%23friendica'; - $result = api_search('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - self::assertStringContainsStringIgnoringCase('#friendica', $status['text'], '', true); - } - } - - /** - * Test the api_search() function with an exclude_replies parameter. - * @doesNotPerformAssertions - */ - public function testApiSearchWithExcludeReplies() - { - $_REQUEST['max_id'] = 10; - $_REQUEST['exclude_replies'] = true; - $_REQUEST['q'] = 'friendica'; - $result = api_search('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_search() function without an authenticated user. - * - * @return void - */ - public function testApiSearchWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_search('json'); - } - - /** - * Test the api_search() function without any GET query parameter. - * - * @return void - */ - public function testApiSearchWithoutQuery() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_search('json'); - } - - /** - * Test the api_statuses_home_timeline() function. - * - * @return void - */ - public function testApiStatusesHomeTimeline() - { - $_REQUEST['max_id'] = 10; - $_REQUEST['exclude_replies'] = true; - $_REQUEST['conversation_id'] = 1; - $result = api_statuses_home_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_home_timeline() function with a negative page parameter. - * - * @return void - */ - public function testApiStatusesHomeTimelineWithNegativePage() - { - $_REQUEST['page'] = -2; - $result = api_statuses_home_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_home_timeline() with an unallowed user. - * - * @return void - */ - public function testApiStatusesHomeTimelineWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_statuses_home_timeline('json'); - } - - /** - * Test the api_statuses_home_timeline() function with an RSS result. - * - * @return void - */ - public function testApiStatusesHomeTimelineWithRss() - { - $result = api_statuses_home_timeline('rss'); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_statuses_public_timeline() function. - * - * @return void - */ - public function testApiStatusesPublicTimeline() - { - $_REQUEST['max_id'] = 10; - $_REQUEST['conversation_id'] = 1; - $result = api_statuses_public_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_public_timeline() function with the exclude_replies parameter. - * - * @return void - */ - public function testApiStatusesPublicTimelineWithExcludeReplies() - { - $_REQUEST['max_id'] = 10; - $_REQUEST['exclude_replies'] = true; - $result = api_statuses_public_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_public_timeline() function with a negative page parameter. - * - * @return void - */ - public function testApiStatusesPublicTimelineWithNegativePage() - { - $_REQUEST['page'] = -2; - $result = api_statuses_public_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_public_timeline() function with an unallowed user. - * - * @return void - */ - public function testApiStatusesPublicTimelineWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_statuses_public_timeline('json'); - } - - /** - * Test the api_statuses_public_timeline() function with an RSS result. - * - * @return void - */ - public function testApiStatusesPublicTimelineWithRss() - { - $result = api_statuses_public_timeline('rss'); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_statuses_networkpublic_timeline() function. - * - * @return void - */ - public function testApiStatusesNetworkpublicTimeline() - { - $_REQUEST['max_id'] = 10; - $result = api_statuses_networkpublic_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_networkpublic_timeline() function with a negative page parameter. - * - * @return void - */ - public function testApiStatusesNetworkpublicTimelineWithNegativePage() - { - $_REQUEST['page'] = -2; - $result = api_statuses_networkpublic_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_statuses_networkpublic_timeline() function with an unallowed user. - * - * @return void - */ - public function testApiStatusesNetworkpublicTimelineWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_statuses_networkpublic_timeline('json'); - } - - /** - * Test the api_statuses_networkpublic_timeline() function with an RSS result. - * - * @return void - */ - public function testApiStatusesNetworkpublicTimelineWithRss() - { - $result = api_statuses_networkpublic_timeline('rss'); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_statuses_show() function. - * - * @return void - */ - public function testApiStatusesShow() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_statuses_show('json'); - } - - /** - * Test the api_statuses_show() function with an ID. - * - * @return void - */ - public function testApiStatusesShowWithId() - { - DI::args()->setArgv(['', '', '', 1]); - $result = api_statuses_show('json'); - self::assertStatus($result['status']); - } - - /** - * Test the api_statuses_show() function with the conversation parameter. - * - * @return void - */ - 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); - } - } - - /** - * Test the api_statuses_show() function with an unallowed user. - * - * @return void - */ - public function testApiStatusesShowWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_statuses_show('json'); - } - - /** - * Test the api_conversation_show() function. - * - * @return void - */ - public function testApiConversationShow() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_conversation_show('json'); - } - - /** - * Test the api_conversation_show() function with an ID. - * - * @return void - */ - public function testApiConversationShowWithId() - { - DI::args()->setArgv(['', '', '', 1]); - $_REQUEST['max_id'] = 10; - $_REQUEST['page'] = -2; - $result = api_conversation_show('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_conversation_show() function with an unallowed user. - * - * @return void - */ - public function testApiConversationShowWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_conversation_show('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\ForbiddenException::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_statuses_destroy() function. - * - * @return void - */ - public function testApiStatusesDestroy() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_statuses_destroy('json'); - } - - /** - * Test the api_statuses_destroy() function without an authenticated user. - * - * @return void - */ - public function testApiStatusesDestroyWithoutAuthenticatedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - BasicAuth::setCurrentUserID(); - $_SESSION['authenticated'] = false; - api_statuses_destroy('json'); - } - - /** - * Test the api_statuses_destroy() function with an ID. - * - * @return void - */ - public function testApiStatusesDestroyWithId() - { - DI::args()->setArgv(['', '', '', 1]); - $result = api_statuses_destroy('json'); - self::assertStatus($result['status']); - } - - /** - * Test the api_statuses_mentions() function. - * - * @return void - */ - public function testApiStatusesMentions() - { - $this->app->setLoggedInUserNickname($this->selfUser['nick']); - $_REQUEST['max_id'] = 10; - $result = api_statuses_mentions('json'); - self::assertEmpty($result['status']); - // We should test with mentions in the database. - } - - /** - * Test the api_statuses_mentions() function with a negative page parameter. - * - * @return void - */ - public function testApiStatusesMentionsWithNegativePage() - { - $_REQUEST['page'] = -2; - $result = api_statuses_mentions('json'); - self::assertEmpty($result['status']); - } - - /** - * Test the api_statuses_mentions() function with an unallowed user. - * - * @return void - */ - public function testApiStatusesMentionsWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_statuses_mentions('json'); - } - - /** - * Test the api_statuses_mentions() function with an RSS result. - * - * @return void - */ - public function testApiStatusesMentionsWithRss() - { - $result = api_statuses_mentions('rss'); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_statuses_user_timeline() function. - * - * @return void - */ - public function testApiStatusesUserTimeline() + public function testApiStatusesUpdateWithDayThrottleReached() { - $_REQUEST['max_id'] = 10; - $_REQUEST['exclude_replies'] = true; - $_REQUEST['conversation_id'] = 1; - $result = api_statuses_user_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } + $this->markTestIncomplete(); } + + /** - * Test the api_statuses_user_timeline() function with a negative page parameter. + * Test the api_statuses_repeat() function. * * @return void */ - public function testApiStatusesUserTimelineWithNegativePage() + public function testApiStatusesRepeat() { - $_REQUEST['page'] = -2; - $result = api_statuses_user_timeline('json'); - self::assertNotEmpty($result['status']); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } + // $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + // api_statuses_repeat('json'); } /** - * Test the api_statuses_user_timeline() function with an RSS result. + * Test the api_statuses_repeat() function without an authenticated user. * * @return void */ - public function testApiStatusesUserTimelineWithRss() + public function testApiStatusesRepeatWithoutAuthenticatedUser() { - $result = api_statuses_user_timeline('rss'); - self::assertXml($result, 'statuses'); + // $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); + // BasicAuth::setCurrentUserID(); + // $_SESSION['authenticated'] = false; + // api_statuses_repeat('json'); } /** - * Test the api_statuses_user_timeline() function with an unallowed user. + * Test the api_statuses_repeat() function with an ID. * * @return void */ - public function testApiStatusesUserTimelineWithUnallowedUser() + public function testApiStatusesRepeatWithId() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_statuses_user_timeline('json'); + // 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']); } /** @@ -1917,9 +974,9 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroy() { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - DI::args()->setArgv(['api', '1.1', 'favorites', 'create']); - api_favorites_create_destroy('json'); + // $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); + // DI::args()->setArgv(['api', '1.1', 'favorites', 'create']); + // api_favorites_create_destroy('json'); } /** @@ -1929,9 +986,9 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithInvalidId() { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - DI::args()->setArgv(['api', '1.1', 'favorites', 'create', '12.json']); - api_favorites_create_destroy('json'); + // $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); + // DI::args()->setArgv(['api', '1.1', 'favorites', 'create', '12.json']); + // api_favorites_create_destroy('json'); } /** @@ -1941,10 +998,10 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithInvalidAction() { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - DI::args()->setArgv(['api', '1.1', 'favorites', 'change.json']); - $_REQUEST['id'] = 1; - api_favorites_create_destroy('json'); + // $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); + // DI::args()->setArgv(['api', '1.1', 'favorites', 'change.json']); + // $_REQUEST['id'] = 1; + // api_favorites_create_destroy('json'); } /** @@ -1954,10 +1011,10 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithCreateAction() { - DI::args()->setArgv(['api', '1.1', 'favorites', 'create.json']); - $_REQUEST['id'] = 3; - $result = api_favorites_create_destroy('json'); - self::assertStatus($result['status']); + // DI::args()->setArgv(['api', '1.1', 'favorites', 'create.json']); + // $_REQUEST['id'] = 3; + // $result = api_favorites_create_destroy('json'); + // self::assertStatus($result['status']); } /** @@ -1967,10 +1024,10 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithCreateActionAndRss() { - DI::args()->setArgv(['api', '1.1', 'favorites', 'create.rss']); - $_REQUEST['id'] = 3; - $result = api_favorites_create_destroy('rss'); - self::assertXml($result, 'status'); + // DI::args()->setArgv(['api', '1.1', 'favorites', 'create.rss']); + // $_REQUEST['id'] = 3; + // $result = api_favorites_create_destroy('rss'); + // self::assertXml($result, 'status'); } /** @@ -1980,10 +1037,10 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithDestroyAction() { - DI::args()->setArgv(['api', '1.1', 'favorites', 'destroy.json']); - $_REQUEST['id'] = 3; - $result = api_favorites_create_destroy('json'); - self::assertStatus($result['status']); + // DI::args()->setArgv(['api', '1.1', 'favorites', 'destroy.json']); + // $_REQUEST['id'] = 3; + // $result = api_favorites_create_destroy('json'); + // self::assertStatus($result['status']); } /** @@ -1993,52 +1050,16 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + /* + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); DI::args()->setArgv(['api', '1.1', 'favorites', 'create.json']); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_favorites_create_destroy('json'); + */ } - /** - * Test the api_favorites() function. - * - * @return void - */ - public function testApiFavorites() - { - $_REQUEST['page'] = -1; - $_REQUEST['max_id'] = 10; - $result = api_favorites('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_favorites() function with an RSS result. - * - * @return void - */ - public function testApiFavoritesWithRss() - { - $result = api_favorites('rss'); - self::assertXml($result, 'statuses'); - } - /** - * Test the api_favorites() function with an unallowed user. - * - * @return void - */ - public function testApiFavoritesWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_favorites('json'); - } /** * Test the api_format_messages() function. @@ -2118,6 +1139,7 @@ class ApiTest extends FixtureTest */ public function testApiConvertItem() { + /* $result = api_convert_item( [ 'network' => 'feed', @@ -2152,6 +1174,7 @@ class ApiTest extends FixtureTest ); self::assertStringStartsWith('item_title', $result['text']); self::assertStringStartsWith('

item_title


perspiciatis impedit voluptatem', $result['html']); + */ } /** @@ -2161,6 +1184,7 @@ class ApiTest extends FixtureTest */ public function testApiConvertItemWithoutBody() { + /* $result = api_convert_item( [ 'network' => 'feed', @@ -2172,6 +1196,7 @@ class ApiTest extends FixtureTest ); self::assertEquals("item_title", $result['text']); self::assertEquals('

item_title


item_plink', $result['html']); + */ } /** @@ -2181,6 +1206,7 @@ class ApiTest extends FixtureTest */ public function testApiConvertItemWithTitleInBody() { + /* $result = api_convert_item( [ 'title' => 'item_title', @@ -2190,6 +1216,7 @@ class ApiTest extends FixtureTest ); self::assertEquals('item_title item_body', $result['text']); self::assertEquals('

item_title


item_title item_body', $result['html']); + */ } /** @@ -2199,8 +1226,8 @@ class ApiTest extends FixtureTest */ public function testApiGetAttachments() { - $body = 'body'; - self::assertEmpty(api_get_attachments($body, 0)); + // $body = 'body'; + // self::assertEmpty(api_get_attachments($body, 0)); } /** @@ -2210,8 +1237,8 @@ class ApiTest extends FixtureTest */ public function testApiGetAttachmentsWithImage() { - $body = '[img]http://via.placeholder.com/1x1.png[/img]'; - self::assertIsArray(api_get_attachments($body, 0)); + // $body = '[img]http://via.placeholder.com/1x1.png[/img]'; + // self::assertIsArray(api_get_attachments($body, 0)); } /** @@ -2221,9 +1248,9 @@ class ApiTest extends FixtureTest */ public function testApiGetAttachmentsWithImageAndAndStatus() { - $_SERVER['HTTP_USER_AGENT'] = 'AndStatus'; - $body = '[img]http://via.placeholder.com/1x1.png[/img]'; - self::assertIsArray(api_get_attachments($body, 0)); + // $_SERVER['HTTP_USER_AGENT'] = 'AndStatus'; + // $body = '[img]http://via.placeholder.com/1x1.png[/img]'; + // self::assertIsArray(api_get_attachments($body, 0)); } /** @@ -2233,8 +1260,8 @@ class ApiTest extends FixtureTest */ public function testApiGetEntitities() { - $text = 'text'; - self::assertIsArray(api_get_entitities($text, 'bbcode', 0)); + // $text = 'text'; + // self::assertIsArray(api_get_entitities($text, 'bbcode', 0)); } /** @@ -2244,6 +1271,7 @@ class ApiTest extends FixtureTest */ public function testApiGetEntititiesWithIncludeEntities() { + /* $_REQUEST['include_entities'] = 'true'; $text = 'text'; $result = api_get_entitities($text, 'bbcode', 0); @@ -2251,6 +1279,7 @@ class ApiTest extends FixtureTest self::assertIsArray($result['symbols']); self::assertIsArray($result['urls']); self::assertIsArray($result['user_mentions']); + */ } /** @@ -2260,42 +1289,12 @@ class ApiTest extends FixtureTest */ public function testApiFormatItemsEmbededImages() { + /* self::assertEquals( 'text ' . DI::baseUrl() . '/display/item_guid', api_format_items_embeded_images(['guid' => 'item_guid'], 'text data:image/foo') ); - } - - /** - * Test the api_contactlink_to_array() function. - * - * @return void - */ - public function testApiContactlinkToArray() - { - self::assertEquals( - [ - 'name' => 'text', - 'url' => '', - ], - api_contactlink_to_array('text') - ); - } - - /** - * Test the api_contactlink_to_array() function with an URL. - * - * @return void - */ - public function testApiContactlinkToArrayWithUrl() - { - self::assertEquals( - [ - 'name' => ['link_text'], - 'url' => ['url'], - ], - api_contactlink_to_array('text link_text') - ); + */ } /** @@ -2305,8 +1304,8 @@ class ApiTest extends FixtureTest */ public function testApiFormatItemsActivities() { - $item = ['uid' => 0, 'uri' => '']; - $result = api_format_items_activities($item); + $item = ['uid' => 0, 'uri-id' => 1]; + $result = DI::friendicaActivities()->createFromUriId($item['uri-id'], $item['uid']); self::assertArrayHasKey('like', $result); self::assertArrayHasKey('dislike', $result); self::assertArrayHasKey('attendyes', $result); @@ -2321,8 +1320,8 @@ class ApiTest extends FixtureTest */ public function testApiFormatItemsActivitiesWithXml() { - $item = ['uid' => 0, 'uri' => '']; - $result = api_format_items_activities($item, 'xml'); + $item = ['uid' => 0, 'uri-id' => 1]; + $result = DI::friendicaActivities()->createFromUriId($item['uri-id'], $item['uid'], 'xml'); self::assertArrayHasKey('friendica:like', $result); self::assertArrayHasKey('friendica:dislike', $result); self::assertArrayHasKey('friendica:attendyes', $result); @@ -2336,23 +1335,13 @@ class ApiTest extends FixtureTest */ public function testApiFormatItems() { - $items = [ - [ - 'item_network' => 'item_network', - 'source' => 'web', - 'coord' => '5 7', - 'body' => '', - 'verb' => '', - 'author-id' => 43, - 'author-network' => Protocol::DFRN, - 'author-link' => 'http://localhost/profile/othercontact', - 'plink' => '', - ] - ]; - $result = api_format_items($items, ['id' => 0], true); - foreach ($result as $status) { + /* + $items = Post::selectToArray([], ['uid' => 42]); + foreach ($items as $item) { + $status = api_format_item($item); self::assertStatus($status); } + */ } /** @@ -2361,21 +1350,13 @@ class ApiTest extends FixtureTest */ public function testApiFormatItemsWithXml() { - $items = [ - [ - 'coord' => '5 7', - 'body' => '', - 'verb' => '', - 'author-id' => 43, - 'author-network' => Protocol::DFRN, - 'author-link' => 'http://localhost/profile/othercontact', - 'plink' => '', - ] - ]; - $result = api_format_items($items, ['id' => 0], true, 'xml'); - foreach ($result as $status) { + /* + $items = Post::selectToArray([], ['uid' => 42]); + foreach ($items as $item) { + $status = api_format_item($item, 'xml'); self::assertStatus($status); } + */ } /** @@ -2409,98 +1390,12 @@ class ApiTest extends FixtureTest */ public function testApiListsOwnershipsWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_lists_ownerships('json'); } - /** - * Test the api_lists_statuses() function. - * - * @return void - */ - public function testApiListsStatuses() - { - $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class); - api_lists_statuses('json'); - } - - /** - * Test the api_lists_statuses() function with a list ID. - * @doesNotPerformAssertions - */ - public function testApiListsStatusesWithListId() - { - $_REQUEST['list_id'] = 1; - $_REQUEST['page'] = -1; - $_REQUEST['max_id'] = 10; - $result = api_lists_statuses('json'); - foreach ($result['status'] as $status) { - self::assertStatus($status); - } - } - - /** - * Test the api_lists_statuses() function with a list ID and a RSS result. - * - * @return void - */ - public function testApiListsStatusesWithListIdAndRss() - { - $_REQUEST['list_id'] = 1; - $result = api_lists_statuses('rss'); - self::assertXml($result, 'statuses'); - } - - /** - * Test the api_lists_statuses() function with an unallowed user. - * - * @return void - */ - public function testApiListsStatusesWithUnallowedUser() - { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; - BasicAuth::setCurrentUserID(); - api_lists_statuses('json'); - } - - /** - * Test the api_statuses_f() function. - * - * @return void - */ - public function testApiStatusesFWithFriends() - { - $_GET['page'] = -1; - $result = api_statuses_f('friends'); - self::assertArrayHasKey('user', $result); - } - - /** - * Test the api_statuses_f() function. - * - * @return void - */ - public function testApiStatusesFWithFollowers() - { - $result = api_statuses_f('followers'); - self::assertArrayHasKey('user', $result); - } - - /** - * Test the api_statuses_f() function. - * - * @return void - */ - public function testApiStatusesFWithBlocks() - { - $result = api_statuses_f('blocks'); - self::assertArrayHasKey('user', $result); - } - /** * Test the api_statuses_f() function. * @@ -2508,130 +1403,10 @@ class ApiTest extends FixtureTest */ public function testApiStatusesFWithIncoming() { - $result = api_statuses_f('incoming'); - self::assertArrayHasKey('user', $result); - } - - /** - * Test the api_statuses_f() function an undefined cursor GET variable. - * - * @return void - */ - public function testApiStatusesFWithUndefinedCursor() - { - $_GET['cursor'] = 'undefined'; - self::assertFalse(api_statuses_f('friends')); - } - - /** - * Test the api_statuses_friends() function. - * - * @return void - */ - public function testApiStatusesFriends() - { - $result = api_statuses_friends('json'); - self::assertArrayHasKey('user', $result); - } - - /** - * Test the api_statuses_friends() function an undefined cursor GET variable. - * - * @return void - */ - public function testApiStatusesFriendsWithUndefinedCursor() - { - $_GET['cursor'] = 'undefined'; - self::assertFalse(api_statuses_friends('json')); - } - - /** - * Test the api_statuses_followers() function. - * - * @return void - */ - public function testApiStatusesFollowers() - { - $result = api_statuses_followers('json'); - self::assertArrayHasKey('user', $result); - } - - /** - * Test the api_statuses_followers() function an undefined cursor GET variable. - * - * @return void - */ - public function testApiStatusesFollowersWithUndefinedCursor() - { - $_GET['cursor'] = 'undefined'; - self::assertFalse(api_statuses_followers('json')); - } - - /** - * Test the api_blocks_list() function. - * - * @return void - */ - public function testApiBlocksList() - { - $result = api_blocks_list('json'); - self::assertArrayHasKey('user', $result); - } - - /** - * Test the api_blocks_list() function an undefined cursor GET variable. - * - * @return void - */ - public function testApiBlocksListWithUndefinedCursor() - { - $_GET['cursor'] = 'undefined'; - self::assertFalse(api_blocks_list('json')); - } - - /** - * Test the api_friendships_incoming() function. - * - * @return void - */ - public function testApiFriendshipsIncoming() - { - $result = api_friendships_incoming('json'); - self::assertArrayHasKey('id', $result); + // $result = api_statuses_f('incoming'); + // self::assertArrayHasKey('user', $result); } - /** - * Test the api_friendships_incoming() function an undefined cursor GET variable. - * - * @return void - */ - public function testApiFriendshipsIncomingWithUndefinedCursor() - { - $_GET['cursor'] = 'undefined'; - self::assertFalse(api_friendships_incoming('json')); - } - - /** - * Test the api_statusnet_config() function. - * - * @return void - */ - public function testApiStatusnetConfig() - { - /* - $result = api_statusnet_config('json'); - self::assertEquals('localhost', $result['config']['site']['server']); - self::assertEquals('default', $result['config']['site']['theme']); - self::assertEquals(DI::baseUrl() . '/images/friendica-64.png', $result['config']['site']['logo']); - self::assertTrue($result['config']['site']['fancy']); - self::assertEquals('en', $result['config']['site']['language']); - self::assertEquals('UTC', $result['config']['site']['timezone']); - self::assertEquals(200000, $result['config']['site']['textlimit']); - self::assertEquals('false', $result['config']['site']['private']); - self::assertEquals('false', $result['config']['site']['ssl']); - self::assertEquals(30, $result['config']['site']['shorturllength']); - */ - } /** * Test the api_direct_messages_new() function. @@ -2651,7 +1426,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_direct_messages_new('json'); @@ -2664,8 +1439,8 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithUserId() { - $_POST['text'] = 'message_text'; - $_POST['user_id'] = $this->otherUser['id']; + $_POST['text'] = 'message_text'; + $_REQUEST['user_id'] = $this->otherUser['id']; $result = api_direct_messages_new('json'); self::assertEquals(['direct_message' => ['error' => -1]], $result); } @@ -2678,9 +1453,9 @@ class ApiTest extends FixtureTest public function testApiDirectMessagesNewWithScreenName() { $this->app->setLoggedInUserNickname($this->selfUser['nick']); - $_POST['text'] = 'message_text'; - $_POST['screen_name'] = $this->friendUser['nick']; - $result = api_direct_messages_new('json'); + $_POST['text'] = 'message_text'; + $_REQUEST['user_id'] = $this->friendUser['id']; + $result = api_direct_messages_new('json'); self::assertStringContainsString('message_text', $result['direct_message']['text']); self::assertEquals('selfcontact', $result['direct_message']['sender_screen_name']); self::assertEquals(1, $result['direct_message']['friendica_seen']); @@ -2695,9 +1470,9 @@ class ApiTest extends FixtureTest { $this->app->setLoggedInUserNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; - $_POST['screen_name'] = $this->friendUser['nick']; + $_REQUEST['user_id'] = $this->friendUser['id']; $_REQUEST['title'] = 'message_title'; - $result = api_direct_messages_new('json'); + $result = api_direct_messages_new('json'); self::assertStringContainsString('message_text', $result['direct_message']['text']); self::assertStringContainsString('message_title', $result['direct_message']['text']); self::assertEquals('selfcontact', $result['direct_message']['sender_screen_name']); @@ -2712,9 +1487,9 @@ class ApiTest extends FixtureTest public function testApiDirectMessagesNewWithRss() { $this->app->setLoggedInUserNickname($this->selfUser['nick']); - $_POST['text'] = 'message_text'; - $_POST['screen_name'] = $this->friendUser['nick']; - $result = api_direct_messages_new('rss'); + $_POST['text'] = 'message_text'; + $_REQUEST['user_id'] = $this->friendUser['id']; + $result = api_direct_messages_new('rss'); self::assertXml($result, 'direct-messages'); } @@ -2756,7 +1531,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesDestroyWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_direct_messages_destroy('json'); @@ -2889,9 +1664,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesBoxWithUnallowedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); - $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); api_direct_messages_box('json', 'sentbox', 'false'); } @@ -2978,7 +1751,7 @@ class ApiTest extends FixtureTest */ public function testApiFrPhotosListWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_fr_photos_list('json'); @@ -3000,7 +1773,7 @@ class ApiTest extends FixtureTest */ public function testApiFrPhotoCreateUpdateWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_fr_photo_create_update('json'); @@ -3056,7 +1829,7 @@ class ApiTest extends FixtureTest */ public function testApiFrPhotoDetailWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_fr_photo_detail('json'); @@ -3102,7 +1875,7 @@ class ApiTest extends FixtureTest */ public function testApiAccountUpdateProfileImageWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\ForbiddenException::class); + $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_account_update_profile_image('json'); @@ -3119,26 +1892,6 @@ class ApiTest extends FixtureTest $this->markTestIncomplete(); } - - /** - * Test the api_account_update_profile() function. - * - * @return void - */ - public function testApiAccountUpdateProfile() - { - $_POST['name'] = 'new_name'; - $_POST['description'] = 'new_description'; - $result = api_account_update_profile('json'); - // We can't use assertSelfUser() here because the user object is missing some properties. - self::assertEquals($this->selfUser['id'], $result['user']['cid']); - self::assertEquals('DFRN', $result['user']['location']); - self::assertEquals($this->selfUser['nick'], $result['user']['screen_name']); - self::assertEquals('dfrn', $result['user']['network']); - self::assertEquals('new_name', $result['user']['name']); - self::assertEquals('new_description', $result['user']['description']); - } - /** * Test the check_acl_input() function. * @@ -3146,7 +1899,7 @@ class ApiTest extends FixtureTest */ public function testCheckAclInput() { - $result = check_acl_input(''); + $result = check_acl_input('', BaseApi::getCurrentUserID()); // Where does this result come from? self::assertEquals(1, $result); } @@ -3158,7 +1911,7 @@ class ApiTest extends FixtureTest */ public function testCheckAclInputWithEmptyAclString() { - $result = check_acl_input(' '); + $result = check_acl_input(' ', BaseApi::getCurrentUserID()); self::assertFalse($result); } @@ -3202,21 +1955,6 @@ class ApiTest extends FixtureTest $this->markTestIncomplete(); } - /** - * Test the api_in_reply_to() function. - * - * @return void - */ - public function testApiInReplyTo() - { - $result = api_in_reply_to(['id' => 0, 'parent' => 0, 'uri' => '', 'thr-parent' => '']); - self::assertArrayHasKey('status_id', $result); - self::assertArrayHasKey('user_id', $result); - self::assertArrayHasKey('status_id_str', $result); - self::assertArrayHasKey('user_id_str', $result); - self::assertArrayHasKey('screen_name', $result); - } - /** * Test the api_in_reply_to() function with a valid item. * @@ -3239,18 +1977,6 @@ class ApiTest extends FixtureTest self::assertEquals('some_text [url="some_url"]"some_url"[/url]', $result); } - /** - * Test the api_best_nickname() function. - * - * @return void - */ - public function testApiBestNickname() - { - $contacts = []; - $result = api_best_nickname($contacts); - self::assertNull($result); - } - /** * Test the api_best_nickname() function with contacts. *