]> git.mxchange.org Git - friendica.git/blobdiff - tests/ApiTest.php
Bugfixings
[friendica.git] / tests / ApiTest.php
index 34ca7ddf0cba51a64b9aded27d2a9d8f23dbaf00..c509c7d2a4233b3ea69ab5b7a6d823246ae357da 100644 (file)
@@ -5,12 +5,14 @@
 
 namespace Friendica\Test;
 
-use Friendica\App;
+use Friendica\BaseObject;
 use Friendica\Core\Config;
 use Friendica\Core\PConfig;
-use Friendica\Network\BadRequestException;
+use Friendica\Core\Protocol;
+use Friendica\Core\System;
 use Friendica\Network\HTTPException;
-use Friendica\Render\FriendicaSmarty;
+
+require_once __DIR__ . '/../include/api.php';
 
 /**
  * Tests for the API functions.
@@ -20,18 +22,14 @@ use Friendica\Render\FriendicaSmarty;
  */
 class ApiTest extends DatabaseTest
 {
-
        /**
         * Create variables used by tests.
         */
-       protected function setUp()
+       public function setUp()
        {
-               global $a;
                parent::setUp();
 
-               // Reusable App object
-               $this->app = new App(__DIR__.'/../');
-               $a = $this->app;
+               $this->app = BaseObject::getApp();
 
                // User data that the test database is populated with
                $this->selfUser = [
@@ -63,6 +61,10 @@ class ApiTest extends DatabaseTest
                        'uid' => $this->selfUser['id']
                ];
 
+               Config::set('system', 'url', 'http://localhost');
+               Config::set('system', 'hostname', 'localhost');
+               Config::set('system', 'worker_dont_fork', true);
+
                // Default config
                Config::set('config', 'hostname', 'localhost');
                Config::set('system', 'throttle_limit_day', 100);
@@ -71,6 +73,17 @@ class ApiTest extends DatabaseTest
                Config::set('system', 'theme', 'system_theme');
        }
 
+       /**
+        * Cleanup variables used by tests.
+        */
+       protected function tearDown()
+       {
+               parent::tearDown();
+
+               $this->app->argc = 1;
+               $this->app->argv = ['home'];
+       }
+
        /**
         * Assert that an user array contains expected keys.
         * @param array $user User array
@@ -635,7 +648,7 @@ class ApiTest extends DatabaseTest
         */
        public function testApiRssExtra()
        {
-               $user_info = ['url' => 'user_url', 'language' => 'en'];
+               $user_info = ['url' => 'user_url', 'lang' => 'en'];
                $result = api_rss_extra($this->app, [], $user_info);
                $this->assertEquals($user_info, $result['$user']);
                $this->assertEquals($user_info['url'], $result['$rss']['alternate']);
@@ -719,10 +732,10 @@ class ApiTest extends DatabaseTest
         */
        public function testApiGetUserWithCustomFrioSchema()
        {
-               PConfig::set($this->selfUser['id'], 'frio', 'schema', '---');
-               PConfig::set($this->selfUser['id'], 'frio', 'nav_bg', '#123456');
-               PConfig::set($this->selfUser['id'], 'frio', 'link_color', '#123456');
-               PConfig::set($this->selfUser['id'], 'frio', 'background_color', '#123456');
+               $ret1 = PConfig::set($this->selfUser['id'], 'frio', 'schema', '---');
+               $ret2 = PConfig::set($this->selfUser['id'], 'frio', 'nav_bg', '#123456');
+               $ret3 = PConfig::set($this->selfUser['id'], 'frio', 'link_color', '#123456');
+               $ret4 = PConfig::set($this->selfUser['id'], 'frio', 'background_color', '#123456');
                $user = api_get_user($this->app);
                $this->assertSelfUser($user);
                $this->assertEquals('123456', $user['profile_sidebar_fill_color']);
@@ -1205,7 +1218,8 @@ class ApiTest extends DatabaseTest
        {
                $_FILES = [
                        'media' => [
-                               'id' => 666
+                               'id' => 666,
+                               'tmp_name' => 'tmp_name'
                        ]
                ];
                api_media_upload();
@@ -2164,7 +2178,7 @@ class ApiTest extends DatabaseTest
        public function testApiFormatItemsEmbededImages()
        {
                $this->assertEquals(
-                       'text ' . \Friendica\Core\System::baseUrl() . '/display/item_guid',
+                       'text ' . System::baseUrl() . '/display/item_guid',
                        api_format_items_embeded_images(['guid' => 'item_guid'], 'text data:image/foo')
                );
        }
@@ -2337,7 +2351,9 @@ class ApiTest extends DatabaseTest
                                'coord' => '5 7',
                                'body' => '',
                                'verb' => '',
-                               'author-id' => 42,
+                               'author-id' => 43,
+                               'author-network' => Protocol::DFRN,
+                               'author-link' => 'http://localhost/profile/othercontact',
                                'plink' => '',
                        ]
                ];
@@ -2358,7 +2374,9 @@ class ApiTest extends DatabaseTest
                                'coord' => '5 7',
                                'body' => '',
                                'verb' => '',
-                               'author-id' => 42,
+                               'author-id' => 43,
+                               'author-network' => Protocol::DFRN,
+                               'author-link' => 'http://localhost/profile/othercontact',
                                'plink' => '',
                        ]
                ];
@@ -2631,7 +2649,7 @@ class ApiTest extends DatabaseTest
                $result = api_statusnet_config('json');
                $this->assertEquals('localhost', $result['config']['site']['server']);
                $this->assertEquals('default', $result['config']['site']['theme']);
-               $this->assertEquals(\Friendica\Core\System::baseUrl() . '/images/friendica-64.png', $result['config']['site']['logo']);
+               $this->assertEquals(System::baseUrl() . '/images/friendica-64.png', $result['config']['site']['logo']);
                $this->assertTrue($result['config']['site']['fancy']);
                $this->assertEquals('en', $result['config']['site']['language']);
                $this->assertEquals('UTC', $result['config']['site']['timezone']);
@@ -3361,7 +3379,7 @@ class ApiTest extends DatabaseTest
         */
        public function testApiFriendicaRemoteauthWithCorrectUrl()
        {
-               $this->markTestIncomplete("We can't use an assertion here because of goaway().");
+               $this->markTestIncomplete("We can't use an assertion here because of App->redirect().");
                $_GET['url'] = 'url';
                $_GET['c_url'] = $this->selfUser['nurl'];
                api_friendica_remoteauth();
@@ -3373,7 +3391,7 @@ class ApiTest extends DatabaseTest
         */
        public function testApiShareAsRetweet()
        {
-               $item = ['body' => ''];
+               $item = ['body' => '', 'author-id' => 1, 'owner-id' => 1];
                $result = api_share_as_retweet($item);
                $this->assertFalse($result);
        }