में सुरक्षा प्रसंग से उपयोगकर्ता तक नहीं पहुंच सकता मैं एक API कॉल विधि है जो मूल प्रमाणीकरण और जो सुरक्षा संदर्भ से उपयोगकर्ता को पुनः प्राप्त करने की जरूरत है का उपयोग कर securized है परीक्षण करने के लिए कोशिश कर रहा हूँ।परीक्षण वातावरण
मेरे config_test.yml फ़ाइल (मैं में स्मृति डेटाबेस का उपयोग कर रहा परीक्षण env के लिए):
imports:
- { resource: config_dev.yml }
doctrine:
dbal:
driver: pdo_sqlite
path: :memory:
memory: true
orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true
framework:
test: ~
session: ~
profiler:
enabled: false
web_profiler:
toolbar: false
intercept_redirects: false
swiftmailer:
disable_delivery: true
मैं एक परीक्षण है जहाँ मैं एक ग्राहक का दृष्टांत बना लिया है इस प्रकार है:
$options = array(
'environment' => 'test',
'debug' => true,
);
$this->client = static::createClient($options);
परीक्षण की तरह दिखता है:
public function testProfileAction()
{
$mockUser = new User();
$mockUser->setUsername("user");
$mockUser->setEmail("[email protected]");
$mockUser->setName("User");
$mockUser->setSurname("User");
$mockUser->setPlainPassword("1234567890");
$this->em->persist($mockUser);
$this->em->flush();
$crawler = $this->client->request('GET', '/api/1/user/profile', array(), array(), array(
'PHP_AUTH_USER' => 'user',
'PHP_AUTH_PW' => '1234567890',
));
$this->assertEquals(200, $this->client->getResponse()->getStatusCode());
}
और विधि सुरक्षा संदर्भ से उपयोगकर्ता पाने के लिए की जरूरत है।
$user = $this->get('security.context')->getToken()->getUser();
लेकिन, परीक्षण मैं हमेशा एक 401 के बजाय एक 200 विधि में $ उपयोगकर्ता चर डम्पिंग की मिल चल हमेशा रिक्त है।
मैं Symfony 2.2 और FOSUserBundle उपयोग कर रहा हूँ।
अग्रिम धन्यवाद।