wiki.techinc.nl/tests/phpunit/unit/includes/auth/AbstractAuthenticationProviderTest.php
vladshapik f4627f064c Create AuthenticationProviderTestTrait to facilitate testing of an AuthenticationProvider
Create new AuthenticationProviderTestTrait and AuthenticationProviderTestTrait
::initProvider method. Replace uses of AbstractAuthenticationProvider::init with new method in
tests.

Bug: T282781
Change-Id: Ie65c7558bfbacbf6678eea77e4a9b2cf68026456
2021-05-25 16:14:39 +03:00

55 lines
2.2 KiB
PHP

<?php
namespace MediaWiki\Tests\Unit\Auth;
use Config;
use MediaWiki\Auth\AbstractAuthenticationProvider;
use MediaWiki\Auth\AuthManager;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\User\UserNameUtils;
use Psr\Log\LoggerInterface;
use Wikimedia\TestingAccessWrapper;
/**
* @group AuthManager
* @covers \MediaWiki\Auth\AbstractAuthenticationProvider
*/
class AbstractAuthenticationProviderTest extends \MediaWikiUnitTestCase {
use AuthenticationProviderTestTrait;
public function testAbstractAuthenticationProvider() {
$provider = $this->getMockForAbstractClass( AbstractAuthenticationProvider::class );
$providerPriv = TestingAccessWrapper::newFromObject( $provider );
// test AbstractAuthenticationProvider::init
$logger = $this->getMockForAbstractClass( LoggerInterface::class );
$authManager = $this->createMock( AuthManager::class );
$hookContainer = $this->createMock( HookContainer::class );
$config = $this->getMockForAbstractClass( Config::class );
$userNameUtils = $this->createNoOpMock( UserNameUtils::class );
$this->initProvider( $provider, $config, $logger, $authManager, $hookContainer, $userNameUtils );
$this->assertSame( $logger, $providerPriv->logger );
$this->assertSame( $authManager, $providerPriv->manager );
$this->assertSame( $hookContainer, $providerPriv->hookContainer );
$this->assertSame( $config, $providerPriv->config );
$this->assertSame( $userNameUtils, $providerPriv->userNameUtils );
// test AbstractAuthenticationProvider::setLogger
$obj = $this->getMockForAbstractClass( LoggerInterface::class );
$provider->setLogger( $obj );
$this->assertSame( $obj, $providerPriv->logger, 'setLogger' );
// test AbstractAuthenticationProvider::setManager
$obj = $this->createMock( AuthManager::class );
$provider->setManager( $obj );
$this->assertSame( $obj, $providerPriv->manager, 'setManager' );
// test AbstractAuthenticationProvider::setConfig
$obj = $this->getMockForAbstractClass( Config::class );
$provider->setConfig( $obj );
$this->assertSame( $obj, $providerPriv->config, 'setConfig' );
// test AbstractAuthenticationProvider::getUniqueId
$this->assertIsString( $provider->getUniqueId(), 'getUniqueId' );
}
}