/**
  * @inheritdoc
  */
 public function loadUserByOAuthUserResponse(UserResponseInterface $response)
 {
     try {
         $user = $this->userManager->findUser($response->getEmail());
     } catch (\Exception $e) {
         $username = $response->getEmail();
         $firstName = $response->getFirstName() != '' ? $response->getFirstName() : $response->getNickName();
         $lastName = $response->getLastName() != '' ? $response->getLastName() : '';
         try {
             $user = $this->userManager->createNewUser($username, $response->getEmail(), $firstName, $lastName);
         } catch (\Exception $e) {
             throw $e;
         }
     }
     return new User($user);
 }
 /**
  * Test manager will return the user by its login
  */
 public function testShouldGetTheUserByEmailWhenNotFoundByLogin()
 {
     $this->createUserVersion1();
     $userManager = new EzSocialLoginUserManager($this->repository);
     $user = $userManager->findUser('*****@*****.**');
     self::assertInstanceOf('\\eZ\\Publish\\Core\\Repository\\Values\\User\\User', $user);
     self::assertEquals('user', $user->login);
     self::assertEquals('*****@*****.**', $user->email);
 }