getProfile() public method

Gets the profile associated with the current Response.
public getProfile ( ) : Symfony\Component\HttpKernel\Profiler\Profile
return Symfony\Component\HttpKernel\Profiler\Profile A Profile instance
 /**
  *  @group failing
  * @runInSeparateProcess
  */
 public function testSecuredEventWithImpersonatingUser()
 {
     $this->client = $this->createAuthenticatedClient('admin');
     $name = 'simple.event';
     $crawler = $this->client->request('GET', "/some-secure-url/{$name}?_switch_user=user");
     $this->assertTrue($this->client->getResponse()->isSuccessful());
     $this->assertEquals('user', $this->client->getProfile()->getCollector('security')->getUser());
     $event = $this->getEventArrayFromResponse($crawler);
     $this->assertEquals($name, $event['typeId']);
     $this->assertEquals($name, $event['type']);
     $this->assertEquals($name, $event['description']);
     $this->assertEquals('admin', $event['impersonatingUser']);
     $this->assertEquals('user', $event['user']);
     $this->assertEquals('127.0.0.1', $event['ip']);
 }
 /**
  * @param \Symfony\Bundle\FrameworkBundle\Client $client
  *
  * @return string
  */
 protected function getErrorMessage(Client $client)
 {
     /** @var $profile \Symfony\Component\HttpKernel\Profiler\Profile */
     $profile = $client->getProfile();
     if (!$profile) {
         return '';
     }
     /** @var $exception \Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector */
     $exception = $profile->getCollector('exception');
     if (!$exception->hasException()) {
         return '';
     }
     $arrayTrace = array();
     foreach (array_slice($exception->getTrace(), 0, 10) as $position => $traceLine) {
         if (isset($traceLine['class'])) {
             $arrayTrace[] = sprintf('[%d] %s(%d) %s%s%s(%s)', $position, $traceLine['file'], $traceLine['line'], $traceLine['short_class'], $traceLine['type'], $traceLine['function'], isset($traceLine['args']) ? implode(', ', array_map(function ($v) {
                 switch ($v[0]) {
                     case 'array':
                         return 'array(' . count($v[1]) . ')';
                     case 'object':
                         return $v[1];
                     default:
                         return $v[1];
                 }
             }, $traceLine['args'])) : '');
         }
     }
     if (count($arrayTrace) < count($exception->getTrace())) {
         $arrayTrace[] = '...';
     }
     return $exception->getMessage() . PHP_EOL . PHP_EOL . implode(PHP_EOL, $arrayTrace) . PHP_EOL;
 }
 public function testSubmit()
 {
     $user = $this->testUtils->createUser()->getUser();
     /** @var EntityManager $entityManager */
     $entityManager = static::$kernel->getContainer()->get('doctrine.orm.entity_manager');
     $contactRepository = $entityManager->getRepository('AppBundle:Contact');
     $this->assertEmpty($contactRepository->findBy(['email' => $user->getEmail()]));
     $crawler = $this->client->request('GET', '/contact');
     $form = $crawler->filter('form')->form();
     $message = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec at ornare lacus. ' . 'Mauris semper lacus a metus malesuada, at malesuada elit condimentum. ' . 'Proin euismod tellus vitae dolor vestibulum metus.';
     $form['form[message]'] = $message;
     $this->client->enableProfiler();
     // permet de profiler les mails qui vont être envoyés
     $this->client->submit($form);
     $this->assertEquals(Response::HTTP_FOUND, $this->client->getResponse()->getStatusCode());
     $this->testUtils->clearEntities();
     // On vérifie que le contact est en bdd
     /** @var Contact[] $contacts */
     $contacts = $contactRepository->findBy(['email' => $user->getEmail()]);
     $this->assertEquals(1, count($contacts));
     $this->assertEquals($message, $contacts[0]->getMessage());
     $this->assertEquals($user->getId(), $contacts[0]->getUser()->getId());
     /** @var MessageDataCollector $mailCollector */
     $mailCollector = $this->client->getProfile()->getCollector('swiftmailer');
     // 2 mails ont du être envoyés
     $this->assertEquals(2, $mailCollector->getMessageCount());
     $collectedMessages = $mailCollector->getMessages();
     // Le 1er est l'accusé réception à l'utilisateur
     /** @var Swift_Message $accuseReception */
     $accuseReception = $collectedMessages[0];
     $this->assertEquals('Formulaire de contact', $accuseReception->getSubject());
     $this->assertEquals('*****@*****.**', key($accuseReception->getFrom()));
     $this->assertEquals('Zigotoo', current($accuseReception->getFrom()));
     $this->assertEquals($user->getEmail(), key($accuseReception->getTo()));
     $this->assertContains($message, $accuseReception->getBody(), 'L\'accusé de réception ne contient pas le message');
     // Le 2eme est une notififaction aux admins
     /** @var Swift_Message $mailAdmins */
     $mailAdmins = $collectedMessages[1];
     $this->assertEquals('Reception formulaire de contact', $mailAdmins->getSubject());
     $this->assertEquals('*****@*****.**', key($mailAdmins->getFrom()));
     $this->assertEquals(['*****@*****.**', '*****@*****.**'], array_keys($mailAdmins->getTo()));
     $this->assertContains($message, $mailAdmins->getBody());
     $this->assertContains($user->getEmail(), $mailAdmins->getBody());
 }
 /**
  * @param  Client     $client
  * @throws \Exception
  */
 public function checkEventIsCaught(Client $client)
 {
     $profile = $client->getProfile();
     if (!$profile) {
         throw new \Exception("Hey Poser! The profiler should be enabled if you want to check events");
     }
     $eventCollector = $profile->getCollector('events');
     $eventName = 'kernel.controller.PUGX\\StatsBundle\\Listener\\StatsListener::onKernelController';
     $this->assertArrayHasKey($eventName, $eventCollector->getCalledListeners(), "stats listener has been called");
 }
 private function verifyUserNotCreatedAndNoMailSent(\Symfony\Bundle\FrameworkBundle\Client $client)
 {
     $container = $client->getContainer();
     $em = $container->get('doctrine.orm.entity_manager');
     $repo = $em->getRepository('AppBundle\\Entity\\Customer');
     $customers = $repo->findBy(['email' => '*****@*****.**']);
     $this->assertSame(0, sizeof($customers));
     $mailCollector = $client->getProfile()->getCollector('swiftmailer');
     $this->assertEquals(0, $mailCollector->getMessageCount());
 }
 public function testSendAuthLink()
 {
     // Enable the profiler for the next request (it does nothing if the profiler is not available)
     static::$client->enableProfiler();
     static::$client->request('POST', '/ex-google-analytics/send-external-link', [], [], [], json_encode(['url' => 'https://syrup.keboola.com/ex-google-analytics/external-auth?token=123-456789-abcdefgh', 'user' => 'Test', 'email' => '*****@*****.**', 'message' => 'test message']));
     $response = json_decode(static::$client->getResponse()->getContent(), true);
     $this->assertArrayHasKey('status', $response);
     $this->assertEquals('ok', $response['status']);
     /** @var MessageDataCollector $mailCollector */
     $mailCollector = self::$client->getProfile()->getCollector('swiftmailer');
     // Check that an e-mail was sent
     $this->assertEquals(1, $mailCollector->getMessageCount());
     $collectedMessages = $mailCollector->getMessages();
     $message = $collectedMessages[0];
     // Asserting e-mail data
     $this->assertInstanceOf('Swift_Message', $message);
     $this->assertEquals('Keboola Google Analytics Extractor account authorization', $message->getSubject());
     $this->assertEquals('*****@*****.**', key($message->getFrom()));
     $this->assertEquals('*****@*****.**', key($message->getTo()));
 }
 /**
  * @When /^I submit a request to "(.*)"$/
  *
  * @param string $request
  */
 public function submitRequest(string $request)
 {
     list($method, $url) = $this->analyzeURLInput($request);
     if ($this->profilerEnabled) {
         $this->client->enableProfiler();
     }
     $this->client->request($method, $url, $this->requestPayload, [], $this->apiKey ? ['HTTP_X-API-KEY' => $this->apiKey] : []);
     $response = $this->client->getResponse();
     $this->response = $this->decode($response->getContent());
     $this->responseCode = $response->getStatusCode();
     if ($this->profilerEnabled) {
         $this->profiler = $this->client->getProfile();
     }
 }
 /**
  * Gets the profile associated with the current Response.
  *
  * @return HttpProfile A Profile instance
  */
 public function getProfile()
 {
     return $this->subject->getProfile();
 }