I use the FacebookBundle
to authenticate users in my Symfony2 application. However, I would like to create functional tests with phpunit which uses an authenticated user.
Moreover, I don't want to use a facebook user for this, but harcoded one.
Does anybody know how to implement this?
It's actually quite simple.
Setup security.yml
for test environment (it's a snippet from Symfony 2.0-RC3)
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
providers:
in_memory:
users:
user: { password: userpass, roles: [ 'ROLE_USER' ] }
admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
firewalls:
secured-area:
pattern: ^/demo/secured/
http_basic:
realm: "Secured Demo Area"
As you can see there is HTTP Authentication defined. So now, all you have to do is to setup a client in functional test:
$client = static::createClient(array(), array(
'PHP_AUTH_USER' => 'user',
'PHP_AUTH_PW' => 'userpass',
));
This link might be useful: http://symfony.com/doc/current/testing.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With