mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 13:33:14 +00:00
PHPUnit Cleanup
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
require_once __DIR__ . '/../../../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
|
||||
|
||||
require_once __DIR__ . '/../../../../Alchemy/Phrasea/Application/OAuth2.php';
|
||||
|
||||
use Silex\WebTestCase;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class ApplicationOauth2Test extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
|
||||
protected $client;
|
||||
protected static $need_records = false;
|
||||
|
||||
public function createApplication()
|
||||
{
|
||||
return require __DIR__ . '/../../../../Alchemy/Phrasea/Application/OAuth2.php';
|
||||
}
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->client = $this->createClient();
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
$this->feed->delete();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testRouteSlash()
|
||||
{
|
||||
$this->markTestIncomplete(
|
||||
'This test has not been implemented yet.'
|
||||
);
|
||||
}
|
||||
|
||||
}
|
@@ -1,333 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
|
||||
require_once __DIR__ . '/../../bootstrap.php';
|
||||
require_once __DIR__ . '/Bridge_datas.inc';
|
||||
|
||||
use Silex\WebTestCase;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
|
||||
public static $account = null;
|
||||
public static $api = null;
|
||||
protected $client;
|
||||
|
||||
public static function setUpBeforeClass()
|
||||
{
|
||||
parent::setUpBeforeClass();
|
||||
// try
|
||||
// {
|
||||
// self::$api = Bridge_Api::get_by_api_name(appbox::get_instance(), 'youtube');
|
||||
// }
|
||||
// catch (Bridge_Exception_ApiNotFound $e)
|
||||
// {
|
||||
// self::$api = Bridge_Api::create(appbox::get_instance(), 'youtube');
|
||||
// }
|
||||
//
|
||||
// try
|
||||
// {
|
||||
// self::$account = Bridge_Account::load_account_from_distant_id(appbox::get_instance(), self::$api, self::$user, 'kirikoo');
|
||||
// }
|
||||
// catch (Bridge_Exception_AccountNotFound $e)
|
||||
// {
|
||||
// self::$account = Bridge_Account::create(appbox::get_instance(), self::$api, self::$user, 'kirikoo', 'coucou');
|
||||
// }
|
||||
}
|
||||
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
parent::tearDownAfterClass();
|
||||
// self::$api->delete();
|
||||
// if (self::$account instanceof Bridge_Account)
|
||||
// self::$account->delete();
|
||||
}
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->client = $this->createClient();
|
||||
try
|
||||
{
|
||||
self::$api = Bridge_Api::get_by_api_name(appbox::get_instance(), 'apitest');
|
||||
}
|
||||
catch (Bridge_Exception_ApiNotFound $e)
|
||||
{
|
||||
self::$api = Bridge_Api::create(appbox::get_instance(), 'apitest');
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
self::$account = Bridge_Account::load_account_from_distant_id(appbox::get_instance(), self::$api, self::$user, 'kirikoo');
|
||||
}
|
||||
catch (Bridge_Exception_AccountNotFound $e)
|
||||
{
|
||||
self::$account = Bridge_Account::create(appbox::get_instance(), self::$api, self::$user, 'kirikoo', 'coucou');
|
||||
}
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
self::$api->delete();
|
||||
if (self::$account instanceof Bridge_Account)
|
||||
self::$account->delete();
|
||||
}
|
||||
|
||||
public function createApplication()
|
||||
{
|
||||
$app = require __DIR__ . '/../../Alchemy/Phrasea/Application/Prod.php';
|
||||
|
||||
return $app;
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo create a new basket dont take an existing one
|
||||
*/
|
||||
public function testManager()
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
$accounts = Bridge_Account::get_accounts_by_user($appbox, self::$user);
|
||||
$usr_id = self::$user->get_id();
|
||||
|
||||
$basket = $this->insertOneBasket();
|
||||
|
||||
$crawler = $this->client->request('POST', '/bridge/manager/', array('ssel' => $basket->getId()));
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
}
|
||||
|
||||
public function testLogin()
|
||||
{
|
||||
$this->client->request('GET', '/bridge/login/Apitest/');
|
||||
$test = new Bridge_Api_Apitest(registry::get_instance(), new Bridge_Api_Auth_None());
|
||||
$this->assertTrue($this->client->getResponse()->getStatusCode() == 302);
|
||||
$this->assertTrue($this->client->getResponse()->isRedirect($test->get_auth_url()));
|
||||
}
|
||||
|
||||
public function testCallBackAccountAlreadyDefined()
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
$crawler = $this->client->request('GET', '/bridge/callback/apitest/');
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
//check for errors in the crawler
|
||||
$phpunit = $this;
|
||||
$crawler
|
||||
->filter('div')
|
||||
->reduce(function ($node, $i) use ($phpunit)
|
||||
{
|
||||
if (!$node->getAttribute('class'))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
elseif ($node->getAttribute('class') == 'error_auth')
|
||||
{
|
||||
$phpunit->fail("Erreur callback");
|
||||
}
|
||||
});
|
||||
$settings = self::$account->get_settings();
|
||||
$this->assertEquals("kikoo", $settings->get("auth_token"));
|
||||
$this->assertEquals("kooki", $settings->get("refresh_token"));
|
||||
$this->assertEquals("biloute", $settings->get("access_token"));
|
||||
$settings->delete("auth_token");
|
||||
$settings->delete("refresh_token");
|
||||
$settings->delete("access_token");
|
||||
}
|
||||
|
||||
public function testCallBackAccountNoDefined()
|
||||
{
|
||||
if (self::$account instanceof Bridge_Account)
|
||||
self::$account->delete();
|
||||
$crawler = $this->client->request('GET', '/bridge/callback/apitest/');
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$phpunit = $this;
|
||||
$crawler
|
||||
->filter('div')
|
||||
->reduce(function ($node, $i) use ($phpunit)
|
||||
{
|
||||
if (!$node->getAttribute('class'))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
elseif ($node->getAttribute('class') == 'error_auth')
|
||||
{
|
||||
$phpunit->fail("Erreur callback");
|
||||
}
|
||||
});
|
||||
try
|
||||
{
|
||||
self::$account = Bridge_Account::load_account_from_distant_id(appbox::get_instance(), self::$api, self::$user, 'kirikoo');
|
||||
$settings = self::$account->get_settings();
|
||||
$this->assertEquals("kikoo", $settings->get("auth_token"));
|
||||
$this->assertEquals("kooki", $settings->get("refresh_token"));
|
||||
$this->assertEquals("biloute", $settings->get("access_token"));
|
||||
$settings->delete("auth_token");
|
||||
$settings->delete("refresh_token");
|
||||
$settings->delete("access_token");
|
||||
}
|
||||
catch (Bridge_Exception_AccountNotFound $e)
|
||||
{
|
||||
$this->fail("No account created after callback");
|
||||
}
|
||||
|
||||
if (!self::$account instanceof Bridge_Account)
|
||||
self::$account = Bridge_Account::create(appbox::get_instance(), self::$api, self::$user, 'kirikoo', 'coucou');
|
||||
}
|
||||
|
||||
public function testLogoutDeconnected()
|
||||
{
|
||||
$url = sprintf('/bridge/adapter/%d/logout/', self::$account->get_id());
|
||||
$crawler = $this->client->request('GET', $url);
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertContains("/adapter/" . self::$account->get_id() . "/logout/", $pageContent);
|
||||
$this->deconnected($crawler, $pageContent);
|
||||
}
|
||||
|
||||
public function testLogout()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf('/bridge/adapter/%d/logout/', self::$account->get_id());
|
||||
$this->client->request('GET', $url);
|
||||
$redirect = sprintf("/prod/bridge/adapter/%s/load-elements/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$this->assertTrue($this->client->getResponse()->isRedirect($redirect));
|
||||
$this->assertNull(self::$account->get_settings()->get("auth_token"));
|
||||
}
|
||||
|
||||
public function testLoadElements()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/adapter/%s/load-elements/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$account = new Bridge_Account(appbox::get_instance(), self::$api, self::$account->get_id());
|
||||
$crawler = $this->client->request('GET', $url, array("page" => 1));
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
public function testLoadElementsDisconnected()
|
||||
{
|
||||
$url = sprintf("/bridge/adapter/%s/load-elements/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$crawler = $this->client->request('GET', $url, array("page" => 1));
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertContains($url, $pageContent);
|
||||
$this->deconnected($crawler, $pageContent);
|
||||
}
|
||||
|
||||
public function testLoadRecords()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/adapter/%s/load-records/", self::$account->get_id());
|
||||
$crawler = $this->client->request('GET', $url, array("page" => 1));
|
||||
$elements = Bridge_Element::get_elements_by_account(appbox::get_instance(), self::$account);
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$this->assertEquals(sizeof($elements), $crawler->filterXPath("//table/tr")->count());
|
||||
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
public function testLoadRecordsDisconnected()
|
||||
{
|
||||
$url = sprintf("/bridge/adapter/%s/load-records/", self::$account->get_id());
|
||||
$crawler = $this->client->request('GET', $url, array("page" => 1));
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertContains($url, $pageContent);
|
||||
$this->deconnected($crawler, $pageContent);
|
||||
}
|
||||
|
||||
public function testLoadContainers()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/adapter/%s/load-containers/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_container_type());
|
||||
$crawler = $this->client->request('GET', $url, array("page" => 1));
|
||||
$elements = Bridge_Element::get_elements_by_account(appbox::get_instance(), self::$account);
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
public function testLoadContainersDisconnected()
|
||||
{
|
||||
$url = sprintf("/bridge/adapter/%s/load-containers/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_container_type());
|
||||
$crawler = $this->client->request('GET', $url, array("page" => 1));
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertContains($url, $pageContent);
|
||||
$this->deconnected($crawler, $pageContent);
|
||||
}
|
||||
|
||||
public function testActionDeconnected()
|
||||
{
|
||||
$url = sprintf("/bridge/action/%s/une action/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$crawler = $this->client->request('GET', $url);
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertContains($url, $pageContent);
|
||||
$this->deconnected($crawler, $pageContent);
|
||||
}
|
||||
|
||||
public function testActionUnknow()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/action/%s/ajjfhfjozqd/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
try
|
||||
{
|
||||
$crawler = $this->client->request('GET', $url, array("elements_list" => "1;2;3"));
|
||||
$this->fail("expected Exception here");
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function testActionModifyTooManyElements()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/action/%s/modify/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$crawler = $this->client->request('GET', $url, array("element_list" => "1_2;1_3;1_4"));
|
||||
$redirect = sprintf("/prod/bridge/adapter/%s/load-elements/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$this->assertTrue($this->client->getResponse()->isRedirect());
|
||||
$this->assertContains($redirect, $this->client->getResponse()->headers->get("location"));
|
||||
$this->assertContains("error=", $this->client->getResponse()->headers->get("location"));
|
||||
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
public function testActionModifyElement()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/action/%s/modify/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$crawler = $this->client->request('GET', $url, array("elements_list" => "element123qcs789"));
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo no templates declared for modify a container in any apis
|
||||
*/
|
||||
public function testActionModifyContainer()
|
||||
{
|
||||
$this->markTestSkipped("No templates declared for modify a container in any apis");
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/action/%s/modify/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_container_type());
|
||||
$crawler = $this->client->request('GET', $url, array("elements_list" => "containerudt456shn"));
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
$pageContent = $this->client->getResponse()->getContent();
|
||||
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
public function testActionMoveInto()
|
||||
{
|
||||
self::$account->get_settings()->set("auth_token", "somethingNotNull"); //connected
|
||||
$url = sprintf("/bridge/action/%s/moveinto/%s/", self::$account->get_id(), self::$account->get_api()->get_connector()->get_default_element_type());
|
||||
$crawler = $this->client->request('GET', $url, array("elements_list" => "containerudt456shn", 'destination' => self::$account->get_api()->get_connector()->get_default_container_type()));
|
||||
$this->assertNotContains("http://dev.phrasea.net/prod/bridge/login/youtube/", $this->client->getResponse()->getContent());
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
}
|
||||
|
||||
public function deconnected($crawler, $pageContent)
|
||||
{
|
||||
|
||||
$this->assertTrue($this->client->getResponse()->isOk());
|
||||
|
||||
$this->assertContains("prod/bridge/login/" . mb_strtolower(self::$account->get_api()->get_connector()->get_name())."/", $pageContent);
|
||||
}
|
||||
|
||||
}
|
@@ -1,184 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/../../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
|
||||
require_once __DIR__ . "/../../../../lib/vendor/Silex/autoload.php";
|
||||
/*
|
||||
* This file is part of Phraseanet
|
||||
*
|
||||
* (c) 2005-2010 Alchemy
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
require_once __DIR__ . "/../../../../lib/bootstrap.php";
|
||||
API_OAuth2_Autoloader::register();
|
||||
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Silex\WebTestCase;
|
||||
|
||||
/**
|
||||
* Test oauthv2 flow based on ietf authv2 spec
|
||||
* @link http://tools.ietf.org/html/draft-ietf-oauth-v2-18
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
class oauthv2_application_test extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @var API_OAuth2_Application
|
||||
*/
|
||||
public static $appli;
|
||||
public static $account_id;
|
||||
public static $account;
|
||||
public $oauth;
|
||||
protected $client;
|
||||
protected $queryParameters;
|
||||
|
||||
public static function setUpBeforeClass()
|
||||
{
|
||||
parent::setUpBeforeClass();
|
||||
$parameters = array(
|
||||
'type' => 'web'
|
||||
, 'name' => 'test'
|
||||
, 'description' => 'une description'
|
||||
, 'callback' => 'http://callback.com/callback/'
|
||||
, 'website' => 'http://website.com/'
|
||||
);
|
||||
|
||||
self::$appli = API_OAuth2_Application::create(appbox::get_instance(), self::$user, 'test');
|
||||
self::$appli->set_description('une description')
|
||||
->set_redirect_uri('http://callback.com/callback/')
|
||||
->set_website('http://website.com/')
|
||||
->set_type(API_OAuth2_Application::WEB_TYPE);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
parent::tearDownAfterClass();
|
||||
if (self::$appli !== false)
|
||||
self::deleteInsertedRow(appbox::get_instance(), self::$appli);
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->client = $this->createClient();
|
||||
|
||||
$this->queryParameters = array(
|
||||
"response_type" => "code",
|
||||
"client_id" => self::$appli->get_client_id(),
|
||||
"redirect_uri" => self::$appli->get_redirect_uri(),
|
||||
"scope" => "",
|
||||
"state" => "valueTest"
|
||||
);
|
||||
}
|
||||
|
||||
public static function deleteInsertedRow(appbox $appbox, API_OAuth2_Application $app)
|
||||
{
|
||||
$conn = $appbox->get_connection();
|
||||
$sql = '
|
||||
DELETE FROM api_applications
|
||||
WHERE application_id = :id
|
||||
';
|
||||
$t = array(':id' => $app->get_id());
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute($t);
|
||||
$sql = '
|
||||
DELETE FROM api_accounts
|
||||
WHERE api_account_id = :id
|
||||
';
|
||||
$acc = self::getAccount();
|
||||
$t = array(':id' => $acc->get_id());
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute($t);
|
||||
}
|
||||
|
||||
public static function getApp($rowId)
|
||||
{
|
||||
$sql = "SELECT * FROM api_applications WHERE application_id = :app_id";
|
||||
$t = array(":app_id" => $rowId);
|
||||
$appbox = appbox::get_instance();
|
||||
$conn = $appbox->get_connection();
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute($t);
|
||||
$result = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function getAccount()
|
||||
{
|
||||
$sql = "SELECT api_account_id FROM api_accounts WHERE application_id = :app_id AND usr_id = :usr_id";
|
||||
$t = array(":app_id" => self::$appli->get_id(), ":usr_id" => self::$user->get_id());
|
||||
$appbox = appbox::get_instance();
|
||||
$conn = $appbox->get_connection();
|
||||
$stmt = $conn->prepare($sql);
|
||||
$stmt->execute($t);
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
return new API_OAuth2_Account(appbox::get_instance(), $row["api_account_id"]);
|
||||
}
|
||||
|
||||
public function setQueryParameters($parameter, $value)
|
||||
{
|
||||
$this->queryParameters[$parameter] = $value;
|
||||
}
|
||||
|
||||
public function unsetQueryParameter($parameter)
|
||||
{
|
||||
if (isset($this->queryParameters[$parameter]))
|
||||
unset($this->queryParameters[$parameter]);
|
||||
}
|
||||
|
||||
public function createApplication()
|
||||
{
|
||||
return require __DIR__ . '/../../../../lib/Alchemy/Phrasea/Application/OAuth2.php';
|
||||
}
|
||||
|
||||
public function testAuthorizeRedirect()
|
||||
{
|
||||
//session off
|
||||
$apps = API_OAuth2_Application::load_authorized_app_by_user(appbox::get_instance(), self::$user);
|
||||
foreach($apps as $app)
|
||||
{
|
||||
if($app->get_client_id() == self::$appli->get_client_id())
|
||||
{
|
||||
$authorize = true;
|
||||
|
||||
$this->client->followRedirects();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function testAuthorize()
|
||||
{
|
||||
$acc = self::getAccount();
|
||||
$acc->set_revoked(true); // revoked to show form
|
||||
|
||||
$crawler = $this->client->request('GET', '/authorize', $this->queryParameters);
|
||||
$this->assertTrue($this->client->getResponse()->isSuccessful());
|
||||
$this->assertRegExp("/" . self::$appli->get_client_id() . "/", $this->client->getResponse()->getContent());
|
||||
$this->assertRegExp("/" . str_replace("/", '\/', self::$appli->get_redirect_uri()) . "/", $this->client->getResponse()->getContent());
|
||||
$this->assertRegExp("/" . $this->queryParameters["response_type"] . "/", $this->client->getResponse()->getContent());
|
||||
$this->assertRegExp("/" . $this->queryParameters["scope"] . "/", $this->client->getResponse()->getContent());
|
||||
$this->assertRegExp("/" . $this->queryParameters["state"] . "/", $this->client->getResponse()->getContent());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user