X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Finclude%2FApiTest.php;h=d6ce7576fee80264b8b8c5bec8059a4e7cf03dc8;hb=d70b77288dcb506ea9c4cc0a8306b630e0e21f80;hp=a7193c8872dc6ad0280171a15636d1fc557358e7;hpb=1d8b80922795c35c36e10f3415310a9ef04dd9cd;p=friendica.git diff --git a/tests/include/ApiTest.php b/tests/include/ApiTest.php index a7193c8872..d6ce7576fe 100644 --- a/tests/include/ApiTest.php +++ b/tests/include/ApiTest.php @@ -5,16 +5,20 @@ namespace Friendica\Test; +use Dice\Dice; use Friendica\App; -use Friendica\Core\Config; -use Friendica\Core\Config\Cache\PConfigCache; -use Friendica\Core\L10n\L10n; -use Friendica\Core\PConfig; +use Friendica\Core\Config\IConfig; +use Friendica\Core\PConfig\IPConfig; use Friendica\Core\Protocol; -use Friendica\Core\System; -use Friendica\Factory; +use Friendica\Core\Session; +use Friendica\Core\Session\ISession; +use Friendica\Database\Database; +use Friendica\Database\DBStructure; +use Friendica\DI; +use Friendica\Model\Contact; use Friendica\Network\HTTPException; -use Friendica\Util\BaseURL; +use Friendica\Test\Util\Database\StaticDatabase; +use Friendica\Util\Temporal; use Monolog\Handler\TestHandler; require_once __DIR__ . '/../../include/api.php'; @@ -32,9 +36,6 @@ class ApiTest extends DatabaseTest */ protected $logOutput; - /** @var App */ - protected $app; - /** @var array */ protected $selfUser; /** @var array */ @@ -44,42 +45,73 @@ class ApiTest extends DatabaseTest protected $wrongUserId; + /** @var App */ + protected $app; + + /** @var IConfig */ + protected $config; + + /** @var Dice */ + protected $dice; + /** * Create variables used by tests. */ - public function setUp() - { - $configModel = new \Friendica\Model\Config\Config(self::$dba); - $configFactory = new Factory\ConfigFactory(); - $config = $configFactory->createConfig(self::$configCache, $configModel); - $pconfigModel = new \Friendica\Model\Config\PConfig(self::$dba); - $configFactory->createPConfig(self::$configCache, new PConfigCache(), $pconfigModel); - $loggerFactory = new Factory\LoggerFactory(); - $logger = $loggerFactory->create('test', self::$dba, $config, self::$profiler); - $baseUrl = new BaseURL($config, $_SERVER); - $router = new App\Router(); - $l10n = new L10n($config, - self::$dba, - $logger); - $this->app = new App(self::$dba, $config, self::$mode, $router, $baseUrl, $logger, self::$profiler, $l10n, false); - + protected function setUp() + { parent::setUp(); + $this->dice = (new Dice()) + ->addRules(include __DIR__ . '/../../static/dependencies.config.php') + ->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]) + ->addRule(ISession::class, ['instanceOf' => Session\Memory::class, 'shared' => true, 'call' => null]); + DI::init($this->dice); + + /** @var Database $dba */ + $dba = $this->dice->create(Database::class); + + $dba->setTestmode(true); + + DBStructure::checkInitialValues(); + + /** @var IConfig $config */ + $this->config = $this->dice->create(IConfig::class); + + $this->config->set('system', 'url', 'http://localhost'); + $this->config->set('system', 'hostname', 'localhost'); + $this->config->set('system', 'worker_dont_fork', true); + + // Default config + $this->config->set('config', 'hostname', 'localhost'); + $this->config->set('system', 'throttle_limit_day', 100); + $this->config->set('system', 'throttle_limit_week', 100); + $this->config->set('system', 'throttle_limit_month', 100); + $this->config->set('system', 'theme', 'system_theme'); + + // Load the API dataset for the whole API + $this->loadFixture(__DIR__ . '/../datasets/api.fixture.php', $dba); + + /** @var App app */ + $this->app = DI::app(); + + $this->app->argc = 1; + $this->app->argv = ['home']; + // User data that the test database is populated with - $this->selfUser = [ - 'id' => 42, + $this->selfUser = [ + 'id' => 42, 'name' => 'Self contact', 'nick' => 'selfcontact', 'nurl' => 'http://localhost/profile/selfcontact' ]; $this->friendUser = [ - 'id' => 44, + 'id' => 44, 'name' => 'Friend contact', 'nick' => 'friendcontact', 'nurl' => 'http://localhost/profile/friendcontact' ]; - $this->otherUser = [ - 'id' => 43, + $this->otherUser = [ + 'id' => 43, 'name' => 'othercontact', 'nick' => 'othercontact', 'nurl' => 'http://localhost/profile/othercontact' @@ -88,39 +120,25 @@ class ApiTest extends DatabaseTest // User ID that we know is not in the database $this->wrongUserId = 666; + DI::session()->start(); + // Most API require login so we force the session $_SESSION = [ - 'allow_api' => true, + 'allow_api' => true, 'authenticated' => true, - 'uid' => $this->selfUser['id'] + 'uid' => $this->selfUser['id'] ]; - Config::set('system', 'url', 'http://localhost'); - Config::set('system', 'hostname', 'localhost'); - Config::set('system', 'worker_dont_fork', true); - - // Default config - Config::set('config', 'hostname', 'localhost'); - Config::set('system', 'throttle_limit_day', 100); - Config::set('system', 'throttle_limit_week', 100); - Config::set('system', 'throttle_limit_month', 100); - Config::set('system', 'theme', 'system_theme'); - } - - /** - * Cleanup variables used by tests. - */ - protected function tearDown() - { - parent::tearDown(); - - $this->app->argc = 1; - $this->app->argv = ['home']; + $_POST = []; + $_GET = []; + $_SERVER = []; } /** * Assert that an user array contains expected keys. + * * @param array $user User array + * * @return void */ private function assertSelfUser(array $user) @@ -137,7 +155,9 @@ class ApiTest extends DatabaseTest /** * Assert that an user array contains expected keys. + * * @param array $user User array + * * @return void */ private function assertOtherUser(array $user) @@ -152,7 +172,9 @@ class ApiTest extends DatabaseTest /** * Assert that a status array contains expected keys. + * * @param array $status Status array + * * @return void */ private function assertStatus(array $status) @@ -164,7 +186,9 @@ class ApiTest extends DatabaseTest /** * Assert that a list array contains expected keys. + * * @param array $list List array + * * @return void */ private function assertList(array $list) @@ -178,19 +202,22 @@ class ApiTest extends DatabaseTest /** * Assert that the string is XML and contain the root element. + * * @param string $result XML string * @param string $root_element Root element name + * * @return void */ private function assertXml($result, $root_element) { $this->assertStringStartsWith('', $result); - $this->assertContains('<'.$root_element, $result); + $this->assertContains('<' . $root_element, $result); // We could probably do more checks here. } /** * Get the path to a temporary empty PNG image. + * * @return string Path */ private function getTempImage() @@ -199,7 +226,7 @@ class ApiTest extends DatabaseTest file_put_contents( $tmpFile, base64_decode( - // Empty 1x1 px PNG image + // Empty 1x1 px PNG image 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==' ) ); @@ -209,6 +236,7 @@ class ApiTest extends DatabaseTest /** * Test the api_user() function. + * * @return void */ public function testApiUser() @@ -218,6 +246,7 @@ class ApiTest extends DatabaseTest /** * Test the api_user() function with an unallowed user. + * * @return void */ public function testApiUserWithUnallowedUser() @@ -228,6 +257,7 @@ class ApiTest extends DatabaseTest /** * Test the api_source() function. + * * @return void */ public function testApiSource() @@ -237,6 +267,7 @@ class ApiTest extends DatabaseTest /** * Test the api_source() function with a Twidere user agent. + * * @return void */ public function testApiSourceWithTwidere() @@ -247,6 +278,7 @@ class ApiTest extends DatabaseTest /** * Test the api_source() function with a GET parameter. + * * @return void */ public function testApiSourceWithGet() @@ -257,6 +289,7 @@ class ApiTest extends DatabaseTest /** * Test the api_date() function. + * * @return void */ public function testApiDate() @@ -266,6 +299,7 @@ class ApiTest extends DatabaseTest /** * Test the api_register_func() function. + * * @return void */ public function testApiRegisterFunc() @@ -287,6 +321,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function without any login. + * * @return void * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\UnauthorizedException @@ -298,6 +333,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with a bad login. + * * @return void * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\UnauthorizedException @@ -310,6 +346,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with oAuth. + * * @return void */ public function testApiLoginWithOauth() @@ -319,6 +356,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with authentication provided by an addon. + * * @return void */ public function testApiLoginWithAddonAuth() @@ -328,18 +366,20 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with a correct login. + * * @return void * @runInSeparateProcess */ public function testApiLoginWithCorrectLogin() { $_SERVER['PHP_AUTH_USER'] = 'Test user'; - $_SERVER['PHP_AUTH_PW'] = 'password'; + $_SERVER['PHP_AUTH_PW'] = 'password'; api_login($this->app); } /** * Test the api_login() function with a remote user. + * * @return void * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\UnauthorizedException @@ -352,6 +392,7 @@ class ApiTest extends DatabaseTest /** * Test the api_check_method() function. + * * @return void */ public function testApiCheckMethod() @@ -361,6 +402,7 @@ class ApiTest extends DatabaseTest /** * Test the api_check_method() function with a correct method. + * * @return void */ public function testApiCheckMethodWithCorrectMethod() @@ -371,6 +413,7 @@ class ApiTest extends DatabaseTest /** * Test the api_check_method() function with a wildcard. + * * @return void */ public function testApiCheckMethodWithWildcard() @@ -380,85 +423,97 @@ class ApiTest extends DatabaseTest /** * Test the api_call() function. + * * @return void * @runInSeparateProcess */ public function testApiCall() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return ['data' => ['some_data']]; } ]; $_SERVER['REQUEST_METHOD'] = 'method'; - $_GET['callback'] = 'callback_name'; + $_SERVER['QUERY_STRING'] = 'q=api_path'; + $_GET['callback'] = 'callback_name'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path'; $this->assertEquals( 'callback_name(["some_data"])', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_call() function with the profiled enabled. + * * @return void * @runInSeparateProcess */ public function testApiCallWithProfiler() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return ['data' => ['some_data']]; } ]; + $_SERVER['REQUEST_METHOD'] = 'method'; - Config::set('system', 'profiler', true); - Config::set('rendertime', 'callstack', true); + $_SERVER['QUERY_STRING'] = 'q=api_path'; + + $args = DI::args()->determine($_SERVER, $_GET); + + $this->config->set('system', 'profiler', true); + $this->config->set('rendertime', 'callstack', true); $this->app->callstack = [ - 'database' => ['some_function' => 200], + 'database' => ['some_function' => 200], 'database_write' => ['some_function' => 200], - 'cache' => ['some_function' => 200], - 'cache_write' => ['some_function' => 200], - 'network' => ['some_function' => 200] + 'cache' => ['some_function' => 200], + 'cache_write' => ['some_function' => 200], + 'network' => ['some_function' => 200] ]; - $this->app->query_string = 'api_path'; $this->assertEquals( '["some_data"]', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_call() function without any result. + * * @return void * @runInSeparateProcess */ public function testApiCallWithNoResult() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return false; } ]; $_SERVER['REQUEST_METHOD'] = 'method'; + $_SERVER['QUERY_STRING'] = 'q=api_path'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path'; $this->assertEquals( '{"status":{"error":"Internal Server Error","code":"500 Internal Server Error","request":"api_path"}}', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_call() function with an unimplemented API. + * * @return void * @runInSeparateProcess */ @@ -472,100 +527,113 @@ class ApiTest extends DatabaseTest /** * Test the api_call() function with a JSON result. + * * @return void * @runInSeparateProcess */ public function testApiCallWithJson() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return ['data' => ['some_data']]; } ]; $_SERVER['REQUEST_METHOD'] = 'method'; + $_SERVER['QUERY_STRING'] = 'q=api_path.json'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path.json'; $this->assertEquals( '["some_data"]', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_call() function with an XML result. + * * @return void * @runInSeparateProcess */ public function testApiCallWithXml() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return 'some_data'; } ]; $_SERVER['REQUEST_METHOD'] = 'method'; + $_SERVER['QUERY_STRING'] = 'q=api_path.xml'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path.xml'; $this->assertEquals( 'some_data', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_call() function with an RSS result. + * * @return void * @runInSeparateProcess */ public function testApiCallWithRss() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return 'some_data'; } ]; $_SERVER['REQUEST_METHOD'] = 'method'; + $_SERVER['QUERY_STRING'] = 'q=api_path.rss'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path.rss'; $this->assertEquals( - ''."\n". - 'some_data', - api_call($this->app) + '' . "\n" . + 'some_data', + api_call($this->app, $args) ); } /** * Test the api_call() function with an Atom result. + * * @return void * @runInSeparateProcess */ public function testApiCallWithAtom() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'func' => function () { + 'func' => function () { return 'some_data'; } ]; $_SERVER['REQUEST_METHOD'] = 'method'; + $_SERVER['QUERY_STRING'] = 'q=api_path.atom'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path.atom'; $this->assertEquals( - ''."\n". - 'some_data', - api_call($this->app) + '' . "\n" . + 'some_data', + api_call($this->app, $args) ); } /** * Test the api_call() function with an unallowed method. + * * @return void * @runInSeparateProcess */ @@ -574,37 +642,44 @@ class ApiTest extends DatabaseTest global $API; $API['api_path'] = ['method' => 'method']; - $this->app->query_string = 'api_path'; + $_SERVER['QUERY_STRING'] = 'q=api_path'; + + $args = DI::args()->determine($_SERVER, $_GET); + $this->assertEquals( '{"status":{"error":"Method Not Allowed","code":"405 Method Not Allowed","request":"api_path"}}', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_call() function with an unauthorized user. + * * @return void * @runInSeparateProcess */ public function testApiCallWithWrongAuth() { global $API; - $API['api_path'] = [ + $API['api_path'] = [ 'method' => 'method', - 'auth' => true + 'auth' => true ]; - $_SERVER['REQUEST_METHOD'] = 'method'; $_SESSION['authenticated'] = false; + $_SERVER['REQUEST_METHOD'] = 'method'; + $_SERVER['QUERY_STRING'] = 'q=api_path'; + + $args = DI::args()->determine($_SERVER, $_GET); - $this->app->query_string = 'api_path'; $this->assertEquals( '{"status":{"error":"This API requires login","code":"401 Unauthorized","request":"api_path"}}', - api_call($this->app) + api_call($this->app, $args) ); } /** * Test the api_error() function with a JSON result. + * * @return void * @runInSeparateProcess */ @@ -612,78 +687,82 @@ class ApiTest extends DatabaseTest { $this->assertEquals( '{"status":{"error":"error_message","code":"200 OK","request":""}}', - api_error('json', new HTTPException\OKException('error_message')) + api_error('json', new HTTPException\OKException('error_message'), DI::args()) ); } /** * Test the api_error() function with an XML result. + * * @return void * @runInSeparateProcess */ public function testApiErrorWithXml() { $this->assertEquals( - ''."\n". - ''."\n". - ' error_message'."\n". - ' 200 OK'."\n". - ' '."\n". - ''."\n", - api_error('xml', new HTTPException\OKException('error_message')) + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", + api_error('xml', new HTTPException\OKException('error_message'), DI::args()) ); } /** * Test the api_error() function with an RSS result. + * * @return void * @runInSeparateProcess */ public function testApiErrorWithRss() { $this->assertEquals( - ''."\n". - ''."\n". - ' error_message'."\n". - ' 200 OK'."\n". - ' '."\n". - ''."\n", - api_error('rss', new HTTPException\OKException('error_message')) + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", + api_error('rss', new HTTPException\OKException('error_message'), DI::args()) ); } /** * Test the api_error() function with an Atom result. + * * @return void * @runInSeparateProcess */ public function testApiErrorWithAtom() { $this->assertEquals( - ''."\n". - ''."\n". - ' error_message'."\n". - ' 200 OK'."\n". - ' '."\n". - ''."\n", - api_error('atom', new HTTPException\OKException('error_message')) + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", + api_error('atom', new HTTPException\OKException('error_message'), DI::args()) ); } /** * Test the api_rss_extra() function. + * * @return void */ public function testApiRssExtra() { $user_info = ['url' => 'user_url', 'lang' => 'en']; - $result = api_rss_extra($this->app, [], $user_info); + $result = api_rss_extra($this->app, [], $user_info); $this->assertEquals($user_info, $result['$user']); $this->assertEquals($user_info['url'], $result['$rss']['alternate']); $this->assertArrayHasKey('self', $result['$rss']); @@ -696,8 +775,8 @@ class ApiTest extends DatabaseTest /** * Test the api_rss_extra() function without any user info. + * * @return void - * @runInSeparateProcess */ public function testApiRssExtraWithoutUserInfo() { @@ -714,6 +793,7 @@ class ApiTest extends DatabaseTest /** * Test the api_unique_id_to_nurl() function. + * * @return void */ public function testApiUniqueIdToNurl() @@ -723,6 +803,7 @@ class ApiTest extends DatabaseTest /** * Test the api_unique_id_to_nurl() function with a correct ID. + * * @return void */ public function testApiUniqueIdToNurlWithCorrectId() @@ -732,8 +813,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function. + * * @return void - * @runInSeparateProcess */ public function testApiGetUser() { @@ -746,12 +827,13 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a Frio schema. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithFrioSchema() { - PConfig::set($this->selfUser['id'], 'frio', 'schema', 'red'); + $pConfig = $this->dice->create(IPConfig::class); + $pConfig->set($this->selfUser['id'], 'frio', 'schema', 'red'); $user = api_get_user($this->app); $this->assertSelfUser($user); $this->assertEquals('708fa0', $user['profile_sidebar_fill_color']); @@ -761,15 +843,16 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a custom Frio schema. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithCustomFrioSchema() { - $ret1 = PConfig::set($this->selfUser['id'], 'frio', 'schema', '---'); - $ret2 = PConfig::set($this->selfUser['id'], 'frio', 'nav_bg', '#123456'); - $ret3 = PConfig::set($this->selfUser['id'], 'frio', 'link_color', '#123456'); - $ret4 = PConfig::set($this->selfUser['id'], 'frio', 'background_color', '#123456'); + $pConfig = $this->dice->create(IPConfig::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($this->app); $this->assertSelfUser($user); $this->assertEquals('123456', $user['profile_sidebar_fill_color']); @@ -779,12 +862,13 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with an empty Frio schema. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithEmptyFrioSchema() { - PConfig::set($this->selfUser['id'], 'frio', 'schema', '---'); + $pConfig = $this->dice->create(IPConfig::class); + $pConfig->set($this->selfUser['id'], 'frio', 'schema', '---'); $user = api_get_user($this->app); $this->assertSelfUser($user); $this->assertEquals('708fa0', $user['profile_sidebar_fill_color']); @@ -794,21 +878,22 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with an user that is not allowed to use the API. + * * @return void * @runInSeparateProcess */ public function testApiGetUserWithoutApiUser() { $_SERVER['PHP_AUTH_USER'] = 'Test user'; - $_SERVER['PHP_AUTH_PW'] = 'password'; - $_SESSION['allow_api'] = false; + $_SERVER['PHP_AUTH_PW'] = 'password'; + $_SESSION['allow_api'] = false; $this->assertFalse(api_get_user($this->app)); } /** * Test the api_get_user() function with an user ID in a GET parameter. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithGetId() { @@ -818,8 +903,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a wrong user ID in a GET parameter. + * * @return void - * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\BadRequestException */ public function testApiGetUserWithWrongGetId() @@ -830,8 +915,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with an user name in a GET parameter. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithGetName() { @@ -841,8 +926,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a profile URL in a GET parameter. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithGetUrl() { @@ -852,21 +937,21 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with an user ID in the API path. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithNumericCalledApi() { global $called_api; - $called_api = ['api_path']; - $this->app->argv[1] = $this->otherUser['id'].'.json'; + $called_api = ['api_path']; + $this->app->argv[1] = $this->otherUser['id'] . '.json'; $this->assertOtherUser(api_get_user($this->app)); } /** * Test the api_get_user() function with the $called_api global variable. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithCalledApi() { @@ -877,8 +962,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a valid user. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithCorrectUser() { @@ -887,8 +972,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a wrong user ID. + * * @return void - * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\BadRequestException */ public function testApiGetUserWithWrongUser() @@ -898,8 +983,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a 0 user ID. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithZeroUser() { @@ -908,8 +993,8 @@ class ApiTest extends DatabaseTest /** * Test the api_item_get_user() function. + * * @return void - * @runInSeparateProcess */ public function testApiItemGetUser() { @@ -919,6 +1004,7 @@ class ApiTest extends DatabaseTest /** * Test the api_item_get_user() function with a different item parent. + * * @return void */ public function testApiItemGetUserWithDifferentParent() @@ -930,6 +1016,7 @@ class ApiTest extends DatabaseTest /** * Test the api_walk_recursive() function. + * * @return void */ public function testApiWalkRecursive() @@ -949,6 +1036,7 @@ class ApiTest extends DatabaseTest /** * Test the api_walk_recursive() function with an array. + * * @return void */ public function testApiWalkRecursiveWithArray() @@ -968,74 +1056,80 @@ class ApiTest extends DatabaseTest /** * Test the api_reformat_xml() function. + * * @return void */ public function testApiReformatXml() { $item = true; - $key = ''; + $key = ''; $this->assertTrue(api_reformat_xml($item, $key)); $this->assertEquals('true', $item); } /** * Test the api_reformat_xml() function with a statusnet_api key. + * * @return void */ public function testApiReformatXmlWithStatusnetKey() { $item = ''; - $key = 'statusnet_api'; + $key = 'statusnet_api'; $this->assertTrue(api_reformat_xml($item, $key)); $this->assertEquals('statusnet:api', $key); } /** * Test the api_reformat_xml() function with a friendica_api key. + * * @return void */ public function testApiReformatXmlWithFriendicaKey() { $item = ''; - $key = 'friendica_api'; + $key = 'friendica_api'; $this->assertTrue(api_reformat_xml($item, $key)); $this->assertEquals('friendica:api', $key); } /** * Test the api_create_xml() function. + * * @return void */ public function testApiCreateXml() { $this->assertEquals( - ''."\n". - ''."\n". - ' some_data'."\n". - ''."\n", + '' . "\n" . + '' . "\n" . + ' some_data' . "\n" . + '' . "\n", api_create_xml(['data' => ['some_data']], 'root_element') ); } /** * Test the api_create_xml() function without any XML namespace. + * * @return void */ public function testApiCreateXmlWithoutNamespaces() { $this->assertEquals( - ''."\n". - ''."\n". - ' some_data'."\n". - ''."\n", + '' . "\n" . + '' . "\n" . + ' some_data' . "\n" . + '' . "\n", api_create_xml(['data' => ['some_data']], 'ok') ); } /** * Test the api_format_data() function. + * * @return void */ public function testApiFormatData() @@ -1046,23 +1140,25 @@ class ApiTest extends DatabaseTest /** * Test the api_format_data() function with an XML result. + * * @return void */ public function testApiFormatDataWithXml() { $this->assertEquals( - ''."\n". - ''."\n". - ' some_data'."\n". - ''."\n", + '' . "\n" . + '' . "\n" . + ' some_data' . "\n" . + '' . "\n", api_format_data('root_element', 'xml', ['data' => ['some_data']]) ); } /** * Test the api_account_verify_credentials() function. + * * @return void */ public function testApiAccountVerifyCredentials() @@ -1072,6 +1168,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_verify_credentials() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1083,6 +1180,7 @@ class ApiTest extends DatabaseTest /** * Test the requestdata() function. + * * @return void */ public function testRequestdata() @@ -1092,6 +1190,7 @@ class ApiTest extends DatabaseTest /** * Test the requestdata() function with a POST parameter. + * * @return void */ public function testRequestdataWithPost() @@ -1102,6 +1201,7 @@ class ApiTest extends DatabaseTest /** * Test the requestdata() function with a GET parameter. + * * @return void */ public function testRequestdataWithGet() @@ -1112,21 +1212,22 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_mediap() function. + * * @return void */ public function testApiStatusesMediap() { $this->app->argc = 2; - $_FILES = [ + $_FILES = [ 'media' => [ - 'id' => 666, - 'size' => 666, - 'width' => 666, - 'height' => 666, + 'id' => 666, + 'size' => 666, + 'width' => 666, + 'height' => 666, 'tmp_name' => $this->getTempImage(), - 'name' => 'spacer.png', - 'type' => 'image/png' + 'name' => 'spacer.png', + 'type' => 'image/png' ] ]; $_GET['status'] = 'Status content'; @@ -1137,6 +1238,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_mediap() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1148,23 +1250,24 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function. + * * @return void */ public function testApiStatusesUpdate() { - $_GET['status'] = 'Status content #friendica'; + $_GET['status'] = 'Status content #friendica'; $_GET['in_reply_to_status_id'] = -1; - $_GET['lat'] = 48; - $_GET['long'] = 7; - $_FILES = [ + $_GET['lat'] = 48; + $_GET['long'] = 7; + $_FILES = [ 'media' => [ - 'id' => 666, - 'size' => 666, - 'width' => 666, - 'height' => 666, + 'id' => 666, + 'size' => 666, + 'width' => 666, + 'height' => 666, 'tmp_name' => $this->getTempImage(), - 'name' => 'spacer.png', - 'type' => 'image/png' + 'name' => 'spacer.png', + 'type' => 'image/png' ] ]; @@ -1174,6 +1277,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with an HTML status. + * * @return void */ public function testApiStatusesUpdateWithHtml() @@ -1186,6 +1290,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1197,6 +1302,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with a parent status. + * * @return void */ public function testApiStatusesUpdateWithParent() @@ -1206,6 +1312,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with a media_ids parameter. + * * @return void */ public function testApiStatusesUpdateWithMediaIds() @@ -1215,6 +1322,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with the throttle limit reached. + * * @return void */ public function testApiStatusesUpdateWithDayThrottleReached() @@ -1224,6 +1332,7 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1234,6 +1343,7 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1245,6 +1355,7 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function with an invalid uploaded media. + * * @return void * @expectedException Friendica\Network\HTTPException\InternalServerErrorException */ @@ -1252,7 +1363,7 @@ class ApiTest extends DatabaseTest { $_FILES = [ 'media' => [ - 'id' => 666, + 'id' => 666, 'tmp_name' => 'tmp_name' ] ]; @@ -1261,22 +1372,23 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function with an valid uploaded media. + * * @return void */ public function testApiMediaUploadWithValidMedia() { - $_FILES = [ + $_FILES = [ 'media' => [ - 'id' => 666, - 'size' => 666, - 'width' => 666, - 'height' => 666, + 'id' => 666, + 'size' => 666, + 'width' => 666, + 'height' => 666, 'tmp_name' => $this->getTempImage(), - 'name' => 'spacer.png', - 'type' => 'image/png' + 'name' => 'spacer.png', + 'type' => 'image/png' ] ]; - $app = \get_app(); + $app = DI::app(); $app->argc = 2; $result = api_media_upload(); @@ -1316,6 +1428,7 @@ class ApiTest extends DatabaseTest /** * Test the api_users_show() function. + * * @return void */ public function testApiUsersShow() @@ -1332,6 +1445,7 @@ class ApiTest extends DatabaseTest /** * Test the api_users_show() function with an XML result. + * * @return void */ public function testApiUsersShowWithXml() @@ -1342,28 +1456,31 @@ class ApiTest extends DatabaseTest /** * Test the api_users_search() function. + * * @return void */ public function testApiUsersSearch() { $_GET['q'] = 'othercontact'; - $result = api_users_search('json'); + $result = api_users_search('json'); $this->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'); + $result = api_users_search('xml'); $this->assertXml($result, 'users'); } /** * Test the api_users_search() function without a GET q parameter. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1374,6 +1491,7 @@ class ApiTest extends DatabaseTest /** * Test the api_users_lookup() function. + * * @return void * @expectedException Friendica\Network\HTTPException\NotFoundException */ @@ -1384,24 +1502,26 @@ class ApiTest extends DatabaseTest /** * 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'); + $result = api_users_lookup('json'); $this->assertOtherUser($result['users'][0]); } /** * Test the api_search() function. + * * @return void */ public function testApiSearch() { - $_REQUEST['q'] = 'reply'; + $_REQUEST['q'] = 'reply'; $_REQUEST['max_id'] = 10; - $result = api_search('json'); + $result = api_search('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); $this->assertContains('reply', $status['text'], null, true); @@ -1410,13 +1530,14 @@ class ApiTest extends DatabaseTest /** * Test the api_search() function a count parameter. + * * @return void */ public function testApiSearchWithCount() { - $_REQUEST['q'] = 'reply'; + $_REQUEST['q'] = 'reply'; $_REQUEST['count'] = 20; - $result = api_search('json'); + $result = api_search('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); $this->assertContains('reply', $status['text'], null, true); @@ -1425,13 +1546,14 @@ class ApiTest extends DatabaseTest /** * Test the api_search() function with an rpp parameter. + * * @return void */ public function testApiSearchWithRpp() { - $_REQUEST['q'] = 'reply'; + $_REQUEST['q'] = 'reply'; $_REQUEST['rpp'] = 20; - $result = api_search('json'); + $result = api_search('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); $this->assertContains('reply', $status['text'], null, true); @@ -1440,12 +1562,13 @@ class ApiTest extends DatabaseTest /** * Test the api_search() function with an q parameter contains hashtag. + * * @return void */ public function testApiSearchWithHashtag() { $_REQUEST['q'] = '%23friendica'; - $result = api_search('json'); + $result = api_search('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); $this->assertContains('#friendica', $status['text'], null, true); @@ -1454,14 +1577,15 @@ class ApiTest extends DatabaseTest /** * Test the api_search() function with an exclude_replies parameter. + * * @return void */ public function testApiSearchWithExcludeReplies() { - $_REQUEST['max_id'] = 10; + $_REQUEST['max_id'] = 10; $_REQUEST['exclude_replies'] = true; - $_REQUEST['q'] = 'friendica'; - $result = api_search('json'); + $_REQUEST['q'] = 'friendica'; + $result = api_search('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); } @@ -1469,18 +1593,20 @@ class ApiTest extends DatabaseTest /** * Test the api_search() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiSearchWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_search('json'); } /** * Test the api_search() function without any GET query parameter. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1491,14 +1617,15 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_home_timeline() function. + * * @return void */ public function testApiStatusesHomeTimeline() { - $_REQUEST['max_id'] = 10; + $_REQUEST['max_id'] = 10; $_REQUEST['exclude_replies'] = true; $_REQUEST['conversation_id'] = 1; - $result = api_statuses_home_timeline('json'); + $result = api_statuses_home_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1507,12 +1634,13 @@ class ApiTest extends DatabaseTest /** * 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'); + $result = api_statuses_home_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1521,18 +1649,20 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_home_timeline() with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiStatusesHomeTimelineWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_statuses_home_timeline('json'); } /** * Test the api_statuses_home_timeline() function with an RSS result. + * * @return void */ public function testApiStatusesHomeTimelineWithRss() @@ -1543,13 +1673,14 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_public_timeline() function. + * * @return void */ public function testApiStatusesPublicTimeline() { - $_REQUEST['max_id'] = 10; + $_REQUEST['max_id'] = 10; $_REQUEST['conversation_id'] = 1; - $result = api_statuses_public_timeline('json'); + $result = api_statuses_public_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1558,13 +1689,14 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_public_timeline() function with the exclude_replies parameter. + * * @return void */ public function testApiStatusesPublicTimelineWithExcludeReplies() { - $_REQUEST['max_id'] = 10; + $_REQUEST['max_id'] = 10; $_REQUEST['exclude_replies'] = true; - $result = api_statuses_public_timeline('json'); + $result = api_statuses_public_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1573,12 +1705,13 @@ class ApiTest extends DatabaseTest /** * 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'); + $result = api_statuses_public_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1587,18 +1720,20 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_public_timeline() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiStatusesPublicTimelineWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_statuses_public_timeline('json'); } /** * Test the api_statuses_public_timeline() function with an RSS result. + * * @return void */ public function testApiStatusesPublicTimelineWithRss() @@ -1609,12 +1744,13 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_networkpublic_timeline() function. + * * @return void */ public function testApiStatusesNetworkpublicTimeline() { $_REQUEST['max_id'] = 10; - $result = api_statuses_networkpublic_timeline('json'); + $result = api_statuses_networkpublic_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1623,12 +1759,13 @@ class ApiTest extends DatabaseTest /** * 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'); + $result = api_statuses_networkpublic_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1637,18 +1774,20 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_networkpublic_timeline() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiStatusesNetworkpublicTimelineWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_statuses_networkpublic_timeline('json'); } /** * Test the api_statuses_networkpublic_timeline() function with an RSS result. + * * @return void */ public function testApiStatusesNetworkpublicTimelineWithRss() @@ -1659,6 +1798,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_show() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1669,24 +1809,26 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_show() function with an ID. + * * @return void */ public function testApiStatusesShowWithId() { $this->app->argv[3] = 1; - $result = api_statuses_show('json'); + $result = api_statuses_show('json'); $this->assertStatus($result['status']); } /** * Test the api_statuses_show() function with the conversation parameter. + * * @return void */ public function testApiStatusesShowWithConversation() { - $this->app->argv[3] = 1; + $this->app->argv[3] = 1; $_REQUEST['conversation'] = 1; - $result = api_statuses_show('json'); + $result = api_statuses_show('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1695,18 +1837,20 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_show() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiStatusesShowWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_statuses_show('json'); } /** * Test the api_conversation_show() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1717,14 +1861,15 @@ class ApiTest extends DatabaseTest /** * Test the api_conversation_show() function with an ID. + * * @return void */ public function testApiConversationShowWithId() { $this->app->argv[3] = 1; $_REQUEST['max_id'] = 10; - $_REQUEST['page'] = -2; - $result = api_conversation_show('json'); + $_REQUEST['page'] = -2; + $result = api_conversation_show('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1733,18 +1878,20 @@ class ApiTest extends DatabaseTest /** * Test the api_conversation_show() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiConversationShowWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_conversation_show('json'); } /** * Test the api_statuses_repeat() function. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1755,6 +1902,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_repeat() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1766,22 +1914,24 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_repeat() function with an ID. + * * @return void */ public function testApiStatusesRepeatWithId() { $this->app->argv[3] = 1; - $result = api_statuses_repeat('json'); + $result = api_statuses_repeat('json'); $this->assertStatus($result['status']); // Also test with a shared status $this->app->argv[3] = 5; - $result = api_statuses_repeat('json'); + $result = api_statuses_repeat('json'); $this->assertStatus($result['status']); } /** * Test the api_statuses_destroy() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1792,6 +1942,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_destroy() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1803,53 +1954,58 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_destroy() function with an ID. + * * @return void */ public function testApiStatusesDestroyWithId() { $this->app->argv[3] = 1; - $result = api_statuses_destroy('json'); + $result = api_statuses_destroy('json'); $this->assertStatus($result['status']); } /** * Test the api_statuses_mentions() function. + * * @return void */ public function testApiStatusesMentions() { - $this->app->user = ['nickname' => $this->selfUser['nick']]; + $this->app->user = ['nickname' => $this->selfUser['nick']]; $_REQUEST['max_id'] = 10; - $result = api_statuses_mentions('json'); + $result = api_statuses_mentions('json'); $this->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'); + $result = api_statuses_mentions('json'); $this->assertEmpty($result['status']); } /** * Test the api_statuses_mentions() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiStatusesMentionsWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_statuses_mentions('json'); } /** * Test the api_statuses_mentions() function with an RSS result. + * * @return void */ public function testApiStatusesMentionsWithRss() @@ -1860,14 +2016,15 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_user_timeline() function. + * * @return void */ public function testApiStatusesUserTimeline() { - $_REQUEST['max_id'] = 10; + $_REQUEST['max_id'] = 10; $_REQUEST['exclude_replies'] = true; $_REQUEST['conversation_id'] = 1; - $result = api_statuses_user_timeline('json'); + $result = api_statuses_user_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1876,12 +2033,13 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_user_timeline() function with a negative page parameter. + * * @return void */ public function testApiStatusesUserTimelineWithNegativePage() { $_REQUEST['page'] = -2; - $result = api_statuses_user_timeline('json'); + $result = api_statuses_user_timeline('json'); $this->assertNotEmpty($result['status']); foreach ($result['status'] as $status) { $this->assertStatus($status); @@ -1890,6 +2048,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_user_timeline() function with an RSS result. + * * @return void */ public function testApiStatusesUserTimelineWithRss() @@ -1900,18 +2059,20 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_user_timeline() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiStatusesUserTimelineWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_statuses_user_timeline('json'); } /** * Test the api_favorites_create_destroy() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1924,6 +2085,7 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites_create_destroy() function with an invalid ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1936,6 +2098,7 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites_create_destroy() function with an invalid action. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1943,71 +2106,76 @@ class ApiTest extends DatabaseTest { $this->app->argv = ['api', '1.1', 'favorites', 'change.json']; $this->app->argc = count($this->app->argv); - $_REQUEST['id'] = 1; + $_REQUEST['id'] = 1; api_favorites_create_destroy('json'); } /** * Test the api_favorites_create_destroy() function with the create action. + * * @return void */ public function testApiFavoritesCreateDestroyWithCreateAction() { $this->app->argv = ['api', '1.1', 'favorites', 'create.json']; $this->app->argc = count($this->app->argv); - $_REQUEST['id'] = 3; - $result = api_favorites_create_destroy('json'); + $_REQUEST['id'] = 3; + $result = api_favorites_create_destroy('json'); $this->assertStatus($result['status']); } /** * Test the api_favorites_create_destroy() function with the create action and an RSS result. + * * @return void */ public function testApiFavoritesCreateDestroyWithCreateActionAndRss() { $this->app->argv = ['api', '1.1', 'favorites', 'create.rss']; $this->app->argc = count($this->app->argv); - $_REQUEST['id'] = 3; - $result = api_favorites_create_destroy('rss'); + $_REQUEST['id'] = 3; + $result = api_favorites_create_destroy('rss'); $this->assertXml($result, 'status'); } /** * Test the api_favorites_create_destroy() function with the destroy action. + * * @return void */ public function testApiFavoritesCreateDestroyWithDestroyAction() { $this->app->argv = ['api', '1.1', 'favorites', 'destroy.json']; $this->app->argc = count($this->app->argv); - $_REQUEST['id'] = 3; - $result = api_favorites_create_destroy('json'); + $_REQUEST['id'] = 3; + $result = api_favorites_create_destroy('json'); $this->assertStatus($result['status']); } /** * Test the api_favorites_create_destroy() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiFavoritesCreateDestroyWithoutAuthenticatedUser() { - $this->app->argv = ['api', '1.1', 'favorites', 'create.json']; - $this->app->argc = count($this->app->argv); + $this->app->argv = ['api', '1.1', 'favorites', 'create.json']; + $this->app->argc = count($this->app->argv); $_SESSION['authenticated'] = false; api_favorites_create_destroy('json'); } /** * Test the api_favorites() function. + * * @return void */ public function testApiFavorites() { - $_REQUEST['page'] = -1; + $_REQUEST['page'] = -1; $_REQUEST['max_id'] = 10; - $result = api_favorites('json'); + $result = api_favorites('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); } @@ -2015,6 +2183,7 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites() function with an RSS result. + * * @return void */ public function testApiFavoritesWithRss() @@ -2025,18 +2194,20 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiFavoritesWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_favorites('json'); } /** * Test the api_format_messages() function. + * * @return void */ public function testApiFormatMessages() @@ -2046,7 +2217,7 @@ class ApiTest extends DatabaseTest ['id' => 2, 'screen_name' => 'recipient_name'], ['id' => 3, 'screen_name' => 'sender_name'] ); - $this->assertEquals('item_title'."\n".'item_body', $result['text']); + $this->assertEquals('item_title' . "\n" . 'item_body', $result['text']); $this->assertEquals(1, $result['id']); $this->assertEquals(2, $result['recipient_id']); $this->assertEquals(3, $result['sender_id']); @@ -2056,12 +2227,13 @@ class ApiTest extends DatabaseTest /** * Test the api_format_messages() function with HTML. + * * @return void */ public function testApiFormatMessagesWithHtmlText() { $_GET['getText'] = 'html'; - $result = api_format_messages( + $result = api_format_messages( ['id' => 1, 'title' => 'item_title', 'body' => '[b]item_body[/b]'], ['id' => 2, 'screen_name' => 'recipient_name'], ['id' => 3, 'screen_name' => 'sender_name'] @@ -2072,12 +2244,13 @@ class ApiTest extends DatabaseTest /** * Test the api_format_messages() function with plain text. + * * @return void */ public function testApiFormatMessagesWithPlainText() { $_GET['getText'] = 'plain'; - $result = api_format_messages( + $result = api_format_messages( ['id' => 1, 'title' => 'item_title', 'body' => '[b]item_body[/b]'], ['id' => 2, 'screen_name' => 'recipient_name'], ['id' => 3, 'screen_name' => 'sender_name'] @@ -2088,12 +2261,13 @@ class ApiTest extends DatabaseTest /** * Test the api_format_messages() function with the getUserObjects GET parameter set to false. + * * @return void */ public function testApiFormatMessagesWithoutUserObjects() { $_GET['getUserObjects'] = 'false'; - $result = api_format_messages( + $result = api_format_messages( ['id' => 1, 'title' => 'item_title', 'body' => '[b]item_body[/b]'], ['id' => 2, 'screen_name' => 'recipient_name'], ['id' => 3, 'screen_name' => 'sender_name'] @@ -2104,6 +2278,7 @@ class ApiTest extends DatabaseTest /** * Test the api_convert_item() function. + * * @return void */ public function testApiConvertItem() @@ -2111,32 +2286,32 @@ class ApiTest extends DatabaseTest $result = api_convert_item( [ 'network' => 'feed', - 'title' => 'item_title', + 'title' => 'item_title', // We need a long string to test that it is correctly cut - 'body' => 'perspiciatis impedit voluptatem quis molestiae ea qui '. - 'reiciendis dolorum aut ducimus sunt consequatur inventore dolor '. - 'officiis pariatur doloremque nemo culpa aut quidem qui dolore '. - 'laudantium atque commodi alias voluptatem non possimus aperiam '. - 'ipsum rerum consequuntur aut amet fugit quia aliquid praesentium '. - 'repellendus quibusdam et et inventore mollitia rerum sit autem '. - 'pariatur maiores ipsum accusantium perferendis vel sit possimus '. - 'veritatis nihil distinctio qui eum repellat officia illum quos '. - 'impedit quam iste esse unde qui suscipit aut facilis ut inventore '. - 'omnis exercitationem quo magnam consequatur maxime aut illum '. - 'soluta quaerat natus unde aspernatur et sed beatae nihil ullam '. - 'temporibus corporis ratione blanditiis perspiciatis impedit '. - 'voluptatem quis molestiae ea qui reiciendis dolorum aut ducimus '. - 'sunt consequatur inventore dolor officiis pariatur doloremque '. - 'nemo culpa aut quidem qui dolore laudantium atque commodi alias '. - 'voluptatem non possimus aperiam ipsum rerum consequuntur aut '. - 'amet fugit quia aliquid praesentium repellendus quibusdam et et '. - 'inventore mollitia rerum sit autem pariatur maiores ipsum accusantium '. - 'perferendis vel sit possimus veritatis nihil distinctio qui eum '. - 'repellat officia illum quos impedit quam iste esse unde qui '. - 'suscipit aut facilis ut inventore omnis exercitationem quo magnam '. - 'consequatur maxime aut illum soluta quaerat natus unde aspernatur '. - 'et sed beatae nihil ullam temporibus corporis ratione blanditiis', - 'plink' => 'item_plink' + 'body' => 'perspiciatis impedit voluptatem quis molestiae ea qui ' . + 'reiciendis dolorum aut ducimus sunt consequatur inventore dolor ' . + 'officiis pariatur doloremque nemo culpa aut quidem qui dolore ' . + 'laudantium atque commodi alias voluptatem non possimus aperiam ' . + 'ipsum rerum consequuntur aut amet fugit quia aliquid praesentium ' . + 'repellendus quibusdam et et inventore mollitia rerum sit autem ' . + 'pariatur maiores ipsum accusantium perferendis vel sit possimus ' . + 'veritatis nihil distinctio qui eum repellat officia illum quos ' . + 'impedit quam iste esse unde qui suscipit aut facilis ut inventore ' . + 'omnis exercitationem quo magnam consequatur maxime aut illum ' . + 'soluta quaerat natus unde aspernatur et sed beatae nihil ullam ' . + 'temporibus corporis ratione blanditiis perspiciatis impedit ' . + 'voluptatem quis molestiae ea qui reiciendis dolorum aut ducimus ' . + 'sunt consequatur inventore dolor officiis pariatur doloremque ' . + 'nemo culpa aut quidem qui dolore laudantium atque commodi alias ' . + 'voluptatem non possimus aperiam ipsum rerum consequuntur aut ' . + 'amet fugit quia aliquid praesentium repellendus quibusdam et et ' . + 'inventore mollitia rerum sit autem pariatur maiores ipsum accusantium ' . + 'perferendis vel sit possimus veritatis nihil distinctio qui eum ' . + 'repellat officia illum quos impedit quam iste esse unde qui ' . + 'suscipit aut facilis ut inventore omnis exercitationem quo magnam ' . + 'consequatur maxime aut illum soluta quaerat natus unde aspernatur ' . + 'et sed beatae nihil ullam temporibus corporis ratione blanditiis', + 'plink' => 'item_plink' ] ); $this->assertStringStartsWith('item_title', $result['text']); @@ -2145,6 +2320,7 @@ class ApiTest extends DatabaseTest /** * Test the api_convert_item() function with an empty item body. + * * @return void */ public function testApiConvertItemWithoutBody() @@ -2152,9 +2328,9 @@ class ApiTest extends DatabaseTest $result = api_convert_item( [ 'network' => 'feed', - 'title' => 'item_title', - 'body' => '', - 'plink' => 'item_plink' + 'title' => 'item_title', + 'body' => '', + 'plink' => 'item_plink' ] ); $this->assertEquals('item_title', $result['text']); @@ -2163,6 +2339,7 @@ class ApiTest extends DatabaseTest /** * Test the api_convert_item() function with the title in the body. + * * @return void */ public function testApiConvertItemWithTitleInBody() @@ -2170,7 +2347,7 @@ class ApiTest extends DatabaseTest $result = api_convert_item( [ 'title' => 'item_title', - 'body' => 'item_title item_body' + 'body' => 'item_title item_body' ] ); $this->assertEquals('item_title item_body', $result['text']); @@ -2179,6 +2356,7 @@ class ApiTest extends DatabaseTest /** * Test the api_get_attachments() function. + * * @return void */ public function testApiGetAttachments() @@ -2189,6 +2367,7 @@ class ApiTest extends DatabaseTest /** * Test the api_get_attachments() function with an img tag. + * * @return void */ public function testApiGetAttachmentsWithImage() @@ -2199,17 +2378,19 @@ class ApiTest extends DatabaseTest /** * Test the api_get_attachments() function with an img tag and an AndStatus user agent. + * * @return void */ public function testApiGetAttachmentsWithImageAndAndStatus() { $_SERVER['HTTP_USER_AGENT'] = 'AndStatus'; - $body = '[img]http://via.placeholder.com/1x1.png[/img]'; + $body = '[img]http://via.placeholder.com/1x1.png[/img]'; $this->assertInternalType('array', api_get_attachments($body)); } /** * Test the api_get_entitities() function. + * * @return void */ public function testApiGetEntitities() @@ -2220,13 +2401,14 @@ class ApiTest extends DatabaseTest /** * Test the api_get_entitities() function with the include_entities parameter. + * * @return void */ public function testApiGetEntititiesWithIncludeEntities() { $_REQUEST['include_entities'] = 'true'; - $text = 'text'; - $result = api_get_entitities($text, 'bbcode'); + $text = 'text'; + $result = api_get_entitities($text, 'bbcode'); $this->assertInternalType('array', $result['hashtags']); $this->assertInternalType('array', $result['symbols']); $this->assertInternalType('array', $result['urls']); @@ -2235,18 +2417,20 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items_embeded_images() function. + * * @return void */ public function testApiFormatItemsEmbededImages() { $this->assertEquals( - 'text ' . System::baseUrl() . '/display/item_guid', + '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() @@ -2254,7 +2438,7 @@ class ApiTest extends DatabaseTest $this->assertEquals( [ 'name' => 'text', - 'url' => '', + 'url' => '', ], api_contactlink_to_array('text') ); @@ -2262,6 +2446,7 @@ class ApiTest extends DatabaseTest /** * Test the api_contactlink_to_array() function with an URL. + * * @return void */ public function testApiContactlinkToArrayWithUrl() @@ -2269,7 +2454,7 @@ class ApiTest extends DatabaseTest $this->assertEquals( [ 'name' => ['link_text'], - 'url' => ['url'], + 'url' => ['url'], ], api_contactlink_to_array('text link_text') ); @@ -2277,11 +2462,12 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items_activities() function. + * * @return void */ public function testApiFormatItemsActivities() { - $item = ['uid' => 0, 'uri' => '']; + $item = ['uid' => 0, 'uri' => '']; $result = api_format_items_activities($item); $this->assertArrayHasKey('like', $result); $this->assertArrayHasKey('dislike', $result); @@ -2292,11 +2478,12 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items_activities() function with an XML result. + * * @return void */ public function testApiFormatItemsActivitiesWithXml() { - $item = ['uid' => 0, 'uri' => '']; + $item = ['uid' => 0, 'uri' => '']; $result = api_format_items_activities($item, 'xml'); $this->assertArrayHasKey('friendica:like', $result); $this->assertArrayHasKey('friendica:dislike', $result); @@ -2305,118 +2492,24 @@ class ApiTest extends DatabaseTest $this->assertArrayHasKey('friendica:attendmaybe', $result); } - /** - * Test the api_format_items_profiles() function. - * @return void - */ - public function testApiFormatItemsProfiles() - { - $profile_row = [ - 'id' => 'profile_id', - 'profile-name' => 'profile_name', - 'is-default' => true, - 'hide-friends' => true, - 'photo' => 'profile_photo', - 'thumb' => 'profile_thumb', - 'publish' => true, - 'net-publish' => true, - 'pdesc' => 'description', - 'dob' => 'date_of_birth', - 'address' => 'address', - 'locality' => 'city', - 'region' => 'region', - 'postal-code' => 'postal_code', - 'country-name' => 'country', - 'hometown' => 'hometown', - 'gender' => 'gender', - 'marital' => 'marital', - 'with' => 'marital_with', - 'howlong' => 'marital_since', - 'sexual' => 'sexual', - 'politic' => 'politic', - 'religion' => 'religion', - 'pub_keywords' => 'public_keywords', - 'prv_keywords' => 'private_keywords', - - 'likes' => 'likes', - 'dislikes' => 'dislikes', - 'about' => 'about', - 'music' => 'music', - 'book' => 'book', - 'tv' => 'tv', - 'film' => 'film', - 'interest' => 'interest', - 'romance' => 'romance', - 'work' => 'work', - 'education' => 'education', - 'contact' => 'social_networks', - 'homepage' => 'homepage' - ]; - $result = api_format_items_profiles($profile_row); - $this->assertEquals( - [ - 'profile_id' => 'profile_id', - 'profile_name' => 'profile_name', - 'is_default' => true, - 'hide_friends' => true, - 'profile_photo' => 'profile_photo', - 'profile_thumb' => 'profile_thumb', - 'publish' => true, - 'net_publish' => true, - 'description' => 'description', - 'date_of_birth' => 'date_of_birth', - 'address' => 'address', - 'city' => 'city', - 'region' => 'region', - 'postal_code' => 'postal_code', - 'country' => 'country', - 'hometown' => 'hometown', - 'gender' => 'gender', - 'marital' => 'marital', - 'marital_with' => 'marital_with', - 'marital_since' => 'marital_since', - 'sexual' => 'sexual', - 'politic' => 'politic', - 'religion' => 'religion', - 'public_keywords' => 'public_keywords', - 'private_keywords' => 'private_keywords', - - 'likes' => 'likes', - 'dislikes' => 'dislikes', - 'about' => 'about', - 'music' => 'music', - 'book' => 'book', - 'tv' => 'tv', - 'film' => 'film', - 'interest' => 'interest', - 'romance' => 'romance', - 'work' => 'work', - 'education' => 'education', - 'social_networks' => 'social_networks', - 'homepage' => 'homepage', - 'users' => null - ], - $result - ); - } - /** * Test the api_format_items() function. + * * @return void */ public function testApiFormatItems() { - $items = [ + $items = [ [ - 'item_network' => 'item_network', - 'source' => 'web', - 'coord' => '5 7', - 'body' => '', - 'verb' => '', - 'author-id' => 43, + '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' => '', + 'author-link' => 'http://localhost/profile/othercontact', + 'plink' => '', ] ]; $result = api_format_items($items, ['id' => 0], true); @@ -2427,19 +2520,20 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items() function with an XML result. + * * @return void */ public function testApiFormatItemsWithXml() { - $items = [ + $items = [ [ - 'coord' => '5 7', - 'body' => '', - 'verb' => '', - 'author-id' => 43, + 'coord' => '5 7', + 'body' => '', + 'verb' => '', + 'author-id' => 43, 'author-network' => Protocol::DFRN, - 'author-link' => 'http://localhost/profile/othercontact', - 'plink' => '', + 'author-link' => 'http://localhost/profile/othercontact', + 'plink' => '', ] ]; $result = api_format_items($items, ['id' => 0], true, 'xml'); @@ -2450,6 +2544,7 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items() function. + * * @return void */ public function testApiAccountRateLimitStatus() @@ -2462,6 +2557,7 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items() function with an XML result. + * * @return void */ public function testApiAccountRateLimitStatusWithXml() @@ -2472,6 +2568,7 @@ class ApiTest extends DatabaseTest /** * Test the api_help_test() function. + * * @return void */ public function testApiHelpTest() @@ -2482,6 +2579,7 @@ class ApiTest extends DatabaseTest /** * Test the api_help_test() function with an XML result. + * * @return void */ public function testApiHelpTestWithXml() @@ -2492,6 +2590,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_list() function. + * * @return void */ public function testApiListsList() @@ -2502,6 +2601,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_ownerships() function. + * * @return void */ public function testApiListsOwnerships() @@ -2514,6 +2614,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_ownerships() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2525,6 +2626,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_statuses() function. + * * @expectedException Friendica\Network\HTTPException\BadRequestException * @return void */ @@ -2535,14 +2637,15 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_statuses() function with a list ID. + * * @return void */ public function testApiListsStatusesWithListId() { $_REQUEST['list_id'] = 1; - $_REQUEST['page'] = -1; - $_REQUEST['max_id'] = 10; - $result = api_lists_statuses('json'); + $_REQUEST['page'] = -1; + $_REQUEST['max_id'] = 10; + $result = api_lists_statuses('json'); foreach ($result['status'] as $status) { $this->assertStatus($status); } @@ -2550,40 +2653,44 @@ class ApiTest extends DatabaseTest /** * 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'); + $result = api_lists_statuses('rss'); $this->assertXml($result, 'statuses'); } /** * Test the api_lists_statuses() function with an unallowed user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiListsStatusesWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_lists_statuses('json'); } /** * Test the api_statuses_f() function. + * * @return void */ public function testApiStatusesFWithFriends() { $_GET['page'] = -1; - $result = api_statuses_f('friends'); + $result = api_statuses_f('friends'); $this->assertArrayHasKey('user', $result); } /** * Test the api_statuses_f() function. + * * @return void */ public function testApiStatusesFWithFollowers() @@ -2594,6 +2701,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_f() function. + * * @return void */ public function testApiStatusesFWithBlocks() @@ -2604,6 +2712,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_f() function. + * * @return void */ public function testApiStatusesFWithIncoming() @@ -2614,6 +2723,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_f() function an undefined cursor GET variable. + * * @return void */ public function testApiStatusesFWithUndefinedCursor() @@ -2624,6 +2734,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_friends() function. + * * @return void */ public function testApiStatusesFriends() @@ -2634,6 +2745,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_friends() function an undefined cursor GET variable. + * * @return void */ public function testApiStatusesFriendsWithUndefinedCursor() @@ -2644,6 +2756,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_followers() function. + * * @return void */ public function testApiStatusesFollowers() @@ -2654,6 +2767,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_followers() function an undefined cursor GET variable. + * * @return void */ public function testApiStatusesFollowersWithUndefinedCursor() @@ -2664,6 +2778,7 @@ class ApiTest extends DatabaseTest /** * Test the api_blocks_list() function. + * * @return void */ public function testApiBlocksList() @@ -2674,6 +2789,7 @@ class ApiTest extends DatabaseTest /** * Test the api_blocks_list() function an undefined cursor GET variable. + * * @return void */ public function testApiBlocksListWithUndefinedCursor() @@ -2684,6 +2800,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendships_incoming() function. + * * @return void */ public function testApiFriendshipsIncoming() @@ -2694,6 +2811,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendships_incoming() function an undefined cursor GET variable. + * * @return void */ public function testApiFriendshipsIncomingWithUndefinedCursor() @@ -2704,6 +2822,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statusnet_config() function. + * * @return void */ public function testApiStatusnetConfig() @@ -2711,7 +2830,7 @@ class ApiTest extends DatabaseTest $result = api_statusnet_config('json'); $this->assertEquals('localhost', $result['config']['site']['server']); $this->assertEquals('default', $result['config']['site']['theme']); - $this->assertEquals(System::baseUrl() . '/images/friendica-64.png', $result['config']['site']['logo']); + $this->assertEquals(DI::baseUrl() . '/images/friendica-64.png', $result['config']['site']['logo']); $this->assertTrue($result['config']['site']['fancy']); $this->assertEquals('en', $result['config']['site']['language']); $this->assertEquals('UTC', $result['config']['site']['timezone']); @@ -2723,6 +2842,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statusnet_version() function. + * * @return void */ public function testApiStatusnetVersion() @@ -2733,16 +2853,18 @@ class ApiTest extends DatabaseTest /** * Test the api_ff_ids() function. + * * @return void */ public function testApiFfIds() { - $result = api_ff_ids('json'); - $this->assertNull($result); + $result = api_ff_ids('json', Contact::FOLLOWER); + $this->assertEquals(['id' => []], $result); } /** * Test the api_ff_ids() function with a result. + * * @return void */ public function testApiFfIdsWithResult() @@ -2752,37 +2874,41 @@ class ApiTest extends DatabaseTest /** * Test the api_ff_ids() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiFfIdsWithoutAuthenticatedUser() { $_SESSION['authenticated'] = false; - api_ff_ids('json'); + api_ff_ids('json', Contact::FOLLOWER); } /** * Test the api_friends_ids() function. + * * @return void */ public function testApiFriendsIds() { $result = api_friends_ids('json'); - $this->assertNull($result); + $this->assertEquals(['id' => []], $result); } /** * Test the api_followers_ids() function. + * * @return void */ public function testApiFollowersIds() { $result = api_followers_ids('json'); - $this->assertNull($result); + $this->assertEquals(['id' => []], $result); } /** * Test the api_direct_messages_new() function. + * * @return void */ public function testApiDirectMessagesNew() @@ -2793,6 +2919,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_new() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2804,26 +2931,27 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_new() function with an user ID. + * * @return void */ public function testApiDirectMessagesNewWithUserId() { - $_POST['text'] = 'message_text'; + $_POST['text'] = 'message_text'; $_POST['user_id'] = $this->otherUser['id']; - $result = api_direct_messages_new('json'); + $result = api_direct_messages_new('json'); $this->assertEquals(['direct_message' => ['error' => -1]], $result); } /** * Test the api_direct_messages_new() function with a screen name. + * * @return void */ public function testApiDirectMessagesNewWithScreenName() { - $_POST['text'] = 'message_text'; + $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; - $result = api_direct_messages_new('json'); - $this->assertEquals(1, $result['direct_message']['id']); + $result = api_direct_messages_new('json'); $this->assertContains('message_text', $result['direct_message']['text']); $this->assertEquals('selfcontact', $result['direct_message']['sender_screen_name']); $this->assertEquals(1, $result['direct_message']['friendica_seen']); @@ -2831,15 +2959,15 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_new() function with a title. + * * @return void */ public function testApiDirectMessagesNewWithTitle() { - $_POST['text'] = 'message_text'; + $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; - $_REQUEST['title'] = 'message_title'; - $result = api_direct_messages_new('json'); - $this->assertEquals(1, $result['direct_message']['id']); + $_REQUEST['title'] = 'message_title'; + $result = api_direct_messages_new('json'); $this->assertContains('message_text', $result['direct_message']['text']); $this->assertContains('message_title', $result['direct_message']['text']); $this->assertEquals('selfcontact', $result['direct_message']['sender_screen_name']); @@ -2848,18 +2976,20 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_new() function with an RSS result. + * * @return void */ public function testApiDirectMessagesNewWithRss() { - $_POST['text'] = 'message_text'; + $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; - $result = api_direct_messages_new('rss'); + $result = api_direct_messages_new('rss'); $this->assertXml($result, 'direct-messages'); } /** * Test the api_direct_messages_destroy() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -2870,16 +3000,17 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function with the friendica_verbose GET param. + * * @return void */ public function testApiDirectMessagesDestroyWithVerbose() { $_GET['friendica_verbose'] = 'true'; - $result = api_direct_messages_destroy('json'); + $result = api_direct_messages_destroy('json'); $this->assertEquals( [ '$result' => [ - 'result' => 'error', + 'result' => 'error', 'message' => 'message id or parenturi not specified' ] ], @@ -2889,6 +3020,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2900,6 +3032,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function with a non-zero ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -2911,18 +3044,19 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() with a non-zero ID and the friendica_verbose GET param. + * * @return void */ public function testApiDirectMessagesDestroyWithIdAndVerbose() { - $_REQUEST['id'] = 1; + $_REQUEST['id'] = 1; $_REQUEST['friendica_parenturi'] = 'parent_uri'; - $_GET['friendica_verbose'] = 'true'; - $result = api_direct_messages_destroy('json'); + $_GET['friendica_verbose'] = 'true'; + $result = api_direct_messages_destroy('json'); $this->assertEquals( [ '$result' => [ - 'result' => 'error', + 'result' => 'error', 'message' => 'message id not in database' ] ], @@ -2932,6 +3066,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function with a non-zero ID. + * * @return void */ public function testApiDirectMessagesDestroyWithCorrectId() @@ -2941,18 +3076,20 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithSentbox() { - $_REQUEST['page'] = -1; + $_REQUEST['page'] = -1; $_REQUEST['max_id'] = 10; - $result = api_direct_messages_box('json', 'sentbox', 'false'); + $result = api_direct_messages_box('json', 'sentbox', 'false'); $this->assertArrayHasKey('direct_message', $result); } /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithConversation() @@ -2963,6 +3100,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithAll() @@ -2973,6 +3111,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithInbox() @@ -2983,6 +3122,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithVerbose() @@ -2991,7 +3131,7 @@ class ApiTest extends DatabaseTest $this->assertEquals( [ '$result' => [ - 'result' => 'error', + 'result' => 'error', 'message' => 'no mails available' ] ], @@ -3001,6 +3141,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function with a RSS result. + * * @return void */ public function testApiDirectMessagesBoxWithRss() @@ -3011,18 +3152,20 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ public function testApiDirectMessagesBoxWithUnallowedUser() { $_SESSION['allow_api'] = false; - $_GET['screen_name'] = $this->selfUser['nick']; + $_GET['screen_name'] = $this->selfUser['nick']; api_direct_messages_box('json', 'sentbox', 'false'); } /** * Test the api_direct_messages_sentbox() function. + * * @return void */ public function testApiDirectMessagesSentbox() @@ -3033,6 +3176,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_inbox() function. + * * @return void */ public function testApiDirectMessagesInbox() @@ -3043,6 +3187,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_all() function. + * * @return void */ public function testApiDirectMessagesAll() @@ -3053,6 +3198,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_conversation() function. + * * @return void */ public function testApiDirectMessagesConversation() @@ -3063,24 +3209,27 @@ class ApiTest extends DatabaseTest /** * Test the api_oauth_request_token() function. + * * @return void */ public function testApiOauthRequestToken() { - $this->markTestIncomplete('killme() kills phpunit as well'); + $this->markTestIncomplete('exit() kills phpunit as well'); } /** * Test the api_oauth_access_token() function. + * * @return void */ public function testApiOauthAccessToken() { - $this->markTestIncomplete('killme() kills phpunit as well'); + $this->markTestIncomplete('exit() kills phpunit as well'); } /** * Test the api_fr_photoalbum_delete() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3091,6 +3240,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3102,6 +3252,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void */ public function testApiFrPhotoalbumDeleteWithValidAlbum() @@ -3111,6 +3262,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3121,6 +3273,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3132,18 +3285,20 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ public function testApiFrPhotoalbumUpdateWithAlbumAndNewAlbum() { - $_REQUEST['album'] = 'album_name'; + $_REQUEST['album'] = 'album_name'; $_REQUEST['album_new'] = 'album_name'; api_fr_photoalbum_update('json'); } /** * Test the api_fr_photoalbum_update() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3155,6 +3310,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void */ public function testApiFrPhotoalbumUpdateWithValidAlbum() @@ -3164,6 +3320,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photos_list() function. + * * @return void */ public function testApiFrPhotosList() @@ -3174,6 +3331,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photos_list() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3185,6 +3343,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3195,6 +3354,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3206,6 +3366,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3217,6 +3378,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function with the update mode. + * * @return void */ public function testApiFrPhotoCreateUpdateWithUpdate() @@ -3226,6 +3388,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function with an uploaded file. + * * @return void */ public function testApiFrPhotoCreateUpdateWithFile() @@ -3235,6 +3398,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3245,6 +3409,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3256,6 +3421,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function with a photo ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3267,6 +3433,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function with a correct photo ID. + * * @return void */ public function testApiFrPhotoDeleteWithCorrectPhotoId() @@ -3276,6 +3443,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3286,6 +3454,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3297,6 +3466,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function with a photo ID. + * * @return void * @expectedException Friendica\Network\HTTPException\NotFoundException */ @@ -3308,6 +3478,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function with a correct photo ID. + * * @return void */ public function testApiFrPhotoDetailCorrectPhotoId() @@ -3317,6 +3488,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile_image() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3327,6 +3499,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile_image() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3338,6 +3511,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile_image() function with an uploaded file. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3349,13 +3523,14 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile() function. + * * @return void */ public function testApiAccountUpdateProfile() { - $_POST['name'] = 'new_name'; + $_POST['name'] = 'new_name'; $_POST['description'] = 'new_description'; - $result = api_account_update_profile('json'); + $result = api_account_update_profile('json'); // We can't use assertSelfUser() here because the user object is missing some properties. $this->assertEquals($this->selfUser['id'], $result['user']['cid']); $this->assertEquals('DFRN', $result['user']['location']); @@ -3367,6 +3542,7 @@ class ApiTest extends DatabaseTest /** * Test the check_acl_input() function. + * * @return void */ public function testCheckAclInput() @@ -3378,6 +3554,7 @@ class ApiTest extends DatabaseTest /** * Test the check_acl_input() function with an empty ACL string. + * * @return void */ public function testCheckAclInputWithEmptyAclString() @@ -3388,6 +3565,7 @@ class ApiTest extends DatabaseTest /** * Test the save_media_to_database() function. + * * @return void */ public function testSaveMediaToDatabase() @@ -3397,6 +3575,7 @@ class ApiTest extends DatabaseTest /** * Test the post_photo_item() function. + * * @return void */ public function testPostPhotoItem() @@ -3406,6 +3585,7 @@ class ApiTest extends DatabaseTest /** * Test the prepare_photo_data() function. + * * @return void */ public function testPreparePhotoData() @@ -3415,6 +3595,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_remoteauth() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3425,41 +3606,45 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_remoteauth() function with an URL. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ public function testApiFriendicaRemoteauthWithUrl() { - $_GET['url'] = 'url'; + $_GET['url'] = 'url'; $_GET['c_url'] = 'url'; api_friendica_remoteauth(); } /** * Test the api_friendica_remoteauth() function with a correct URL. + * * @return void */ public function testApiFriendicaRemoteauthWithCorrectUrl() { $this->markTestIncomplete("We can't use an assertion here because of App->redirect()."); - $_GET['url'] = 'url'; + $_GET['url'] = 'url'; $_GET['c_url'] = $this->selfUser['nurl']; api_friendica_remoteauth(); } /** * Test the api_share_as_retweet() function. + * * @return void */ public function testApiShareAsRetweet() { - $item = ['body' => '', 'author-id' => 1, 'owner-id' => 1]; + $item = ['body' => '', 'author-id' => 1, 'owner-id' => 1]; $result = api_share_as_retweet($item); $this->assertFalse($result); } /** * Test the api_share_as_retweet() function with a valid item. + * * @return void */ public function testApiShareAsRetweetWithValidItem() @@ -3467,28 +3652,9 @@ class ApiTest extends DatabaseTest $this->markTestIncomplete(); } - /** - * Test the api_get_nick() function. - * @return void - */ - public function testApiGetNick() - { - $result = api_get_nick($this->otherUser['nurl']); - $this->assertEquals('othercontact', $result); - } - - /** - * Test the api_get_nick() function with a wrong URL. - * @return void - */ - public function testApiGetNickWithWrongUrl() - { - $result = api_get_nick('wrong_url'); - $this->assertFalse($result); - } - /** * Test the api_in_reply_to() function. + * * @return void */ public function testApiInReplyTo() @@ -3503,6 +3669,7 @@ class ApiTest extends DatabaseTest /** * Test the api_in_reply_to() function with a valid item. + * * @return void */ public function testApiInReplyToWithValidItem() @@ -3512,37 +3679,31 @@ class ApiTest extends DatabaseTest /** * Test the api_clean_plain_items() function. + * * @return void */ public function testApiCleanPlainItems() { $_REQUEST['include_entities'] = 'true'; - $result = api_clean_plain_items('some_text [url="some_url"]some_text[/url]'); + $result = api_clean_plain_items('some_text [url="some_url"]some_text[/url]'); $this->assertEquals('some_text [url="some_url"]"some_url"[/url]', $result); } - /** - * Test the api_clean_attachments() function. - * @return void - */ - public function testApiCleanAttachments() - { - $this->markTestIncomplete(); - } - /** * Test the api_best_nickname() function. + * * @return void */ public function testApiBestNickname() { $contacts = []; - $result = api_best_nickname($contacts); + $result = api_best_nickname($contacts); $this->assertNull($result); } /** * Test the api_best_nickname() function with contacts. + * * @return void */ public function testApiBestNicknameWithContacts() @@ -3552,6 +3713,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_show() function. + * * @return void */ public function testApiFriendicaGroupShow() @@ -3561,6 +3723,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_delete() function. + * * @return void */ public function testApiFriendicaGroupDelete() @@ -3570,6 +3733,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_destroy() function. + * * @return void */ public function testApiListsDestroy() @@ -3579,6 +3743,7 @@ class ApiTest extends DatabaseTest /** * Test the group_create() function. + * * @return void */ public function testGroupCreate() @@ -3588,6 +3753,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_create() function. + * * @return void */ public function testApiFriendicaGroupCreate() @@ -3597,6 +3763,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_create() function. + * * @return void */ public function testApiListsCreate() @@ -3606,6 +3773,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_update() function. + * * @return void */ public function testApiFriendicaGroupUpdate() @@ -3615,6 +3783,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_update() function. + * * @return void */ public function testApiListsUpdate() @@ -3624,6 +3793,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_activity() function. + * * @return void */ public function testApiFriendicaActivity() @@ -3633,6 +3803,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_notification() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3643,6 +3814,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_notification() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3653,31 +3825,55 @@ class ApiTest extends DatabaseTest } /** - * Test the api_friendica_notification() function with an argument count. + * Test the api_friendica_notification() function with empty result + * * @return void */ - public function testApiFriendicaNotificationWithArgumentCount() + public function testApiFriendicaNotificationWithEmptyResult() { $this->app->argv = ['api', 'friendica', 'notification']; $this->app->argc = count($this->app->argv); - $result = api_friendica_notification('json'); + $_SESSION['uid'] = 41; + $result = api_friendica_notification('json'); $this->assertEquals(['note' => false], $result); } /** * Test the api_friendica_notification() function with an XML result. + * * @return void */ public function testApiFriendicaNotificationWithXmlResult() { $this->app->argv = ['api', 'friendica', 'notification']; $this->app->argc = count($this->app->argv); - $result = api_friendica_notification('xml'); - $this->assertXml($result, 'notes'); + $result = api_friendica_notification('xml'); + $dateRel = Temporal::getRelativeDate('2020-01-01 12:12:02'); + $assertXml=<< + + + +XML; + $this->assertXmlStringEqualsXmlString($assertXml, $result); + } + + /** + * Test the api_friendica_notification() function with an JSON result. + * + * @return void + */ + public function testApiFriendicaNotificationWithJsonResult() + { + $this->app->argv = ['api', 'friendica', 'notification']; + $this->app->argc = count($this->app->argv); + $result = json_encode(api_friendica_notification('json')); + $this->assertJson($result); } /** * Test the api_friendica_notification_seen() function. + * * @return void */ public function testApiFriendicaNotificationSeen() @@ -3687,6 +3883,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_direct_messages_setseen() function. + * * @return void */ public function testApiFriendicaDirectMessagesSetseen() @@ -3696,6 +3893,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_direct_messages_search() function. + * * @return void */ public function testApiFriendicaDirectMessagesSearch() @@ -3703,56 +3901,9 @@ class ApiTest extends DatabaseTest $this->markTestIncomplete(); } - /** - * Test the api_friendica_profile_show() function. - * @return void - */ - public function testApiFriendicaProfileShow() - { - $result = api_friendica_profile_show('json'); - // We can't use assertSelfUser() here because the user object is missing some properties. - $this->assertEquals($this->selfUser['id'], $result['$result']['friendica_owner']['cid']); - $this->assertEquals('DFRN', $result['$result']['friendica_owner']['location']); - $this->assertEquals($this->selfUser['name'], $result['$result']['friendica_owner']['name']); - $this->assertEquals($this->selfUser['nick'], $result['$result']['friendica_owner']['screen_name']); - $this->assertEquals('dfrn', $result['$result']['friendica_owner']['network']); - $this->assertTrue($result['$result']['friendica_owner']['verified']); - $this->assertFalse($result['$result']['multi_profiles']); - } - - /** - * Test the api_friendica_profile_show() function with a profile ID. - * @return void - */ - public function testApiFriendicaProfileShowWithProfileId() - { - $this->markTestIncomplete('We need to add a dataset for this.'); - } - - /** - * Test the api_friendica_profile_show() function with a wrong profile ID. - * @return void - * @expectedException Friendica\Network\HTTPException\BadRequestException - */ - public function testApiFriendicaProfileShowWithWrongProfileId() - { - $_REQUEST['profile_id'] = 666; - api_friendica_profile_show('json'); - } - - /** - * Test the api_friendica_profile_show() function without an authenticated user. - * @return void - * @expectedException Friendica\Network\HTTPException\ForbiddenException - */ - public function testApiFriendicaProfileShowWithoutAuthenticatedUser() - { - $_SESSION['authenticated'] = false; - api_friendica_profile_show('json'); - } - /** * Test the api_saved_searches_list() function. + * * @return void */ public function testApiSavedSearchesList()