mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 12:33:26 +00:00
V 3.5 RC 1
This commit is contained in:
202
lib/unitTest/api/oauthv2/api_oauthv2_ApplicationTest.php
Normal file
202
lib/unitTest/api/oauthv2/api_oauthv2_ApplicationTest.php
Normal file
@@ -0,0 +1,202 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../PhraseanetPHPUnitAbstract.class.inc';
|
||||
|
||||
class API_OAuth2_ApplicationTest extends PhraseanetPHPUnitAbstract
|
||||
{
|
||||
|
||||
/**
|
||||
* @var API_OAuth2_Application
|
||||
*/
|
||||
protected $object;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
$this->object = API_OAuth2_Application::create($appbox, self::$user, 'test app');
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
$this->object->delete();
|
||||
}
|
||||
|
||||
public function testLoad_from_client_id()
|
||||
{
|
||||
$client_id = $this->object->get_client_id();
|
||||
$loaded = API_OAuth2_Application::load_from_client_id(appbox::get_instance(), $client_id);
|
||||
$this->assertInstanceOf('API_OAuth2_Application', $loaded);
|
||||
$this->assertEquals($this->object, $loaded);
|
||||
}
|
||||
|
||||
public function testLoad_dev_app_by_user()
|
||||
{
|
||||
$apps = API_OAuth2_Application::load_dev_app_by_user(appbox::get_instance(), self::$user);
|
||||
$this->assertTrue(is_array($apps));
|
||||
$this->assertTrue(count($apps) > 0);
|
||||
$found = false;
|
||||
foreach ($apps as $app)
|
||||
{
|
||||
if ($app->get_id() === $this->object->get_id())
|
||||
$found = true;
|
||||
$this->assertInstanceOf('API_OAuth2_Application', $app);
|
||||
}
|
||||
|
||||
if (!$found)
|
||||
$this->fail();
|
||||
}
|
||||
|
||||
public function testLoad_app_by_user()
|
||||
{
|
||||
$apps = API_OAuth2_Application::load_app_by_user(appbox::get_instance(), self::$user);
|
||||
$this->assertTrue(is_array($apps));
|
||||
$this->assertTrue(count($apps) > 0);
|
||||
$found = false;
|
||||
|
||||
foreach ($apps as $app)
|
||||
{
|
||||
if ($app->get_id() === $this->object->get_id())
|
||||
$found = true;
|
||||
$this->assertInstanceOf('API_OAuth2_Application', $app);
|
||||
}
|
||||
|
||||
if (!$found)
|
||||
$this->fail();
|
||||
}
|
||||
|
||||
public function testGet_id()
|
||||
{
|
||||
$this->assertTrue(is_int($this->object->get_id()));
|
||||
}
|
||||
|
||||
public function testGet_creator()
|
||||
{
|
||||
$this->assertInstanceOf('User_Adapter', $this->object->get_creator());
|
||||
}
|
||||
|
||||
public function testGet_type()
|
||||
{
|
||||
$this->assertTrue(in_array($this->object->get_type(), array(API_OAuth2_Application::DESKTOP_TYPE, API_OAuth2_Application::WEB_TYPE)));
|
||||
}
|
||||
|
||||
public function testGet_nonce()
|
||||
{
|
||||
$this->assertTrue(is_string($this->object->get_nonce()));
|
||||
$this->assertTrue(strlen($this->object->get_nonce()) === 6);
|
||||
}
|
||||
|
||||
public function testSet_type()
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->object->set_type('prout');
|
||||
$this->fail();
|
||||
}
|
||||
catch (Exception_InvalidArgument $e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
$this->object->set_type(API_OAuth2_Application::WEB_TYPE);
|
||||
$this->assertEquals(API_OAuth2_Application::WEB_TYPE, $this->object->get_type());
|
||||
$this->object->set_type(API_OAuth2_Application::DESKTOP_TYPE);
|
||||
$this->assertEquals(API_OAuth2_Application::DESKTOP_TYPE, $this->object->get_type());
|
||||
$this->assertEquals(API_OAuth2_Application::NATIVE_APP_REDIRECT_URI, $this->object->get_redirect_uri());
|
||||
}
|
||||
|
||||
public function testGet_name()
|
||||
{
|
||||
$this->assertEquals('test app', $this->object->get_name());
|
||||
}
|
||||
|
||||
public function testSet_name()
|
||||
{
|
||||
$this->object->set_name('prout');
|
||||
$this->assertEquals('prout', $this->object->get_name());
|
||||
}
|
||||
|
||||
public function testGet_description()
|
||||
{
|
||||
$this->assertEquals('', $this->object->get_description());
|
||||
}
|
||||
|
||||
public function testSet_description()
|
||||
{
|
||||
$desc = 'prouti prouto prout prout';
|
||||
$this->object->set_description($desc);
|
||||
$this->assertEquals($desc, $this->object->get_description());
|
||||
}
|
||||
|
||||
public function testGet_website()
|
||||
{
|
||||
$this->assertEquals('', $this->object->get_website());
|
||||
}
|
||||
|
||||
public function testSet_website()
|
||||
{
|
||||
$site = 'http://www.example.com/';
|
||||
$this->object->set_website($site);
|
||||
$this->assertEquals($site, $this->object->get_website());
|
||||
}
|
||||
|
||||
public function testGet_created_on()
|
||||
{
|
||||
$this->assertInstanceOf('DateTime', $this->object->get_created_on());
|
||||
}
|
||||
|
||||
public function testGet_last_modified()
|
||||
{
|
||||
$this->assertInstanceOf('DateTime', $this->object->get_last_modified());
|
||||
}
|
||||
|
||||
protected function assertmd5($md5)
|
||||
{
|
||||
$this->assertTrue((count(preg_match('/[a-z0-9]{32}/', $md5)) === 1));
|
||||
}
|
||||
|
||||
public function testGet_client_id()
|
||||
{
|
||||
$this->assertMd5($this->object->get_client_id());
|
||||
}
|
||||
|
||||
public function testSet_client_id()
|
||||
{
|
||||
$client_id = md5('prouto');
|
||||
$this->object->set_client_id($client_id);
|
||||
$this->assertEquals($client_id, $this->object->get_client_id());
|
||||
$this->assertMd5($this->object->get_client_id());
|
||||
}
|
||||
|
||||
public function testGet_client_secret()
|
||||
{
|
||||
$this->assertMd5($this->object->get_client_secret());
|
||||
}
|
||||
|
||||
public function testSet_client_secret()
|
||||
{
|
||||
$client_secret = md5('prouto');
|
||||
$this->object->set_client_secret($client_secret);
|
||||
$this->assertEquals($client_secret, $this->object->get_client_secret());
|
||||
$this->assertMd5($this->object->get_client_secret());
|
||||
}
|
||||
|
||||
public function testGet_redirect_uri()
|
||||
{
|
||||
$this->assertEquals('', $this->object->get_redirect_uri());
|
||||
}
|
||||
|
||||
public function testSet_redirect_uri()
|
||||
{
|
||||
$uri = 'http://www.example.com/callback/';
|
||||
$this->object->set_redirect_uri($uri);
|
||||
$this->assertEquals($uri, $this->object->get_redirect_uri());
|
||||
}
|
||||
|
||||
public function testGet_user_account()
|
||||
{
|
||||
$this->assertInstanceOf('API_OAuth2_Account', $this->object->get_user_account(self::$user));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user