Questions & Feedback
Found a typo or an error?
Want to improve this document? Edit it.
Need support or have a technical question?
Post to the user mailing-list.
Master Symfony2 fundamentals
Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com
Symfony hosting done right
ServerGrove, outstanding support at the right price for your Symfony hosting needs.
servergrove.com
Discover the SensioLabs Support
Access to the SensioLabs Competency Center for an exclusive and tailor-made support on Symfony
sensiolabs.com
2.3 version
How to simulate HTTP Authentication in a Functional Test
How to simulate HTTP Authentication in a Functional Test¶
If your application needs HTTP authentication, pass the username and password
as server variables to createClient():
1 2 3 4 | $client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'pa$$word',
));
|
You can also override it on a per request basis:
1 2 3 4 | $client->request('DELETE', '/post/12', array(), array(), array(
'PHP_AUTH_USER' => 'username',
'PHP_AUTH_PW' => 'pa$$word',
));
|
When your application is using a form_login, you can simplify your tests
by allowing your test configuration to make use of HTTP authentication. This
way you can use the above to authenticate in tests, but still have your users
login via the normal form_login. The trick is to include the http_basic
key in your firewall, along with the form_login key:
- YAML
1 2 3 4 5
# app/config/config_test.yml security: firewalls: your_firewall_name: http_basic:
- XML
1 2 3 4 5 6
<!-- app/config/config_test.xml --> <security:config> <security:firewall name="your_firewall_name"> <security:http-basic /> </security:firewall> </security:config>
- PHP
1 2 3 4 5 6 7 8
// app/config/config_test.php $container->loadFromExtension('security', array( 'firewalls' => array( 'your_firewall_name' => array( 'http_basic' => array(), ), ), ));





is a trademark of Fabien Potencier. All rights reserved.