You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.1 KiB
90 lines
2.1 KiB
11 years ago
|
<?php
|
||
|
|
||
|
namespace yiiunit\extensions\authclient\provider;
|
||
|
|
||
|
use yii\authclient\provider\Collection;
|
||
|
use yii\authclient\provider\ProviderInterface;
|
||
|
use yii\authclient\provider\ProviderTrait;
|
||
|
use yii\base\Object;
|
||
|
use yiiunit\extensions\authclient\TestCase;
|
||
|
|
||
|
class CollectionTest extends TestCase
|
||
|
{
|
||
|
// Tests :
|
||
|
|
||
|
public function testSetGet()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$providers = [
|
||
|
'testProvider1' => new TestProvider(),
|
||
|
'testProvider2' => new TestProvider(),
|
||
|
];
|
||
|
$collection->setProviders($providers);
|
||
|
$this->assertEquals($providers, $collection->getProviders(), 'Unable to setup providers!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testSetGet
|
||
|
*/
|
||
|
public function testGetProviderById()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$providerId = 'testProviderId';
|
||
|
$provider = new TestProvider();
|
||
|
$providers = [
|
||
|
$providerId => $provider
|
||
|
];
|
||
|
$collection->setProviders($providers);
|
||
|
|
||
|
$this->assertEquals($provider, $collection->getProvider($providerId), 'Unable to get provider by id!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testGetProviderById
|
||
|
*/
|
||
|
public function testCreateProvider()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$providerId = 'testProviderId';
|
||
|
$providerClassName = TestProvider::className();
|
||
|
$providers = [
|
||
|
$providerId => [
|
||
|
'class' => $providerClassName
|
||
|
]
|
||
|
];
|
||
|
$collection->setProviders($providers);
|
||
|
|
||
|
$provider = $collection->getProvider($providerId);
|
||
|
$this->assertTrue(is_object($provider), 'Unable to create provider by config!');
|
||
|
$this->assertTrue(is_a($provider, $providerClassName), 'Provider has wrong class name!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testSetGet
|
||
|
*/
|
||
|
public function testHasProvider()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$providerName = 'testProviderName';
|
||
|
$providers = [
|
||
|
$providerName => [
|
||
|
'class' => 'TestProvider1'
|
||
|
],
|
||
|
];
|
||
|
$collection->setProviders($providers);
|
||
|
|
||
|
$this->assertTrue($collection->hasProvider($providerName), 'Existing provider check fails!');
|
||
|
$this->assertFalse($collection->hasProvider('unExistingProviderName'), 'Not existing provider check fails!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class TestProvider extends Object implements ProviderInterface
|
||
|
{
|
||
|
use ProviderTrait;
|
||
|
|
||
|
public function authenticate() {}
|
||
|
}
|