|
|
@@ -3,7 +3,9 @@
|
|
|
namespace App\Tests\Service\ApiLegacy;
|
|
|
|
|
|
use App\Entity\Access\Access;
|
|
|
+use App\Entity\Person\Person;
|
|
|
use App\Service\ApiLegacy\ApiLegacyRequestService;
|
|
|
+use Lexik\Bundle\JWTAuthenticationBundle\Services\JWTTokenManagerInterface;
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
|
|
use Symfony\Component\Security\Core\Authentication\Token\NullToken;
|
|
|
@@ -17,11 +19,13 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
private HttpClientInterface $apiLegacyClient;
|
|
|
private Security $security;
|
|
|
+ private JWTTokenManagerInterface $jwtManager;
|
|
|
|
|
|
public function setUp(): void
|
|
|
{
|
|
|
$this->apiLegacyClient = $this->getMockBuilder(HttpClientInterface::class)->disableOriginalConstructor()->getMock();
|
|
|
$this->security = $this->getMockBuilder(Security::class)->disableOriginalConstructor()->getMock();
|
|
|
+ $this->jwtManager = $this->getMockBuilder(JWTTokenManagerInterface::class)->disableOriginalConstructor()->getMock();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -31,22 +35,27 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
$api1RequestService = $this
|
|
|
->getMockBuilder(ApiLegacyRequestService::class)
|
|
|
- ->setConstructorArgs([$this->apiLegacyClient, $this->security])
|
|
|
+ ->setConstructorArgs([$this->apiLegacyClient, $this->security, $this->jwtManager])
|
|
|
->setMethodsExcept(['request'])
|
|
|
->getMock();
|
|
|
|
|
|
+ $person = $this->getMockBuilder(Person::class)->disableOriginalConstructor()->getMock();
|
|
|
+
|
|
|
$user = $this->getMockBuilder(Access::class)->disableOriginalConstructor()->getMock();
|
|
|
$user->method('getId')->willReturn(1);
|
|
|
+ $user->method('getPerson')->willReturn($person);
|
|
|
|
|
|
$token = $this->getMockBuilder(UsernamePasswordToken::class)->disableOriginalConstructor()->getMock();
|
|
|
$token->method('getUser')->willReturn($user);
|
|
|
|
|
|
$this->security->method('getToken')->willReturn($token);
|
|
|
|
|
|
- $_REQUEST['BEARER'] = '123';
|
|
|
+ $this->jwtManager->method('create')->with($person)->willReturn('XYZ');
|
|
|
+
|
|
|
+ $_REQUEST['BEARER'] = 'XYZ';
|
|
|
$expectedHeaders = [
|
|
|
'custom' => 'foo',
|
|
|
- 'authorization' => 'BEARER 123',
|
|
|
+ 'authorization' => 'BEARER XYZ',
|
|
|
'Accept' => '*/*',
|
|
|
'Charset' => 'UTF-8',
|
|
|
'Accept-Encoding' => 'gzip, deflate, br',
|
|
|
@@ -77,7 +86,7 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
$api1RequestService = $this
|
|
|
->getMockBuilder(ApiLegacyRequestService::class)
|
|
|
- ->setConstructorArgs([$this->apiLegacyClient, $this->security])
|
|
|
+ ->setConstructorArgs([$this->apiLegacyClient, $this->security, $this->jwtManager])
|
|
|
->setMethodsExcept(['request'])
|
|
|
->getMock();
|
|
|
|
|
|
@@ -96,7 +105,7 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
$api1RequestService = $this
|
|
|
->getMockBuilder(ApiLegacyRequestService::class)
|
|
|
- ->setConstructorArgs([$this->apiLegacyClient, $this->security])
|
|
|
+ ->setConstructorArgs([$this->apiLegacyClient, $this->security, $this->jwtManager])
|
|
|
->setMethodsExcept(['request'])
|
|
|
->getMock();
|
|
|
|
|
|
@@ -117,7 +126,7 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
$api1RequestService = $this
|
|
|
->getMockBuilder(ApiLegacyRequestService::class)
|
|
|
- ->setConstructorArgs([$this->apiLegacyClient, $this->security])
|
|
|
+ ->setConstructorArgs([$this->apiLegacyClient, $this->security, $this->jwtManager])
|
|
|
->setMethodsExcept(['request'])
|
|
|
->getMock();
|
|
|
|
|
|
@@ -139,15 +148,18 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
$api1RequestService = $this
|
|
|
->getMockBuilder(ApiLegacyRequestService::class)
|
|
|
- ->setConstructorArgs([$this->apiLegacyClient, $this->security])
|
|
|
+ ->setConstructorArgs([$this->apiLegacyClient, $this->security, $this->jwtManager])
|
|
|
->setMethodsExcept(['request'])
|
|
|
->getMock();
|
|
|
|
|
|
$user = $this->getMockBuilder(Access::class)->disableOriginalConstructor()->getMock();
|
|
|
$user->method('getId')->willReturn(10);
|
|
|
|
|
|
+ $person = $this->getMockBuilder(Person::class)->disableOriginalConstructor()->getMock();
|
|
|
+
|
|
|
$originalUser = $this->getMockBuilder(Access::class)->disableOriginalConstructor()->getMock();
|
|
|
$originalUser->method('getId')->willReturn(20);
|
|
|
+ $originalUser->method('getPerson')->willReturn($person);
|
|
|
|
|
|
$originalToken = $this->getMockBuilder(SwitchUserToken::class)->disableOriginalConstructor()->getMock();
|
|
|
$originalToken->method('getUser')->willReturn($originalUser);
|
|
|
@@ -158,6 +170,8 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
|
|
|
$this->security->method('getToken')->willReturn($token);
|
|
|
|
|
|
+ $this->jwtManager->method('create')->with($person)->willReturn('123');
|
|
|
+
|
|
|
$_REQUEST['BEARER'] = '123';
|
|
|
|
|
|
$expectedHeaders = [
|
|
|
@@ -188,7 +202,7 @@ class ApiLegacyRequestServiceTest extends TestCase
|
|
|
{
|
|
|
$api1RequestService = $this
|
|
|
->getMockBuilder(ApiLegacyRequestService::class)
|
|
|
- ->setConstructorArgs([$this->apiLegacyClient, $this->security])
|
|
|
+ ->setConstructorArgs([$this->apiLegacyClient, $this->security, $this->jwtManager])
|
|
|
->setMethodsExcept(['request'])
|
|
|
->getMock();
|
|
|
|