diff --git a/composer.json b/composer.json index acae66f07d..82ab4d93ba 100644 --- a/composer.json +++ b/composer.json @@ -114,7 +114,6 @@ ] }, "require-dev": { - "phpunit/dbunit": "^2.0", "phpdocumentor/reflection-docblock": "^3.0.2", "phpunit/php-token-stream": "^1.4.2", "mikey179/vfsstream": "^1.6", diff --git a/composer.lock b/composer.lock index ba5b7b85d5..e1cefeed8c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b9ea7162aa7ede630a2090c883e1174b", + "content-hash": "9f101b2b4a651f425e155d0029223774", "packages": [ { "name": "asika/simple-console", @@ -4209,16 +4209,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.9.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + "reference": "82ebae02209c21113908c229e9883c419720738a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", "shasum": "" }, "require": { @@ -4230,7 +4230,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -4263,20 +4263,20 @@ "polyfill", "portable" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.16", + "version": "v3.4.30", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "61973ecda60e9f3561e929e19c07d4878b960fc1" + "reference": "051d045c684148060ebfc9affb7e3f5e0899d40b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/61973ecda60e9f3561e929e19c07d4878b960fc1", - "reference": "61973ecda60e9f3561e929e19c07d4878b960fc1", + "url": "https://api.github.com/repos/symfony/yaml/zipball/051d045c684148060ebfc9affb7e3f5e0899d40b", + "reference": "051d045c684148060ebfc9affb7e3f5e0899d40b", "shasum": "" }, "require": { @@ -4322,7 +4322,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-09-24T08:15:45+00:00" + "time": "2019-07-24T13:01:31+00:00" }, { "name": "webmozart/assert", diff --git a/tests/DatabaseTest.php b/tests/DatabaseTest.php index 3c3f835eb6..4f0275493c 100644 --- a/tests/DatabaseTest.php +++ b/tests/DatabaseTest.php @@ -5,42 +5,56 @@ namespace Friendica\Test; +use Friendica\Database\Database; use Friendica\Test\Util\Database\StaticDatabase; -use PHPUnit\DbUnit\DataSet\YamlDataSet; -use PHPUnit\DbUnit\TestCaseTrait; -use PHPUnit_Extensions_Database_DB_IDatabaseConnection; /** * Abstract class used by tests that need a database. */ abstract class DatabaseTest extends MockedTest { - use TestCaseTrait; - - /** - * Get database connection. - * - * This function is executed before each test in order to get a database connection that can be used by tests. - * If no prior connection is available, it tries to create one using the USER, PASS and DB environment variables. - * - * If it could not connect to the database, the test is skipped. - * - * @return PHPUnit_Extensions_Database_DB_IDatabaseConnection - * @see https://phpunit.de/manual/5.7/en/database.html - */ - protected function getConnection() + protected function setUp() { - return $this->createDefaultDBConnection(StaticDatabase::getGlobConnection(), getenv('MYSQL_DATABASE')); + parent::setUp(); + + StaticDatabase::statConnect($_SERVER); + // Rollbacks every DB usage (in case the test couldn't call tearDown) + StaticDatabase::statRollback(); + // Start the first, outer transaction + StaticDatabase::getGlobConnection()->beginTransaction(); + } + + protected function tearDown() + { + // Rollbacks every DB usage so we don't commit anything into the DB + StaticDatabase::statRollback(); + + parent::tearDown(); } /** - * Get dataset to populate the database with. + * Loads a given DB fixture for this DB test * - * @return YamlDataSet - * @see https://phtablepunit.de/manual/5.7/en/database.html + * @param string $fixture The path to the fixture + * @param Database $dba The DB connection + * + * @throws \Exception */ - protected function getDataSet() + protected function loadFixture(string $fixture, Database $dba) { - return new YamlDataSet(__DIR__ . '/datasets/api.yml'); + $this->assertFileExists($fixture); + + $data = include $fixture; + + foreach ($data as $tableName => $rows) { + if (!is_array($rows)) { + $dba->p('TRUNCATE TABLE `' . $tableName . '``'); + continue; + } + + foreach ($rows as $row) { + $dba->insert($tableName, $row); + } + } } } diff --git a/tests/Util/Database/StaticDatabase.php b/tests/Util/Database/StaticDatabase.php index 63544c4f67..e4ea1122f0 100644 --- a/tests/Util/Database/StaticDatabase.php +++ b/tests/Util/Database/StaticDatabase.php @@ -9,6 +9,8 @@ use PDOException; /** * Overrides the Friendica database class for re-using the connection * for different tests + * + * Overrides functionality to enforce one transaction per call (for nested transactions) */ class StaticDatabase extends Database { @@ -29,41 +31,7 @@ class StaticDatabase extends Database } if (!isset(self::$staticConnection)) { - - $port = 0; - $serveraddr = trim($this->configCache->get('database', 'hostname')); - $serverdata = explode(':', $serveraddr); - $server = $serverdata[0]; - if (count($serverdata) > 1) { - $port = trim($serverdata[1]); - } - $server = trim($server); - $user = trim($this->configCache->get('database', 'username')); - $pass = trim($this->configCache->get('database', 'password')); - $db = trim($this->configCache->get('database', 'database')); - $charset = trim($this->configCache->get('database', 'charset')); - - if (!(strlen($server) && strlen($user))) { - return false; - } - - $connect = "mysql:host=" . $server . ";dbname=" . $db; - - if ($port > 0) { - $connect .= ";port=" . $port; - } - - if ($charset) { - $connect .= ";charset=" . $charset; - } - - - try { - self::$staticConnection = @new ExtendedPDO($connect, $user, $pass); - self::$staticConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); - } catch (PDOException $e) { - /// @TODO At least log exception, don't ignore it! - } + self::statConnect($_SERVER); } $this->driver = 'pdo'; @@ -80,7 +48,7 @@ class StaticDatabase extends Database */ public function transaction() { - if (!$this->connection->inTransaction() && !$this->connection->beginTransaction()) { + if (!$this->in_transaction && !$this->connection->beginTransaction()) { return false; } @@ -102,6 +70,64 @@ class StaticDatabase extends Database return true; } + /** + * Setup of the global, static connection + * Either through explicit calling or through implicit using the Database + * + * @param array $server $_SERVER variables + */ + public static function statConnect(array $server) + { + // Use environment variables for mysql if they are set beforehand + if (!empty($server['MYSQL_HOST']) + && !empty($server['MYSQL_USERNAME'] || !empty($server['MYSQL_USER'])) + && $server['MYSQL_PASSWORD'] !== false + && !empty($server['MYSQL_DATABASE'])) + { + $db_host = $server['MYSQL_HOST']; + if (!empty($server['MYSQL_PORT'])) { + $db_host .= ':' . $server['MYSQL_PORT']; + } + + if (!empty($server['MYSQL_USERNAME'])) { + $db_user = $server['MYSQL_USERNAME']; + } else { + $db_user = $server['MYSQL_USER']; + } + $db_pw = (string) $server['MYSQL_PASSWORD']; + $db_data = $server['MYSQL_DATABASE']; + } + + $port = 0; + $serveraddr = trim($db_host); + $serverdata = explode(':', $serveraddr); + $server = $serverdata[0]; + if (count($serverdata) > 1) { + $port = trim($serverdata[1]); + } + $server = trim($server); + $user = trim($db_user); + $pass = trim($db_pw); + $db = trim($db_data); + + if (!(strlen($server) && strlen($user))) { + return; + } + + $connect = "mysql:host=" . $server . ";dbname=" . $db; + + if ($port > 0) { + $connect .= ";port=" . $port; + } + + try { + self::$staticConnection = @new ExtendedPDO($connect, $user, $pass); + self::$staticConnection->setAttribute(PDO::ATTR_AUTOCOMMIT,0); + } catch (PDOException $e) { + /// @TODO At least log exception, don't ignore it! + } + } + /** * @return ExtendedPDO The global, static connection */ diff --git a/tests/datasets/api.fixture.php b/tests/datasets/api.fixture.php new file mode 100644 index 0000000000..475fa03854 --- /dev/null +++ b/tests/datasets/api.fixture.php @@ -0,0 +1,242 @@ + [ + [ + 'cat' => 'system', + 'k' => 'url', + 'v' => 'http://localhost', + ], + [ + 'cat' => 'config', + 'k' => 'hostname', + 'v' => 'localhost', + ], + [ + 'cat' => 'system', + 'k' => 'worker_dont_fork', + 'v' => '1', + ], + ], + 'user' => [ + [ + 'uid' => 42, + 'username' => 'Test user', + 'nickname' => 'selfcontact', + 'verified' => 1, + 'password' => '$2y$10$DLRNTRmJgKe1cSrFJ5Jb0edCqvXlA9sh/RHdSnfxjbR.04yZRm4Qm', + 'theme' => 'frio', + ], + ], + 'contact' => [ + [ + 'id' => 42, + 'uid' => 42, + 'name' => 'Self contact', + 'nick' => 'selfcontact', + 'self' => 1, + 'nurl' => 'http://localhost/profile/selfcontact', + 'url' => 'http://localhost/profile/selfcontact', + 'about' => 'User used in tests', + 'pending' => 0, + 'blocked' => 0, + 'rel' => 1, + 'network' => 'dfrn', + ], + // Having the same name and nick allows us to test + // the fallback to api_get_nick() in api_get_user() + [ + 'id' => 43, + 'uid' => 0, + 'name' => 'othercontact', + 'nick' => 'othercontact', + 'self' => 0, + 'nurl' => 'http://localhost/profile/othercontact', + 'url' => 'http://localhost/profile/othercontact', + 'pending' => 0, + 'blocked' => 0, + 'rel' => 0, + 'network' => 'dfrn', + ], + [ + 'id' => 44, + 'uid' => 42, + 'name' => 'Friend contact', + 'nick' => 'friendcontact', + 'self' => 0, + 'nurl' => 'http://localhost/profile/friendcontact', + 'url' => 'http://localhost/profile/friendcontact', + 'pending' => 0, + 'blocked' => 0, + 'rel' => 2, + 'network' => 'dfrn', + ], + ], + 'item' => [ + [ + 'id' => 1, + 'visible' => 1, + 'contact-id' => 42, + 'author-id' => 42, + 'owner-id' => 42, + 'uid' => 42, + 'verb' => 'http://activitystrea.ms/schema/1.0/post', + 'unseen' => 1, + 'body' => 'Parent status', + 'parent' => 1, + 'author-link' => 'http://localhost/profile/selfcontact', + 'wall' => 1, + 'starred' => 1, + 'origin' => 1, + 'allow_cid' => '', + 'allow_gid' => '', + 'deny_cid' => '', + 'deny_gid' => '', + ], + [ + 'id' => 2, + 'visible' => 1, + 'contact-id' => 42, + 'author-id' => 42, + 'owner-id' => 42, + 'uid' => 42, + 'verb' => 'http://activitystrea.ms/schema/1.0/post', + 'unseen' => 0, + 'body' => 'Reply', + 'parent' => 1, + 'author-link' => 'http://localhost/profile/selfcontact', + 'wall' => 1, + 'starred' => 0, + 'origin' => 1, + ], + [ + + 'id' => 3, + 'visible' => 1, + 'contact-id' => 43, + 'author-id' => 43, + 'owner-id' => 42, + 'uid' => 42, + 'verb' => 'http://activitystrea.ms/schema/1.0/post', + 'unseen' => 0, + 'body' => 'Other user status', + 'parent' => 3, + 'author-link' => 'http://localhost/profile/othercontact', + 'wall' => 1, + 'starred' => 0, + 'origin' => 1, + ], + [ + 'id' => 4, + 'visible' => 1, + 'contact-id' => 44, + 'author-id' => 44, + 'owner-id' => 42, + 'uid' => 42, + 'verb' => 'http://activitystrea.ms/schema/1.0/post', + 'unseen' => 0, + 'body' => 'Friend user reply', + 'parent' => 1, + 'author-link' => 'http://localhost/profile/othercontact', + 'wall' => 1, + 'starred' => 0, + 'origin' => 1, + ], + [ + + 'id' => 5, + 'visible' => 1, + 'contact-id' => 42, + 'author-id' => 42, + 'owner-id' => 42, + 'uid' => 42, + 'verb' => 'http://activitystrea.ms/schema/1.0/post', + 'unseen' => 0, + 'body' => '[share]Shared status[/share]', + 'parent' => 1, + 'author-link' => 'http://localhost/profile/othercontact', + 'wall' => 1, + 'starred' => 0, + 'origin' => 1, + 'allow_cid' => '', + 'allow_gid' => '', + 'deny_cid' => '', + 'deny_gid' => '', + ], + [ + 'id' => 6, + 'visible' => 1, + 'contact-id' => 44, + 'author-id' => 44, + 'owner-id' => 42, + 'uid' => 42, + 'verb' => 'http://activitystrea.ms/schema/1.0/post', + 'unseen' => 0, + 'body' => 'Friend user status', + 'parent' => 6, + 'author-link' => 'http://localhost/profile/othercontact', + 'wall' => 1, + 'starred' => 0, + 'origin' => 1, + ], + ], + 'thread' => [ + [ + 'iid' => 1, + 'visible' => 1, + 'contact-id' => 42, + 'author-id' => 42, + 'owner-id' => 42, + 'uid' => 42, + 'wall' => 1, + ], + [ + 'iid' => 3, + 'visible' => 1, + 'contact-id' => 43, + 'author-id' => 43, + 'owner-id' => 43, + 'uid' => 0, + 'wall' => 1, + ], + [ + 'iid' => 6, + 'visible' => 1, + 'contact-id' => 44, + 'author-id' => 44, + 'owner-id' => 44, + 'uid' => 0, + 'wall' => 1, + ], + ], + 'group' => [ + [ + 'id' => 1, + 'uid' => 42, + 'visible' => 1, + 'name' => 'Visible list', + ], + [ + 'id' => 2, + 'uid' => 42, + 'visible' => 0, + 'name' => 'Private list', + ], + ], + 'search' => [ + [ + 'id' => 1, + 'term' => 'Saved search', + 'uid' => 42, + ], + ], +]; \ No newline at end of file diff --git a/tests/datasets/api.yml b/tests/datasets/api.yml deleted file mode 100644 index a28ae21ee9..0000000000 --- a/tests/datasets/api.yml +++ /dev/null @@ -1,219 +0,0 @@ ---- -# Empty these tables -cache: -conversation: -pconfig: -photo: -workerqueue: -mail: -item-delivery-data: - -# Base test config to avoid notice messages -config: - - - cat: system - k: url - v: http://localhost - - - cat: config - k: hostname - v: localhost - - - cat: system - k: worker_dont_fork - v: 1 - -# Populate tables with test data -user: - - - uid: 42 - username: Test user - nickname: selfcontact - verified: 1 - password: $2y$10$DLRNTRmJgKe1cSrFJ5Jb0edCqvXlA9sh/RHdSnfxjbR.04yZRm4Qm - theme: frio - -contact: - - - id: 42 - uid: 42 - name: Self contact - nick: selfcontact - self: 1 - nurl: http://localhost/profile/selfcontact - url: http://localhost/profile/selfcontact - about: User used in tests - pending: 0 - blocked: 0 - rel: 1 - network: dfrn - - - id: 43 - uid: 0 - # Having the same name and nick allows us to test - # the fallback to api_get_nick() in api_get_user() - name: othercontact - nick: othercontact - self: 0 - nurl: http://localhost/profile/othercontact - url: http://localhost/profile/othercontact - pending: 0 - blocked: 0 - rel: 0 - network: dfrn - - - id: 44 - uid: 42 - name: Friend contact - nick: friendcontact - self: 0 - nurl: http://localhost/profile/friendcontact - url: http://localhost/profile/friendcontact - pending: 0 - blocked: 0 - rel: 2 - network: dfrn - -item: - - - id: 1 - visible: 1 - contact-id: 42 - author-id: 42 - owner-id: 45 - uid: 42 - verb: http://activitystrea.ms/schema/1.0/post - unseen: 1 - body: Parent status - parent: 1 - author-link: http://localhost/profile/selfcontact - wall: 1 - starred: 1 - origin: 1 - allow_cid: '' - allow_gid: '' - deny_cid: '' - deny_gid: '' - - - id: 2 - visible: 1 - contact-id: 42 - author-id: 42 - owner-id: 45 - uid: 42 - verb: http://activitystrea.ms/schema/1.0/post - unseen: 0 - body: Reply - parent: 1 - author-link: http://localhost/profile/selfcontact - wall: 1 - starred: 0 - origin: 1 - - - id: 3 - visible: 1 - contact-id: 43 - author-id: 43 - owner-id: 42 - uid: 42 - verb: http://activitystrea.ms/schema/1.0/post - unseen: 0 - body: Other user status - parent: 3 - author-link: http://localhost/profile/othercontact - wall: 1 - starred: 0 - origin: 1 - - - id: 4 - visible: 1 - contact-id: 44 - author-id: 44 - owner-id: 42 - uid: 42 - verb: http://activitystrea.ms/schema/1.0/post - unseen: 0 - body: Friend user reply - parent: 1 - author-link: http://localhost/profile/othercontact - wall: 1 - starred: 0 - origin: 1 - - - id: 5 - visible: 1 - contact-id: 42 - author-id: 42 - owner-id: 42 - uid: 42 - verb: http://activitystrea.ms/schema/1.0/post - unseen: 0 - body: '[share]Shared status[/share]' - parent: 1 - author-link: http://localhost/profile/othercontact - wall: 1 - starred: 0 - origin: 1 - allow_cid: '' - allow_gid: '' - deny_cid: '' - deny_gid: '' - - - id: 6 - visible: 1 - contact-id: 44 - author-id: 44 - owner-id: 42 - uid: 42 - verb: http://activitystrea.ms/schema/1.0/post - unseen: 0 - body: Friend user status - parent: 6 - author-link: http://localhost/profile/othercontact - wall: 1 - starred: 0 - origin: 1 - -thread: - - - iid: 1 - visible: 1 - contact-id: 42 - author-id: 42 - owner-id: 42 - uid: 42 - wall: 1 - - - iid: 3 - visible: 1 - contact-id: 43 - author-id: 43 - owner-id: 43 - uid: 0 - wall: 1 - - - iid: 6 - visible: 1 - contact-id: 44 - author-id: 44 - owner-id: 44 - uid: 0 - wall: 1 - -group: - - - id: 1 - uid: 42 - visible: 1 - name: Visible list - - - id: 2 - uid: 42 - visible: 0 - name: Private list - -search: - - - id: 1 - term: Saved search - uid: 42 diff --git a/tests/include/ApiTest.php b/tests/include/ApiTest.php index 15da515277..465641af2c 100644 --- a/tests/include/ApiTest.php +++ b/tests/include/ApiTest.php @@ -47,36 +47,41 @@ class ApiTest extends DatabaseTest /** * Create variables used by tests. */ - public function setUp() + protected function setUp() { - StaticDatabase::statRollback(); + parent::setUp(); $dice = new Dice(); $dice = $dice->addRules(include __DIR__ . '/../../static/dependencies.config.php'); $dice = $dice->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]); BaseObject::setDependencyInjection($dice); - $this->app = BaseObject::getApp(); - parent::setUp(); + /** @var Database $dba */ + $dba = $dice->create(Database::class); + + // Load the API dataset for the whole API + $this->loadFixture(__DIR__ . '/../datasets/api.fixture.php', $dba); + + $this->app = BaseObject::getApp(); $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' @@ -87,11 +92,15 @@ class ApiTest extends DatabaseTest // 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'] ]; + $_POST = []; + $_GET = []; + $_SERVER = []; + Config::set('system', 'url', 'http://localhost'); Config::set('system', 'hostname', 'localhost'); Config::set('system', 'worker_dont_fork', true); @@ -104,14 +113,11 @@ class ApiTest extends DatabaseTest Config::set('system', 'theme', 'system_theme'); } - protected function tearDown() - { - StaticDatabase::statRollback(); - } - /** * Assert that an user array contains expected keys. + * * @param array $user User array + * * @return void */ private function assertSelfUser(array $user) @@ -128,7 +134,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) @@ -143,7 +151,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) @@ -155,7 +165,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) @@ -169,19 +181,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() @@ -190,7 +205,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==' ) ); @@ -200,6 +215,7 @@ class ApiTest extends DatabaseTest /** * Test the api_user() function. + * * @return void */ public function testApiUser() @@ -209,6 +225,7 @@ class ApiTest extends DatabaseTest /** * Test the api_user() function with an unallowed user. + * * @return void */ public function testApiUserWithUnallowedUser() @@ -219,6 +236,7 @@ class ApiTest extends DatabaseTest /** * Test the api_source() function. + * * @return void */ public function testApiSource() @@ -228,6 +246,7 @@ class ApiTest extends DatabaseTest /** * Test the api_source() function with a Twidere user agent. + * * @return void */ public function testApiSourceWithTwidere() @@ -238,6 +257,7 @@ class ApiTest extends DatabaseTest /** * Test the api_source() function with a GET parameter. + * * @return void */ public function testApiSourceWithGet() @@ -248,6 +268,7 @@ class ApiTest extends DatabaseTest /** * Test the api_date() function. + * * @return void */ public function testApiDate() @@ -257,6 +278,7 @@ class ApiTest extends DatabaseTest /** * Test the api_register_func() function. + * * @return void */ public function testApiRegisterFunc() @@ -278,6 +300,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function without any login. + * * @return void * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\UnauthorizedException @@ -289,6 +312,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with a bad login. + * * @return void * @runInSeparateProcess * @expectedException Friendica\Network\HTTPException\UnauthorizedException @@ -301,6 +325,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with oAuth. + * * @return void */ public function testApiLoginWithOauth() @@ -310,6 +335,7 @@ class ApiTest extends DatabaseTest /** * Test the api_login() function with authentication provided by an addon. + * * @return void */ public function testApiLoginWithAddonAuth() @@ -319,18 +345,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 @@ -343,6 +371,7 @@ class ApiTest extends DatabaseTest /** * Test the api_check_method() function. + * * @return void */ public function testApiCheckMethod() @@ -352,6 +381,7 @@ class ApiTest extends DatabaseTest /** * Test the api_check_method() function with a correct method. + * * @return void */ public function testApiCheckMethodWithCorrectMethod() @@ -362,6 +392,7 @@ class ApiTest extends DatabaseTest /** * Test the api_check_method() function with a wildcard. + * * @return void */ public function testApiCheckMethodWithWildcard() @@ -371,20 +402,21 @@ 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'; + $_GET['callback'] = 'callback_name'; $this->app->query_string = 'api_path'; $this->assertEquals( @@ -395,15 +427,16 @@ class ApiTest extends DatabaseTest /** * 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']]; } ]; @@ -411,11 +444,11 @@ class ApiTest extends DatabaseTest Config::set('system', 'profiler', true); 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'; @@ -427,15 +460,16 @@ class ApiTest extends DatabaseTest /** * 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; } ]; @@ -450,6 +484,7 @@ class ApiTest extends DatabaseTest /** * Test the api_call() function with an unimplemented API. + * * @return void * @runInSeparateProcess */ @@ -463,15 +498,16 @@ 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']]; } ]; @@ -486,15 +522,16 @@ class ApiTest extends DatabaseTest /** * 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'; } ]; @@ -509,15 +546,16 @@ class ApiTest extends DatabaseTest /** * 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'; } ]; @@ -525,23 +563,24 @@ class ApiTest extends DatabaseTest $this->app->query_string = 'api_path.rss'; $this->assertEquals( - ''."\n". - 'some_data', + '' . "\n" . + 'some_data', api_call($this->app) ); } /** * 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'; } ]; @@ -549,14 +588,15 @@ class ApiTest extends DatabaseTest $this->app->query_string = 'api_path.atom'; $this->assertEquals( - ''."\n". - 'some_data', + '' . "\n" . + 'some_data', api_call($this->app) ); } /** * Test the api_call() function with an unallowed method. + * * @return void * @runInSeparateProcess */ @@ -574,15 +614,16 @@ class ApiTest extends DatabaseTest /** * 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; @@ -596,6 +637,7 @@ class ApiTest extends DatabaseTest /** * Test the api_error() function with a JSON result. + * * @return void * @runInSeparateProcess */ @@ -609,72 +651,76 @@ class ApiTest extends DatabaseTest /** * 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", + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", api_error('xml', new HTTPException\OKException('error_message')) ); } /** * 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", + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", api_error('rss', new HTTPException\OKException('error_message')) ); } /** * 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", + '' . "\n" . + '' . "\n" . + ' error_message' . "\n" . + ' 200 OK' . "\n" . + ' ' . "\n" . + '' . "\n", api_error('atom', new HTTPException\OKException('error_message')) ); } /** * 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']); @@ -687,8 +733,8 @@ class ApiTest extends DatabaseTest /** * Test the api_rss_extra() function without any user info. + * * @return void - * @runInSeparateProcess */ public function testApiRssExtraWithoutUserInfo() { @@ -705,6 +751,7 @@ class ApiTest extends DatabaseTest /** * Test the api_unique_id_to_nurl() function. + * * @return void */ public function testApiUniqueIdToNurl() @@ -714,6 +761,7 @@ class ApiTest extends DatabaseTest /** * Test the api_unique_id_to_nurl() function with a correct ID. + * * @return void */ public function testApiUniqueIdToNurlWithCorrectId() @@ -723,8 +771,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function. + * * @return void - * @runInSeparateProcess */ public function testApiGetUser() { @@ -737,8 +785,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a Frio schema. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithFrioSchema() { @@ -752,8 +800,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a custom Frio schema. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithCustomFrioSchema() { @@ -770,8 +818,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with an empty Frio schema. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithEmptyFrioSchema() { @@ -785,21 +833,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() { @@ -809,8 +858,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() @@ -821,8 +870,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() { @@ -832,8 +881,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() { @@ -843,21 +892,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() { @@ -868,8 +917,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a valid user. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithCorrectUser() { @@ -878,8 +927,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() @@ -889,8 +938,8 @@ class ApiTest extends DatabaseTest /** * Test the api_get_user() function with a 0 user ID. + * * @return void - * @runInSeparateProcess */ public function testApiGetUserWithZeroUser() { @@ -899,8 +948,8 @@ class ApiTest extends DatabaseTest /** * Test the api_item_get_user() function. + * * @return void - * @runInSeparateProcess */ public function testApiItemGetUser() { @@ -910,6 +959,7 @@ class ApiTest extends DatabaseTest /** * Test the api_item_get_user() function with a different item parent. + * * @return void */ public function testApiItemGetUserWithDifferentParent() @@ -921,6 +971,7 @@ class ApiTest extends DatabaseTest /** * Test the api_walk_recursive() function. + * * @return void */ public function testApiWalkRecursive() @@ -940,6 +991,7 @@ class ApiTest extends DatabaseTest /** * Test the api_walk_recursive() function with an array. + * * @return void */ public function testApiWalkRecursiveWithArray() @@ -959,74 +1011,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() @@ -1037,23 +1095,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() @@ -1063,6 +1123,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_verify_credentials() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1074,6 +1135,7 @@ class ApiTest extends DatabaseTest /** * Test the requestdata() function. + * * @return void */ public function testRequestdata() @@ -1083,6 +1145,7 @@ class ApiTest extends DatabaseTest /** * Test the requestdata() function with a POST parameter. + * * @return void */ public function testRequestdataWithPost() @@ -1093,6 +1156,7 @@ class ApiTest extends DatabaseTest /** * Test the requestdata() function with a GET parameter. + * * @return void */ public function testRequestdataWithGet() @@ -1103,21 +1167,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'; @@ -1128,6 +1193,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_mediap() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1139,23 +1205,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' ] ]; @@ -1165,6 +1232,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with an HTML status. + * * @return void */ public function testApiStatusesUpdateWithHtml() @@ -1177,6 +1245,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1188,6 +1257,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with a parent status. + * * @return void */ public function testApiStatusesUpdateWithParent() @@ -1197,6 +1267,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with a media_ids parameter. + * * @return void */ public function testApiStatusesUpdateWithMediaIds() @@ -1206,6 +1277,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_update() function with the throttle limit reached. + * * @return void */ public function testApiStatusesUpdateWithDayThrottleReached() @@ -1215,6 +1287,7 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1225,6 +1298,7 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1236,6 +1310,7 @@ class ApiTest extends DatabaseTest /** * Test the api_media_upload() function with an invalid uploaded media. + * * @return void * @expectedException Friendica\Network\HTTPException\InternalServerErrorException */ @@ -1243,7 +1318,7 @@ class ApiTest extends DatabaseTest { $_FILES = [ 'media' => [ - 'id' => 666, + 'id' => 666, 'tmp_name' => 'tmp_name' ] ]; @@ -1252,22 +1327,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 = \get_app(); $app->argc = 2; $result = api_media_upload(); @@ -1307,6 +1383,7 @@ class ApiTest extends DatabaseTest /** * Test the api_users_show() function. + * * @return void */ public function testApiUsersShow() @@ -1323,6 +1400,7 @@ class ApiTest extends DatabaseTest /** * Test the api_users_show() function with an XML result. + * * @return void */ public function testApiUsersShowWithXml() @@ -1333,28 +1411,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 */ @@ -1365,6 +1446,7 @@ class ApiTest extends DatabaseTest /** * Test the api_users_lookup() function. + * * @return void * @expectedException Friendica\Network\HTTPException\NotFoundException */ @@ -1375,24 +1457,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); @@ -1401,13 +1485,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); @@ -1416,13 +1501,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); @@ -1431,12 +1517,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); @@ -1445,14 +1532,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); } @@ -1460,18 +1548,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 */ @@ -1482,14 +1572,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); @@ -1498,12 +1589,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); @@ -1512,18 +1604,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() @@ -1534,13 +1628,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); @@ -1549,13 +1644,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); @@ -1564,12 +1660,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); @@ -1578,18 +1675,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() @@ -1600,12 +1699,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); @@ -1614,12 +1714,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); @@ -1628,18 +1729,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() @@ -1650,6 +1753,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_show() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1660,24 +1764,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); @@ -1686,18 +1792,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 */ @@ -1708,14 +1816,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); @@ -1724,18 +1833,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 */ @@ -1746,6 +1857,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_repeat() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1757,22 +1869,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 */ @@ -1783,6 +1897,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_destroy() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -1794,53 +1909,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() @@ -1851,14 +1971,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); @@ -1867,12 +1988,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); @@ -1881,6 +2003,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_user_timeline() function with an RSS result. + * * @return void */ public function testApiStatusesUserTimelineWithRss() @@ -1891,18 +2014,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 */ @@ -1915,6 +2040,7 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites_create_destroy() function with an invalid ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1927,6 +2053,7 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites_create_destroy() function with an invalid action. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -1934,71 +2061,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); } @@ -2006,6 +2138,7 @@ class ApiTest extends DatabaseTest /** * Test the api_favorites() function with an RSS result. + * * @return void */ public function testApiFavoritesWithRss() @@ -2016,18 +2149,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() @@ -2037,7 +2172,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']); @@ -2047,12 +2182,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'] @@ -2063,12 +2199,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'] @@ -2079,12 +2216,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'] @@ -2095,6 +2233,7 @@ class ApiTest extends DatabaseTest /** * Test the api_convert_item() function. + * * @return void */ public function testApiConvertItem() @@ -2102,32 +2241,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']); @@ -2136,6 +2275,7 @@ class ApiTest extends DatabaseTest /** * Test the api_convert_item() function with an empty item body. + * * @return void */ public function testApiConvertItemWithoutBody() @@ -2143,9 +2283,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']); @@ -2154,6 +2294,7 @@ class ApiTest extends DatabaseTest /** * Test the api_convert_item() function with the title in the body. + * * @return void */ public function testApiConvertItemWithTitleInBody() @@ -2161,7 +2302,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']); @@ -2170,6 +2311,7 @@ class ApiTest extends DatabaseTest /** * Test the api_get_attachments() function. + * * @return void */ public function testApiGetAttachments() @@ -2180,6 +2322,7 @@ class ApiTest extends DatabaseTest /** * Test the api_get_attachments() function with an img tag. + * * @return void */ public function testApiGetAttachmentsWithImage() @@ -2190,17 +2333,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() @@ -2211,13 +2356,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']); @@ -2226,6 +2372,7 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items_embeded_images() function. + * * @return void */ public function testApiFormatItemsEmbededImages() @@ -2238,6 +2385,7 @@ class ApiTest extends DatabaseTest /** * Test the api_contactlink_to_array() function. + * * @return void */ public function testApiContactlinkToArray() @@ -2245,7 +2393,7 @@ class ApiTest extends DatabaseTest $this->assertEquals( [ 'name' => 'text', - 'url' => '', + 'url' => '', ], api_contactlink_to_array('text') ); @@ -2253,6 +2401,7 @@ class ApiTest extends DatabaseTest /** * Test the api_contactlink_to_array() function with an URL. + * * @return void */ public function testApiContactlinkToArrayWithUrl() @@ -2260,7 +2409,7 @@ class ApiTest extends DatabaseTest $this->assertEquals( [ 'name' => ['link_text'], - 'url' => ['url'], + 'url' => ['url'], ], api_contactlink_to_array('text link_text') ); @@ -2268,11 +2417,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); @@ -2283,11 +2433,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); @@ -2298,94 +2449,95 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items_profiles() function. + * * @return void */ public function testApiFormatItemsProfiles() { $profile_row = [ - 'id' => 'profile_id', + 'id' => 'profile_id', 'profile-name' => 'profile_name', - 'is-default' => true, + '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', + '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', + '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', + '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' + 'contact' => 'social_networks', + 'homepage' => 'homepage' ]; - $result = api_format_items_profiles($profile_row); + $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', + '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', + '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 + 'homepage' => 'homepage', + 'users' => null ], $result ); @@ -2393,21 +2545,22 @@ class ApiTest extends DatabaseTest /** * 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); @@ -2418,19 +2571,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'); @@ -2441,6 +2595,7 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items() function. + * * @return void */ public function testApiAccountRateLimitStatus() @@ -2453,6 +2608,7 @@ class ApiTest extends DatabaseTest /** * Test the api_format_items() function with an XML result. + * * @return void */ public function testApiAccountRateLimitStatusWithXml() @@ -2463,6 +2619,7 @@ class ApiTest extends DatabaseTest /** * Test the api_help_test() function. + * * @return void */ public function testApiHelpTest() @@ -2473,6 +2630,7 @@ class ApiTest extends DatabaseTest /** * Test the api_help_test() function with an XML result. + * * @return void */ public function testApiHelpTestWithXml() @@ -2483,6 +2641,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_list() function. + * * @return void */ public function testApiListsList() @@ -2493,6 +2652,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_ownerships() function. + * * @return void */ public function testApiListsOwnerships() @@ -2505,6 +2665,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_ownerships() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2516,6 +2677,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_statuses() function. + * * @expectedException Friendica\Network\HTTPException\BadRequestException * @return void */ @@ -2526,14 +2688,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); } @@ -2541,40 +2704,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() @@ -2585,6 +2752,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_f() function. + * * @return void */ public function testApiStatusesFWithBlocks() @@ -2595,6 +2763,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_f() function. + * * @return void */ public function testApiStatusesFWithIncoming() @@ -2605,6 +2774,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_f() function an undefined cursor GET variable. + * * @return void */ public function testApiStatusesFWithUndefinedCursor() @@ -2615,6 +2785,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_friends() function. + * * @return void */ public function testApiStatusesFriends() @@ -2625,6 +2796,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_friends() function an undefined cursor GET variable. + * * @return void */ public function testApiStatusesFriendsWithUndefinedCursor() @@ -2635,6 +2807,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_followers() function. + * * @return void */ public function testApiStatusesFollowers() @@ -2645,6 +2818,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statuses_followers() function an undefined cursor GET variable. + * * @return void */ public function testApiStatusesFollowersWithUndefinedCursor() @@ -2655,6 +2829,7 @@ class ApiTest extends DatabaseTest /** * Test the api_blocks_list() function. + * * @return void */ public function testApiBlocksList() @@ -2665,6 +2840,7 @@ class ApiTest extends DatabaseTest /** * Test the api_blocks_list() function an undefined cursor GET variable. + * * @return void */ public function testApiBlocksListWithUndefinedCursor() @@ -2675,6 +2851,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendships_incoming() function. + * * @return void */ public function testApiFriendshipsIncoming() @@ -2685,6 +2862,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendships_incoming() function an undefined cursor GET variable. + * * @return void */ public function testApiFriendshipsIncomingWithUndefinedCursor() @@ -2695,6 +2873,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statusnet_config() function. + * * @return void */ public function testApiStatusnetConfig() @@ -2714,6 +2893,7 @@ class ApiTest extends DatabaseTest /** * Test the api_statusnet_version() function. + * * @return void */ public function testApiStatusnetVersion() @@ -2724,6 +2904,7 @@ class ApiTest extends DatabaseTest /** * Test the api_ff_ids() function. + * * @return void */ public function testApiFfIds() @@ -2734,6 +2915,7 @@ class ApiTest extends DatabaseTest /** * Test the api_ff_ids() function with a result. + * * @return void */ public function testApiFfIdsWithResult() @@ -2743,6 +2925,7 @@ class ApiTest extends DatabaseTest /** * Test the api_ff_ids() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2754,6 +2937,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friends_ids() function. + * * @return void */ public function testApiFriendsIds() @@ -2764,6 +2948,7 @@ class ApiTest extends DatabaseTest /** * Test the api_followers_ids() function. + * * @return void */ public function testApiFollowersIds() @@ -2774,6 +2959,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_new() function. + * * @return void */ public function testApiDirectMessagesNew() @@ -2784,6 +2970,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_new() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2795,26 +2982,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']); @@ -2822,15 +3010,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']); @@ -2839,18 +3027,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 */ @@ -2861,16 +3051,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' ] ], @@ -2880,6 +3071,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -2891,6 +3083,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function with a non-zero ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -2902,18 +3095,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' ] ], @@ -2923,6 +3117,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_destroy() function with a non-zero ID. + * * @return void */ public function testApiDirectMessagesDestroyWithCorrectId() @@ -2932,18 +3127,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() @@ -2954,6 +3151,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithAll() @@ -2964,6 +3162,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithInbox() @@ -2974,6 +3173,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function. + * * @return void */ public function testApiDirectMessagesBoxWithVerbose() @@ -2982,7 +3182,7 @@ class ApiTest extends DatabaseTest $this->assertEquals( [ '$result' => [ - 'result' => 'error', + 'result' => 'error', 'message' => 'no mails available' ] ], @@ -2992,6 +3192,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_box() function with a RSS result. + * * @return void */ public function testApiDirectMessagesBoxWithRss() @@ -3002,18 +3203,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() @@ -3024,6 +3227,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_inbox() function. + * * @return void */ public function testApiDirectMessagesInbox() @@ -3034,6 +3238,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_all() function. + * * @return void */ public function testApiDirectMessagesAll() @@ -3044,6 +3249,7 @@ class ApiTest extends DatabaseTest /** * Test the api_direct_messages_conversation() function. + * * @return void */ public function testApiDirectMessagesConversation() @@ -3054,6 +3260,7 @@ class ApiTest extends DatabaseTest /** * Test the api_oauth_request_token() function. + * * @return void */ public function testApiOauthRequestToken() @@ -3063,6 +3270,7 @@ class ApiTest extends DatabaseTest /** * Test the api_oauth_access_token() function. + * * @return void */ public function testApiOauthAccessToken() @@ -3072,6 +3280,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3082,6 +3291,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3093,6 +3303,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void */ public function testApiFrPhotoalbumDeleteWithValidAlbum() @@ -3102,6 +3313,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3112,6 +3324,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3123,18 +3336,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 */ @@ -3146,6 +3361,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photoalbum_delete() function with an album name. + * * @return void */ public function testApiFrPhotoalbumUpdateWithValidAlbum() @@ -3155,6 +3371,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photos_list() function. + * * @return void */ public function testApiFrPhotosList() @@ -3165,6 +3382,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photos_list() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3176,6 +3394,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3186,6 +3405,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3197,6 +3417,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function with an album name. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3208,6 +3429,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function with the update mode. + * * @return void */ public function testApiFrPhotoCreateUpdateWithUpdate() @@ -3217,6 +3439,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_create_update() function with an uploaded file. + * * @return void */ public function testApiFrPhotoCreateUpdateWithFile() @@ -3226,6 +3449,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3236,6 +3460,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3247,6 +3472,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function with a photo ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3258,6 +3484,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_delete() function with a correct photo ID. + * * @return void */ public function testApiFrPhotoDeleteWithCorrectPhotoId() @@ -3267,6 +3494,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3277,6 +3505,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3288,6 +3517,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function with a photo ID. + * * @return void * @expectedException Friendica\Network\HTTPException\NotFoundException */ @@ -3299,6 +3529,7 @@ class ApiTest extends DatabaseTest /** * Test the api_fr_photo_detail() function with a correct photo ID. + * * @return void */ public function testApiFrPhotoDetailCorrectPhotoId() @@ -3308,6 +3539,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile_image() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3318,6 +3550,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile_image() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3329,6 +3562,7 @@ class ApiTest extends DatabaseTest /** * Test the api_account_update_profile_image() function with an uploaded file. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3340,13 +3574,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']); @@ -3358,6 +3593,7 @@ class ApiTest extends DatabaseTest /** * Test the check_acl_input() function. + * * @return void */ public function testCheckAclInput() @@ -3369,6 +3605,7 @@ class ApiTest extends DatabaseTest /** * Test the check_acl_input() function with an empty ACL string. + * * @return void */ public function testCheckAclInputWithEmptyAclString() @@ -3379,6 +3616,7 @@ class ApiTest extends DatabaseTest /** * Test the save_media_to_database() function. + * * @return void */ public function testSaveMediaToDatabase() @@ -3388,6 +3626,7 @@ class ApiTest extends DatabaseTest /** * Test the post_photo_item() function. + * * @return void */ public function testPostPhotoItem() @@ -3397,6 +3636,7 @@ class ApiTest extends DatabaseTest /** * Test the prepare_photo_data() function. + * * @return void */ public function testPreparePhotoData() @@ -3406,6 +3646,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_remoteauth() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3416,41 +3657,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() @@ -3460,6 +3705,7 @@ class ApiTest extends DatabaseTest /** * Test the api_get_nick() function. + * * @return void */ public function testApiGetNick() @@ -3470,6 +3716,7 @@ class ApiTest extends DatabaseTest /** * Test the api_get_nick() function with a wrong URL. + * * @return void */ public function testApiGetNickWithWrongUrl() @@ -3480,6 +3727,7 @@ class ApiTest extends DatabaseTest /** * Test the api_in_reply_to() function. + * * @return void */ public function testApiInReplyTo() @@ -3494,6 +3742,7 @@ class ApiTest extends DatabaseTest /** * Test the api_in_reply_to() function with a valid item. + * * @return void */ public function testApiInReplyToWithValidItem() @@ -3503,17 +3752,19 @@ 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() @@ -3523,17 +3774,19 @@ class ApiTest extends DatabaseTest /** * 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() @@ -3543,6 +3796,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_show() function. + * * @return void */ public function testApiFriendicaGroupShow() @@ -3552,6 +3806,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_delete() function. + * * @return void */ public function testApiFriendicaGroupDelete() @@ -3561,6 +3816,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_destroy() function. + * * @return void */ public function testApiListsDestroy() @@ -3570,6 +3826,7 @@ class ApiTest extends DatabaseTest /** * Test the group_create() function. + * * @return void */ public function testGroupCreate() @@ -3579,6 +3836,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_create() function. + * * @return void */ public function testApiFriendicaGroupCreate() @@ -3588,6 +3846,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_create() function. + * * @return void */ public function testApiListsCreate() @@ -3597,6 +3856,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_group_update() function. + * * @return void */ public function testApiFriendicaGroupUpdate() @@ -3606,6 +3866,7 @@ class ApiTest extends DatabaseTest /** * Test the api_lists_update() function. + * * @return void */ public function testApiListsUpdate() @@ -3615,6 +3876,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_activity() function. + * * @return void */ public function testApiFriendicaActivity() @@ -3624,6 +3886,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_notification() function. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3634,6 +3897,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_notification() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3645,30 +3909,33 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_notification() function with an argument count. + * * @return void */ public function testApiFriendicaNotificationWithArgumentCount() { $this->app->argv = ['api', 'friendica', 'notification']; $this->app->argc = count($this->app->argv); - $result = api_friendica_notification('json'); + $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'); + $result = api_friendica_notification('xml'); $this->assertXml($result, 'notes'); } /** * Test the api_friendica_notification_seen() function. + * * @return void */ public function testApiFriendicaNotificationSeen() @@ -3678,6 +3945,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_direct_messages_setseen() function. + * * @return void */ public function testApiFriendicaDirectMessagesSetseen() @@ -3687,6 +3955,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_direct_messages_search() function. + * * @return void */ public function testApiFriendicaDirectMessagesSearch() @@ -3696,6 +3965,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_profile_show() function. + * * @return void */ public function testApiFriendicaProfileShow() @@ -3713,6 +3983,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_profile_show() function with a profile ID. + * * @return void */ public function testApiFriendicaProfileShowWithProfileId() @@ -3722,6 +3993,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_profile_show() function with a wrong profile ID. + * * @return void * @expectedException Friendica\Network\HTTPException\BadRequestException */ @@ -3733,6 +4005,7 @@ class ApiTest extends DatabaseTest /** * Test the api_friendica_profile_show() function without an authenticated user. + * * @return void * @expectedException Friendica\Network\HTTPException\ForbiddenException */ @@ -3744,6 +4017,7 @@ class ApiTest extends DatabaseTest /** * Test the api_saved_searches_list() function. + * * @return void */ public function testApiSavedSearchesList() diff --git a/tests/src/Database/DBATest.php b/tests/src/Database/DBATest.php index d6f59542f6..6d52581a98 100644 --- a/tests/src/Database/DBATest.php +++ b/tests/src/Database/DBATest.php @@ -4,8 +4,10 @@ namespace Friendica\Test\src\Database; use Dice\Dice; use Friendica\BaseObject; use Friendica\Core\Config; +use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\Test\DatabaseTest; +use Friendica\Test\Util\Database\StaticDatabase; class DBATest extends DatabaseTest { @@ -15,6 +17,7 @@ class DBATest extends DatabaseTest $dice = new Dice(); $dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php'); + $dice = $dice->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]); BaseObject::setDependencyInjection($dice); // Default config diff --git a/tests/src/Database/DBStructureTest.php b/tests/src/Database/DBStructureTest.php index 2747c3df21..e2938e3048 100644 --- a/tests/src/Database/DBStructureTest.php +++ b/tests/src/Database/DBStructureTest.php @@ -4,20 +4,20 @@ namespace Friendica\Test\src\Database; use Dice\Dice; use Friendica\BaseObject; +use Friendica\Database\Database; use Friendica\Database\DBStructure; use Friendica\Test\DatabaseTest; +use Friendica\Test\Util\Database\StaticDatabase; class DBStructureTest extends DatabaseTest { - /** - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - */ - public function setUp() + protected function setUp() { parent::setUp(); $dice = new Dice(); $dice = $dice->addRules(include __DIR__ . '/../../../static/dependencies.config.php'); + $dice = $dice->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]); BaseObject::setDependencyInjection($dice); }