fix bridge testes

This commit is contained in:
Nicolas Le Goff
2011-12-30 00:32:17 +01:00
parent cc871662b6
commit 4c265a61bb
4 changed files with 66 additions and 51 deletions

View File

@@ -172,7 +172,7 @@ class Bridge implements ControllerProviderInterface
$app['require_connection']($account);
$elements = $account->get_api()->list_elements($type, $offset_start, $quantity);
$params = array(
'action_type' => $type
, 'adapter_action' => 'load-elements'
@@ -275,6 +275,8 @@ class Bridge implements ControllerProviderInterface
, 'destination' => $destination
, 'element_type' => $element_type
, 'action' => $action
, 'constraint_errors' => null
, 'adapter_action' => $action
, 'elements' => $elements
, 'error_message' => $app['request']->get('error')
, 'notice_message' => $app['request']->get('notice')

View File

@@ -245,7 +245,7 @@ class Bridge_Api_Youtube extends Bridge_Api_Abstract implements Bridge_Api_Inter
break;
default:
throw new Bridge_Exception_ElementUnknown('Unknown element ' . $type);
throw new Bridge_Exception_ElementUnknown('Unknown element ' . $object);
break;
}
}

View File

@@ -17,6 +17,37 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
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');
@@ -36,23 +67,12 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
}
}
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();
}
public function tearDown()
{
parent::tearDown();
self::$api->delete();
if (self::$account instanceof Bridge_Account)
self::$account->delete();
}
public function createApplication()
@@ -72,12 +92,10 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
$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());
$this->assertEquals(count($accounts) + 2, $crawler->filter('form')->count());
$this->assertTrue($this->client->getResponse()->isOk());
}
public function testLogin()
@@ -94,7 +112,6 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
$crawler = $this->client->request('GET', '/bridge/callback/apitest/');
$this->assertTrue($this->client->getResponse()->isOk());
$pageContent = $this->client->getResponse()->getContent();
$this->assertNotContains("Oups ! something went wrong !", $pageContent);
//check for errors in the crawler
$phpunit = $this;
$crawler
@@ -161,18 +178,11 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
public function testLogoutDeconnected()
{
try
{
$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);
}
catch(Exception $e)
{
exit($e);
}
}
public function testLogout()
@@ -188,19 +198,18 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
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_name());
$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->assertEquals(5, $crawler->filterXPath("//div[@class='element']")->count());
$pageContent = $this->client->getResponse()->getContent();
$this->assertNotContains("Oups ! something went wrong !", $pageContent);
self::$account->get_settings()->set("auth_token", null); //disconnected
$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_name());
$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);
@@ -214,7 +223,7 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
$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());
self::$account->get_settings()->set("auth_token", null); //disconnected
$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()
@@ -233,8 +242,7 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
$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(5, $crawler->filterXPath("//div[@class='element']")->count());
self::$account->get_settings()->set("auth_token", null); //disconnected
$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()
@@ -266,9 +274,8 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
}
catch (Exception $e)
{
}
self::$account->get_settings()->set("auth_token", null); //disconnected
}
public function testActionModifyTooManyElements()
@@ -280,7 +287,7 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
$this->assertTrue($this->client->getResponse()->isRedirect());
$this->assertContains($redirect, $this->client->getResponse()->headers->get("location"));
$this->assertContains("error=", $this->client->getResponse()->headers->get("location"));
self::$account->get_settings()->set("auth_token", null); //disconnected
$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()
@@ -288,11 +295,8 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
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"));
$pageContent = $this->client->getResponse()->getContent();
$this->assertTrue($this->client->getResponse()->isOk());
$this->assertContains("element123qcs789", $pageContent);
$this->assertNotContains("Oups ! something went wrong !", $pageContent);
self::$account->get_settings()->set("auth_token", null); //disconnected
$this->assertNotContains(self::$account->get_api()->generate_login_url(registry::get_instance(), self::$account->get_api()->get_connector()->get_name()), $this->client->getResponse()->getContent());
}
/**
@@ -306,7 +310,7 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
$crawler = $this->client->request('GET', $url, array("elements_list" => "containerudt456shn"));
$this->assertTrue($this->client->getResponse()->isOk());
$pageContent = $this->client->getResponse()->getContent();
self::$account->get_settings()->set("auth_token", null); //disconnected
$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()
@@ -314,22 +318,16 @@ class Bridge_Application extends PhraseanetWebTestCaseAuthenticatedAbstract
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());
$pageContent = $this->client->getResponse()->getContent();
$this->assertContains("containerudt456shn", $pageContent);
$this->assertNotContains("Oups ! something went wrong !", $pageContent);
self::$account->get_settings()->set("auth_token", null); //disconnected
}
public function deconnected($crawler, $pageContent)
{
$this->assertNotContains("Oups ! something went wrong !", $pageContent);
$this->assertTrue($this->client->getResponse()->isOk());
$this->assertContains("/prod/bridge/login/" . mb_strtolower(self::$account->get_api()->get_connector()->get_name()), $pageContent);
$this->assertEquals(2, $crawler->filter("form")->count());
}
}

View File

@@ -67,6 +67,21 @@ class Bridge_Api_Apitest_Containers implements Bridge_Api_ContainerInterface
{
}
public function get_category()
{
}
public function is_private()
{
}
public function get_rating()
{
}
}