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.0 KiB
90 lines
2.0 KiB
11 years ago
|
<?php
|
||
|
|
||
|
namespace yiiunit\extensions\authclient;
|
||
|
|
||
|
use yii\authclient\Collection;
|
||
|
use yii\authclient\ClientInterface;
|
||
|
use yii\authclient\ClientTrait;
|
||
|
use yii\base\Object;
|
||
|
use yiiunit\extensions\authclient\TestCase;
|
||
|
|
||
|
class CollectionTest extends TestCase
|
||
|
{
|
||
|
// Tests :
|
||
|
|
||
|
public function testSetGet()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$clients = [
|
||
|
'testClient1' => new TestClient(),
|
||
|
'testClient2' => new TestClient(),
|
||
|
];
|
||
|
$collection->setClients($clients);
|
||
|
$this->assertEquals($clients, $collection->getClients(), 'Unable to setup clients!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testSetGet
|
||
|
*/
|
||
|
public function testGetProviderById()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$clientId = 'testClientId';
|
||
|
$client = new TestClient();
|
||
|
$clients = [
|
||
|
$clientId => $client
|
||
|
];
|
||
|
$collection->setClients($clients);
|
||
|
|
||
|
$this->assertEquals($client, $collection->getClient($clientId), 'Unable to get client by id!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testGetProviderById
|
||
|
*/
|
||
|
public function testCreateProvider()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$clientId = 'testClientId';
|
||
|
$clientClassName = TestClient::className();
|
||
|
$clients = [
|
||
|
$clientId => [
|
||
|
'class' => $clientClassName
|
||
|
]
|
||
|
];
|
||
|
$collection->setClients($clients);
|
||
|
|
||
|
$provider = $collection->getClient($clientId);
|
||
|
$this->assertTrue(is_object($provider), 'Unable to create client by config!');
|
||
|
$this->assertTrue(is_a($provider, $clientClassName), 'Client has wrong class name!');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @depends testSetGet
|
||
|
*/
|
||
|
public function testHasProvider()
|
||
|
{
|
||
|
$collection = new Collection();
|
||
|
|
||
|
$clientName = 'testClientName';
|
||
|
$clients = [
|
||
|
$clientName => [
|
||
|
'class' => 'TestClient1'
|
||
|
],
|
||
|
];
|
||
|
$collection->setClients($clients);
|
||
|
|
||
|
$this->assertTrue($collection->hasClient($clientName), 'Existing client check fails!');
|
||
|
$this->assertFalse($collection->hasClient('unExistingClientName'), 'Not existing client check fails!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class TestClient extends Object implements ClientInterface
|
||
|
{
|
||
|
use ClientTrait;
|
||
|
|
||
|
public function authenticate() {}
|
||
|
}
|