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.
*/
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 = [
'uid' => $this->selfUser['id']
];
+ Config::set('system', 'url', 'http://localhost');
+ Config::set('system', 'hostname', 'localhost');
+ Config::set('system', 'worker_dont_fork', true);
+
// Default config
Config::set('config', 'hostname', 'localhost');
Config::set('system', 'throttle_limit_day', 100);
Config::set('system', '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
*/
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']);
{
$_FILES = [
'media' => [
- 'id' => 666
+ 'id' => 666,
+ 'tmp_name' => 'tmp_name'
]
];
api_media_upload();
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')
);
}
'body' => '',
'verb' => '',
'author-id' => 43,
- 'author-network' => \Friendica\Core\Protocol::DFRN,
+ 'author-network' => Protocol::DFRN,
'author-link' => 'http://localhost/profile/othercontact',
'plink' => '',
]
'body' => '',
'verb' => '',
'author-id' => 43,
- 'author-network' => \Friendica\Core\Protocol::DFRN,
+ 'author-network' => Protocol::DFRN,
'author-link' => 'http://localhost/profile/othercontact',
'plink' => '',
]
$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']);
*/
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();
*/
public function testApiShareAsRetweet()
{
- $item = ['body' => ''];
+ $item = ['body' => '', 'author-id' => 1, 'owner-id' => 1];
$result = api_share_as_retweet($item);
$this->assertFalse($result);
}