Merge pull request #3280 from alchemy-fr/PHRAS-2859_tests-do-corrupt-conf-bis_4.1

PHRAS-2859_tests-do-corrupt-conf-bis_4.1
This commit is contained in:
jygaulier
2019-12-18 18:51:19 +01:00
committed by GitHub
4 changed files with 52 additions and 11 deletions

View File

@@ -1281,7 +1281,7 @@ class ApiJsonTest extends ApiTestCase
$tochange = [];
foreach ($statusStructure as $n => $datas) {
$tochange[$n] = substr($record_status, ($n - 1), 1) == '0' ? '1' : '0';
$tochange[$n] = substr($record_status, $n, 1) == '0' ? '1' : '0';
}
$this->evaluateMethodNotAllowedRoute($route, ['GET', 'PUT', 'DELETE']);
@@ -1305,7 +1305,8 @@ class ApiJsonTest extends ApiTestCase
// test record_status in string
$record_status_expected = $record_status;
$pos = strpos($record_status, '1');
$bitToChange = [];
$pos = strpos($record_status, '1', 4);
$bitToChange[$pos] = '1';
$response = $this->request('POST', $route, $this->getParameters(['status' => $bitToChange]), ['HTTP_Accept' => $this->getAcceptMimeType()]);

View File

@@ -2017,6 +2017,9 @@ class LoginTest extends \PhraseanetAuthenticatedWebTestCase
{
$app = $this->getApplication();
$this->logout($app);
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 10,
'lifetime' => 60475,
@@ -2027,12 +2030,17 @@ class LoginTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertSame(200, $client->getResponse()->getStatusCode());
$this->assertEquals('hidden', $crawler->filter('input[name="remember-me"]')->attr('type'));
$app['phraseanet.configuration']['session'] = $bkp;
}
public function testLoginPageWithNoIdleSessionTime()
{
$app = $this->getApplication();
$this->logout($app);
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 0,
'lifetime' => 60475,
@@ -2043,6 +2051,8 @@ class LoginTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertSame(200, $client->getResponse()->getStatusCode());
$this->assertEquals('checkbox', $crawler->filter('input[name="remember-me"]')->attr('type'));
$app['phraseanet.configuration']['session'] = $bkp;
}
private function addUsrAuthDoctrineEntitySupport($id, $out, $participants = false)

View File

@@ -19,6 +19,9 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
{
$app = new Application(Application::ENV_TEST);
$app['dispatcher']->addSubscriber(new SessionManagerSubscriber($app));
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 0,
'lifetime' => 60475,
@@ -39,12 +42,17 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertNotNUll($client->getResponse()->headers->get('x-phraseanet-end-session'));
$this->assertNotNUll($client->getResponse()->headers->get('location'));
$this->assertRegExp('#/login\?redirect=..(?:%2F|/)prod#', $client->getResponse()->headers->get('location'));
$app['phraseanet.configuration']['session'] = $bkp;
}
public function testEndSessionXmlXhttpRequest()
{
$app = new Application(Application::ENV_TEST);
$app['dispatcher']->addSubscriber(new SessionManagerSubscriber($app));
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 0,
'lifetime' => 60475,
@@ -67,6 +75,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertTrue($client->getResponse()->isClientError());
$this->assertNotNUll($client->getResponse()->headers->get('x-phraseanet-end-session'));
$app['phraseanet.configuration']['session'] = $bkp;
}
public function testEndSessionAuthenticated()
@@ -85,6 +95,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$app['orm.em']->expects($this->exactly(4))->method('persist')->will($this->returnValue(null));
$app['orm.em']->expects($this->exactly(2))->method('flush')->will($this->returnValue(null));
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 0,
'lifetime' => 60475,
@@ -101,6 +113,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$client->request('GET', '/prod');
$this->assertTrue($client->getResponse()->isOK());
$app['phraseanet.configuration']['session'] = $bkp;
}
public function testEndSessionAuthenticatedWithOutdatedIdle()
@@ -120,6 +134,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$app['orm.em']->expects($this->any())->method('persist')->will($this->returnValue(null));
$app['orm.em']->expects($this->any())->method('flush')->will($this->returnValue(null));
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 10,
'lifetime' => 60475,
@@ -139,6 +155,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertNotNUll($client->getResponse()->headers->get('x-phraseanet-end-session'));
$this->assertNotNUll($client->getResponse()->headers->get('location'));
$this->assertRegExp('#/login\?redirect=..(?:%2F|/)prod#', $client->getResponse()->headers->get('location'));
$app['phraseanet.configuration']['session'] = $bkp;
}
public function testEndSessionAuthenticatedWithOutdatedIdleXmlHttpRequest()
@@ -158,6 +176,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$app['orm.em']->expects($this->any())->method('persist')->will($this->returnValue(null));
$app['orm.em']->expects($this->any())->method('flush')->will($this->returnValue(null));
$bkp = $app['phraseanet.configuration']['session'];
$app['phraseanet.configuration']['session'] = [
'idle' => 10,
'lifetime' => 60475,
@@ -178,6 +198,8 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertTrue($client->getResponse()->isClientError());
$this->assertNotNUll($client->getResponse()->headers->get('x-phraseanet-end-session'));
$app['phraseanet.configuration']['session'] = $bkp;
}
public function testUndefinedModule()

