Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make https requests in symfony2 functional test?

Hi i am using phpunit for testing and Symfony\Bundle\FrameworkBundle\Test\WebTestCase for unit testing. So far there were no problem but now we start to use https and my tests are not working anymore.I start to get 301 response code for my every request in my tests. My question is how do i tell to Symfony\Component\HttpKernel\Client to make requests to https://localhost.com/uri instead of http://localhost.com/uri ?

EDIT

In symfony website http://symfony.com/doc/current/book/testing.html they show how to configure server parameters and there is a code peace like

$client->request(
 'GET',
 '/demo/hello/Fabien',
 array(),
 array(),
 array(
     'CONTENT_TYPE'          => 'application/json',
     'HTTP_REFERER'          => '/foo/bar',
     'HTTP_X-Requested-With' => 'XMLHttpRequest',
 )
);

I tried to give HTTPS element as mentioned in http://php.net/manual/en/reserved.variables.server.php changed my code as

$client->request('GET',
         '/'.$version.'/agencies/'.$agencyId,
         array(), 
         array(),
         array('HTTPS' => 'on')
         );

However, it is still not working?

like image 834
Omer Temel Avatar asked Nov 03 '13 20:11

Omer Temel


1 Answers

Thanks to @WouterJ i changed my client creation from :

static::createClient();

to:

static::createClient(array(),array('HTTPS' => true));

it solved my problem. It turns out that I cant give HTTP_HOST and HTTPS parameters in client ->request. It should be determined while client creation.

like image 86
Omer Temel Avatar answered Sep 20 '22 15:09

Omer Temel