namespace Friendica\Test;
-use Dice\Dice;
use Friendica\App;
use Friendica\Core\Config\IConfig;
use Friendica\Core\PConfig\IPConfig;
use Friendica\Core\Protocol;
-use Friendica\Core\Session;
-use Friendica\Core\Session\ISession;
-use Friendica\Core\System;
-use Friendica\Database\Database;
-use Friendica\Database\DBA;
use Friendica\DI;
-use Friendica\Model\Contact;
use Friendica\Network\HTTPException;
-use Friendica\Test\Util\Database\StaticDatabase;
use Friendica\Util\Temporal;
use Monolog\Handler\TestHandler;
* Functions that use header() need to be tested in a separate process.
* @see https://phpunit.de/manual/5.7/en/appendixes.annotations.html#appendixes.annotations.runTestsInSeparateProcesses
*/
-class ApiTest extends DatabaseTest
+class ApiTest extends FixtureTest
{
/**
* @var TestHandler Can handle log-outputs
/** @var IConfig */
protected $config;
- /** @var Dice */
- protected $dice;
-
/**
* Create variables used by tests.
*/
{
parent::setUp();
- $this->dice = (new Dice())
- ->addRules(include __DIR__ . '/../../static/dependencies.config.php')
- ->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true])
- ->addRule(ISession::class, ['instanceOf' => Session\Memory::class, 'shared' => true, 'call' => null]);
- DI::init($this->dice);
-
- /** @var Database $dba */
- $dba = $this->dice->create(Database::class);
-
/** @var IConfig $config */
$this->config = $this->dice->create(IConfig::class);
$this->config->set('system', 'throttle_limit_month', 100);
$this->config->set('system', 'theme', 'system_theme');
- // Load the API dataset for the whole API
- $this->loadFixture(__DIR__ . '/../datasets/api.fixture.php', $dba);
/** @var App app */
$this->app = DI::app();
}
/**
- * Test the api_get_user() function with a custom Frio schema.
+ * Test the api_get_user() function with an empty Frio schema.
*
* @return void
*/
- public function testApiGetUserWithCustomFrioSchema()
+ public function testApiGetUserWithEmptyFrioSchema()
{
$pConfig = $this->dice->create(IPConfig::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', '---');
- $pConfig->set($this->selfUser['id'], 'frio', 'nav_bg', '#123456');
- $pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456');
- $pConfig->set($this->selfUser['id'], 'frio', 'background_color', '#123456');
$user = api_get_user($this->app);
$this->assertSelfUser($user);
- $this->assertEquals('123456', $user['profile_sidebar_fill_color']);
- $this->assertEquals('123456', $user['profile_link_color']);
- $this->assertEquals('123456', $user['profile_background_color']);
+ $this->assertEquals('708fa0', $user['profile_sidebar_fill_color']);
+ $this->assertEquals('6fdbe8', $user['profile_link_color']);
+ $this->assertEquals('ededed', $user['profile_background_color']);
}
/**
- * Test the api_get_user() function with an empty Frio schema.
+ * Test the api_get_user() function with a custom Frio schema.
*
* @return void
*/
- public function testApiGetUserWithEmptyFrioSchema()
+ public function testApiGetUserWithCustomFrioSchema()
{
$pConfig = $this->dice->create(IPConfig::class);
$pConfig->set($this->selfUser['id'], 'frio', 'schema', '---');
+ $pConfig->set($this->selfUser['id'], 'frio', 'nav_bg', '#123456');
+ $pConfig->set($this->selfUser['id'], 'frio', 'link_color', '#123456');
+ $pConfig->set($this->selfUser['id'], 'frio', 'background_color', '#123456');
$user = api_get_user($this->app);
$this->assertSelfUser($user);
- $this->assertEquals('708fa0', $user['profile_sidebar_fill_color']);
- $this->assertEquals('6fdbe8', $user['profile_link_color']);
- $this->assertEquals('ededed', $user['profile_background_color']);
+ $this->assertEquals('123456', $user['profile_sidebar_fill_color']);
+ $this->assertEquals('123456', $user['profile_link_color']);
+ $this->assertEquals('123456', $user['profile_background_color']);
}
/**
$this->assertEquals('0.9.7', $result['version']);
}
- /**
- * Test the api_ff_ids() function.
- *
- * @return void
- */
- public function testApiFfIds()
- {
- $result = api_ff_ids('json', Contact::FOLLOWER);
- $this->assertEquals(['id' => []], $result);
- }
-
- /**
- * Test the api_ff_ids() function with a result.
- *
- * @return void
- */
- public function testApiFfIdsWithResult()
- {
- $this->markTestIncomplete();
- }
-
- /**
- * Test the api_ff_ids() function without an authenticated user.
- *
- * @return void
- * @expectedException Friendica\Network\HTTPException\ForbiddenException
- */
- public function testApiFfIdsWithoutAuthenticatedUser()
- {
- $_SESSION['authenticated'] = false;
- api_ff_ids('json', Contact::FOLLOWER);
- }
-
- /**
- * Test the api_friends_ids() function.
- *
- * @return void
- */
- public function testApiFriendsIds()
- {
- $result = api_friends_ids('json');
- $this->assertEquals(['id' => []], $result);
- }
-
- /**
- * Test the api_followers_ids() function.
- *
- * @return void
- */
- public function testApiFollowersIds()
- {
- $result = api_followers_ids('json');
- $this->assertEquals(['id' => []], $result);
- }
-
/**
* Test the api_direct_messages_new() function.
*
*/
public function testApiDirectMessagesNewWithScreenName()
{
+ $this->app->user = ['nickname' => $this->selfUser['nick']];
$_POST['text'] = 'message_text';
$_POST['screen_name'] = $this->friendUser['nick'];
$result = api_direct_messages_new('json');
*/
public function testApiDirectMessagesNewWithTitle()
{
+ $this->app->user = ['nickname' => $this->selfUser['nick']];
$_POST['text'] = 'message_text';
$_POST['screen_name'] = $this->friendUser['nick'];
$_REQUEST['title'] = 'message_title';
*/
public function testApiDirectMessagesNewWithRss()
{
+ $this->app->user = ['nickname' => $this->selfUser['nick']];
$_POST['text'] = 'message_text';
$_POST['screen_name'] = $this->friendUser['nick'];
$result = api_direct_messages_new('rss');
$assertXml=<<<XML
<?xml version="1.0"?>
<notes>
- <note id="1" hash="" type="8" name="Reply to" url="http://localhost/display/1" photo="http://localhost/" date="2020-01-01 12:12:02" msg="A test reply from an item" uid="42" link="http://localhost/notification/1" iid="4" parent="0" seen="0" verb="" otype="item" name_cache="" msg_cache="A test reply from an item" timestamp="1577880722" date_rel="{$dateRel}" msg_html="A test reply from an item" msg_plain="A test reply from an item"/>
+ <note id="1" hash="" type="8" name="Reply to" url="http://localhost/display/1" photo="http://localhost/" date="2020-01-01 12:12:02" msg="A test reply from an item" uid="42" uri-id="" link="http://localhost/notification/1" iid="4" parent="0" parent-uri-id="" seen="0" verb="" otype="item" name_cache="Reply to" msg_cache="A test reply from an item" timestamp="1577880722" date_rel="{$dateRel}" msg_html="A test reply from an item" msg_plain="A test reply from an item"/>
</notes>
XML;
$this->assertXmlStringEqualsXmlString($assertXml, $result);