View File

@@ -44,14 +44,15 @@ class media_Permalink_AdapterTest extends \PhraseanetTestCase
public function testGet_url()
{
$url = rtrim(self::$DI['app']['conf']->get('servername'), '/') . '/permalink/v1/'
$url = $this->removeScheme(rtrim(self::$DI['app']['conf']->get('servername'), '/') . '/permalink/v1/'
. self::$DI['record_1']->get_sbas_id() . '/'
. self::$DI['record_1']->get_record_id()
. '/document/' . $this->object->get_label()
. '.' . pathinfo(self::$DI['record_1']->get_subdef('document')->get_file(), PATHINFO_EXTENSION)
. '?token=' . urlencode($this->object->get_token());
. '?token=' . urlencode($this->object->get_token())
);
$this->assertEquals($url, $this->object->get_url());
$this->assertEquals($url, $this->removeScheme((string)($this->object->get_url())));
}
public function testGet_Previewurl()
@@ -60,25 +61,27 @@ class media_Permalink_AdapterTest extends \PhraseanetTestCase
$subdef = self::$DI['record_1']->get_subdef('preview');
$previewPermalink = media_Permalink_Adapter::getPermalink(self::$DI['app'], $databox, $subdef);
$url = rtrim(self::$DI['app']['conf']->get('servername'), '/') . '/permalink/v1/'
$url = $this->removeScheme(rtrim(self::$DI['app']['conf']->get('servername'), '/') . '/permalink/v1/'
. self::$DI['record_1']->get_sbas_id() . '/'
. self::$DI['record_1']->get_record_id()
. '/preview/' . $previewPermalink->get_label()
. '.' . pathinfo(self::$DI['record_1']->get_subdef('preview')->get_file(), PATHINFO_EXTENSION)
. '?token=' . urlencode($previewPermalink->get_token());
. '?token=' . urlencode($previewPermalink->get_token())
);
$this->assertEquals($url, $previewPermalink->get_url());
$this->assertEquals($url, $this->removeScheme((string)($previewPermalink->get_url())));
}
public function testGet_page()
{
$url = rtrim(self::$DI['app']['conf']->get('servername'), '/') . '/permalink/v1/'
$url = $this->removeScheme(rtrim(self::$DI['app']['conf']->get('servername'), '/') . '/permalink/v1/'
. self::$DI['record_1']->get_sbas_id() . '/'
. self::$DI['record_1']->get_record_id()
. '/document/'
. '?token=' . urlencode($this->object->get_token());
. '?token=' . urlencode($this->object->get_token())
);
$this->assertEquals($url, $this->object->get_page());
$this->assertEquals($url, $this->removeScheme((string)($this->object->get_page())));
}
public function testGet_id()
@@ -113,4 +116,9 @@ class media_Permalink_AdapterTest extends \PhraseanetTestCase
{
media_Permalink_Adapter::create(self::$DI['app'], self::$DI['record_1']->get_databox(), self::$DI['record_1']->get_subdef('document'));
}
private function removeScheme($s)
{
return preg_replace('/^(http|https):\\/\\/(.*)$/', '$2', $s);
}
}