Fix BaseApi and corresponding tests
This commit is contained in:
parent
4cc36c9b2c
commit
d576bb136b
3 changed files with 40 additions and 1 deletions
|
@ -67,6 +67,8 @@ class BaseApi extends BaseModule
|
||||||
public function __construct(App $app, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, ApiResponse $response, array $server, array $parameters = [])
|
public function __construct(App $app, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, ApiResponse $response, array $server, array $parameters = [])
|
||||||
{
|
{
|
||||||
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
||||||
|
|
||||||
|
$this->app = $app;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function delete()
|
protected function delete()
|
||||||
|
|
31
tests/Util/AppDouble.php
Normal file
31
tests/Util/AppDouble.php
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Friendica\Test\Util;
|
||||||
|
|
||||||
|
use Friendica\App;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Making the App class overridable for specific situations
|
||||||
|
*
|
||||||
|
* @see App
|
||||||
|
*/
|
||||||
|
class AppDouble extends App
|
||||||
|
{
|
||||||
|
/** @var bool Marks/Overwrites if the user is currently logged in */
|
||||||
|
protected $isLoggedIn = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manually overwrite the "isLoggedIn" behavior
|
||||||
|
*
|
||||||
|
* @param bool $isLoggedIn
|
||||||
|
*/
|
||||||
|
public function setIsLoggedIn(bool $isLoggedIn)
|
||||||
|
{
|
||||||
|
$this->isLoggedIn = $isLoggedIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isLoggedIn()
|
||||||
|
{
|
||||||
|
return $this->isLoggedIn;
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,12 +21,14 @@
|
||||||
|
|
||||||
namespace Friendica\Test\src\Module\Api;
|
namespace Friendica\Test\src\Module\Api;
|
||||||
|
|
||||||
|
use Friendica\App;
|
||||||
use Friendica\Core\Addon;
|
use Friendica\Core\Addon;
|
||||||
use Friendica\Core\Hook;
|
use Friendica\Core\Hook;
|
||||||
use Friendica\Database\Database;
|
use Friendica\Database\Database;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Security\Authentication;
|
use Friendica\Security\Authentication;
|
||||||
use Friendica\Test\FixtureTest;
|
use Friendica\Test\FixtureTest;
|
||||||
|
use Friendica\Test\Util\AppDouble;
|
||||||
use Friendica\Test\Util\AuthenticationDouble;
|
use Friendica\Test\Util\AuthenticationDouble;
|
||||||
|
|
||||||
abstract class ApiTest extends FixtureTest
|
abstract class ApiTest extends FixtureTest
|
||||||
|
@ -51,9 +53,13 @@ abstract class ApiTest extends FixtureTest
|
||||||
parent::setUp(); // TODO: Change the autogenerated stub
|
parent::setUp(); // TODO: Change the autogenerated stub
|
||||||
|
|
||||||
$this->dice = $this->dice
|
$this->dice = $this->dice
|
||||||
->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true]);
|
->addRule(Authentication::class, ['instanceOf' => AuthenticationDouble::class, 'shared' => true])
|
||||||
|
->addRule(App::class, ['instanceOf' => AppDouble::class, 'shared' => true]);
|
||||||
DI::init($this->dice);
|
DI::init($this->dice);
|
||||||
|
|
||||||
|
// Manual overwrite for API testrs :-)
|
||||||
|
DI::app()->setIsLoggedIn(true);
|
||||||
|
|
||||||
$this->installAuthTest();
|
$this->installAuthTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue