diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Api/ApiJsonTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Api/ApiJsonTest.php index c8f2cdb254..e8377a823b 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Api/ApiJsonTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Api/ApiJsonTest.php @@ -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()]); diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php index 2377df72f6..b17d31de7c 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Root/LoginTest.php @@ -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) diff --git a/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php b/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php index ad2b007005..538c780028 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php +++ b/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php @@ -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() diff --git a/tests/classes/media/Permalink/AdapterTest.php b/tests/classes/media/Permalink/AdapterTest.php index d51af25bca..dd841c38aa 100644 --- a/tests/classes/media/Permalink/AdapterTest.php +++ b/tests/classes/media/Permalink/AdapterTest.php @@ -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); + } }