diff --git a/lib/Alchemy/Phrasea/Controller/Permalink.php b/lib/Alchemy/Phrasea/Controller/Permalink.php index 28c31a5fab..5c57aafde9 100644 --- a/lib/Alchemy/Phrasea/Controller/Permalink.php +++ b/lib/Alchemy/Phrasea/Controller/Permalink.php @@ -78,7 +78,7 @@ class Permalink extends AbstractDelivery } $response = $that->deliverContent($app['request'], $record, $subdef, $watermark, $stamp, $app); - $linkToCaption = $app->path("permalinks_caption", array('sbas_id' => $sbas_id, 'record_id' => $record_id, 'token' => $token)); + $linkToCaption = $app->url("permalinks_caption", array('sbas_id' => $sbas_id, 'record_id' => $record_id, 'token' => $token)); $response->headers->set('Link', $linkToCaption); return $response; @@ -100,7 +100,7 @@ class Permalink extends AbstractDelivery $response = $that->deliverContent($app['request'], $record, $subdef, $watermark, $stamp, $app); - $linkToCaption = $app->path("permalinks_caption", array('sbas_id' => $sbas_id, 'record_id' => $record_id, 'token' => $token)); + $linkToCaption = $app->url("permalinks_caption", array('sbas_id' => $sbas_id, 'record_id' => $record_id, 'token' => $token)); $response->headers->set('Link', $linkToCaption); return $response; diff --git a/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php b/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php index c2938db8ef..501b04c31a 100644 --- a/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php +++ b/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php @@ -185,7 +185,7 @@ class ApplicationOverviewTest extends \PhraseanetWebTestCaseAuthenticatedAbstrac $this->assertEquals($value, $response->headers->get($name)); } - $this->assertEquals($response->headers->get("Link"), "/permalink/v1/1/". self::$DI['record_1']->get_record_id()."/caption/?token=".$token); + $this->assertEquals(rtrim(self::$DI['app']['phraseanet.configuration']['main']['servername'], '/') . "/permalink/v1/1/". self::$DI['record_1']->get_record_id()."/caption/?token=".$token, $response->headers->get("Link")); $this->assertEquals(200, $response->getStatusCode()); } @@ -217,7 +217,7 @@ class ApplicationOverviewTest extends \PhraseanetWebTestCaseAuthenticatedAbstrac $this->assertEquals($value, $response->headers->get($name)); } - $this->assertEquals($response->headers->get("Link"), "/permalink/v1/1/". self::$DI['record_1']->get_record_id()."/caption/?token=".$token); + $this->assertEquals(rtrim(self::$DI['app']['phraseanet.configuration']['main']['servername'], '/') . "/permalink/v1/1/". self::$DI['record_1']->get_record_id()."/caption/?token=".$token, $response->headers->get("Link")); $this->assertEquals(200, $response->getStatusCode()); } diff --git a/tests/classes/PhraseanetPHPUnitAbstract.php b/tests/classes/PhraseanetPHPUnitAbstract.php index eb40987689..9125980e9b 100644 --- a/tests/classes/PhraseanetPHPUnitAbstract.php +++ b/tests/classes/PhraseanetPHPUnitAbstract.php @@ -8,6 +8,7 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Client; use Symfony\Component\DomCrawler\Crawler; use Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface; +use Symfony\Component\Routing\RequestContext; abstract class PhraseanetPHPUnitAbstract extends WebTestCase { @@ -118,6 +119,13 @@ abstract class PhraseanetPHPUnitAbstract extends WebTestCase return new CsrfTestProvider(); }); + $app['url_generator'] = $app->share($app->extend('url_generator', function($generator, $app) { + $host = parse_url($app['phraseanet.configuration']['main']['servername'], PHP_URL_HOST); + $generator->setContext(new RequestContext('', 'GET', $host)); + + return $generator; + })); + $app['debug'] = true; $app['EM'] = $app->share($app->extend('EM', function($em) {