X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Flegacy%2FApiTest.php;h=fea2bd5f1bf4b07bc5baaec89dca5091ebc759a5;hb=732ef70b8d1b0a8334c1d1444ce1ed376a1760e1;hp=13509bf3434aac3f7d111c12ad1dbbdababb6aa2;hpb=5a9ef594bf1fe2732cfc9dccb6973bfbbaaf3b91;p=friendica.git diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index 13509bf343..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'; @@ -116,56 +112,6 @@ class ApiTest extends FixtureTest 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. * @@ -197,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. * @@ -243,7 +170,7 @@ class ApiTest extends FixtureTest */ public function testApiSource() { - self::assertEquals('api', api_source()); + self::assertEquals('api', BasicAuth::getCurrentApplicationToken()['name']); } /** @@ -254,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']); } /** @@ -264,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']); } /** @@ -295,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'])); } @@ -397,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') ); } @@ -424,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 = [ @@ -438,7 +359,7 @@ class ApiTest extends FixtureTest self::assertEquals( '["some_data"]', - api_call($this->app, $args) + api_call('api_path', 'json') ); } @@ -460,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') ); } @@ -490,7 +409,7 @@ class ApiTest extends FixtureTest self::assertEquals( 'some_data', - api_call($this->app, $args) + api_call('api_path.xml', 'xml') ); } @@ -512,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') ); } @@ -539,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') ); } @@ -555,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']); @@ -565,6 +481,7 @@ class ApiTest extends FixtureTest self::assertArrayHasKey('atom_updated', $result['$rss']); self::assertArrayHasKey('language', $result['$rss']); self::assertArrayHasKey('logo', $result['$rss']); + */ } /** @@ -574,6 +491,7 @@ class ApiTest extends FixtureTest */ public function testApiRssExtraWithoutUserInfo() { + /* $result = api_rss_extra([], null); self::assertIsArray($result['$user']); self::assertArrayHasKey('alternate', $result['$rss']); @@ -583,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'])); + */ } /** @@ -753,39 +652,6 @@ class ApiTest extends FixtureTest // self::assertSelfUser(api_get_user()); } - /** - * Test the api_get_user() function with a 0 user ID. - * - * @return void - */ - public function testApiGetUserWithZeroUser() - { - self::assertSelfUser(DI::twitterUser()->createFromUserId(BaseApi::getCurrentUserID())->toArray()); - } - - /** - * 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]); - } - /** * Test the Arrays::walkRecursive() function. * @@ -928,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\UnauthorizedException::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. * @@ -990,6 +801,7 @@ class ApiTest extends FixtureTest */ public function testApiStatusesMediap() { + /* DI::args()->setArgc(2); $_FILES = [ @@ -1007,6 +819,7 @@ class ApiTest extends FixtureTest $result = api_statuses_mediap('json'); self::assertStatus($result['status']); + */ } /** @@ -1016,10 +829,10 @@ class ApiTest extends FixtureTest */ public function testApiStatusesMediapWithoutAuthenticatedUser() { - $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::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'); } /** @@ -1029,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, @@ -1047,6 +861,7 @@ class ApiTest extends FixtureTest $result = api_statuses_update('json'); self::assertStatus($result['status']); + */ } /** @@ -1056,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']); + */ } /** @@ -1069,10 +886,12 @@ class ApiTest extends FixtureTest */ public function testApiStatusesUpdateWithoutAuthenticatedUser() { + /* $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_statuses_update('json'); + */ } /** @@ -1090,752 +909,62 @@ class ApiTest extends FixtureTest * * @return void */ - public function testApiStatusesUpdateWithMediaIds() - { - $this->markTestIncomplete(); - } - - /** - * Test the api_statuses_update() function with the throttle limit reached. - * - * @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\UnauthorizedException::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\UnauthorizedException::class); - 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\UnauthorizedException::class); - 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\UnauthorizedException::class); - 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\UnauthorizedException::class); - 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\UnauthorizedException::class); - 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\UnauthorizedException::class); - 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\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_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\UnauthorizedException::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\UnauthorizedException::class); - BasicAuth::setCurrentUserID(); - api_statuses_mentions('json'); - } - - /** - * Test the api_statuses_mentions() function with an RSS result. - * - * @return void - */ - public function testApiStatusesMentionsWithRss() + public function testApiStatusesUpdateWithMediaIds() { - $result = api_statuses_mentions('rss'); - self::assertXml($result, 'statuses'); + $this->markTestIncomplete(); } /** - * Test the api_statuses_user_timeline() function. + * Test the api_statuses_update() function with the throttle limit reached. * * @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\UnauthorizedException::class); - 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']); } /** @@ -1845,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'); } /** @@ -1857,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'); } /** @@ -1869,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'); } /** @@ -1882,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']); } /** @@ -1895,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'); } /** @@ -1908,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']); } /** @@ -1921,50 +1050,16 @@ class ApiTest extends FixtureTest */ public function testApiFavoritesCreateDestroyWithoutAuthenticatedUser() { + /* $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\UnauthorizedException::class); - BasicAuth::setCurrentUserID(); - api_favorites('json'); - } /** * Test the api_format_messages() function. @@ -2044,6 +1139,7 @@ class ApiTest extends FixtureTest */ public function testApiConvertItem() { + /* $result = api_convert_item( [ 'network' => 'feed', @@ -2078,6 +1174,7 @@ class ApiTest extends FixtureTest ); self::assertStringStartsWith('item_title', $result['text']); self::assertStringStartsWith('