Skip to content

Commit 9185857

Browse files
committed
do not mock the RequestStack class
1 parent 16cac93 commit 9185857

File tree

2 files changed

+14
-25
lines changed

2 files changed

+14
-25
lines changed

Tests/Authentication/Token/Storage/UsageTrackingTokenStorageTest.php

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313

1414
use PHPUnit\Framework\TestCase;
1515
use Psr\Container\ContainerInterface;
16+
use Symfony\Component\DependencyInjection\ContainerBuilder;
1617
use Symfony\Component\HttpFoundation\Request;
1718
use Symfony\Component\HttpFoundation\RequestStack;
18-
use Symfony\Component\HttpFoundation\Session\SessionInterface;
19+
use Symfony\Component\HttpFoundation\Session\Session;
1920
use Symfony\Component\Security\Core\Authentication\Token\NullToken;
2021
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
2122
use Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage;
@@ -25,28 +26,14 @@ class UsageTrackingTokenStorageTest extends TestCase
2526
{
2627
public function testGetSetToken()
2728
{
28-
$sessionAccess = 0;
29-
$sessionLocator = new class(['request_stack' => function () use (&$sessionAccess) {
30-
$session = $this->createMock(SessionInterface::class);
31-
32-
$request = new Request();
33-
$request->setSession($session);
34-
$requestStack = $this->getMockBuilder(RequestStack::class)->onlyMethods(['getSession'])->getMock();
35-
$requestStack->push($request);
36-
$requestStack->expects($this->any())->method('getSession')->willReturnCallback(function () use ($session, &$sessionAccess) {
37-
++$sessionAccess;
38-
39-
$session->expects($this->once())
40-
->method('getMetadataBag');
41-
42-
return $session;
43-
});
44-
45-
return $requestStack;
46-
}]) implements ContainerInterface {
47-
use ServiceLocatorTrait;
48-
};
4929
$tokenStorage = new TokenStorage();
30+
$session = new Session();
31+
$request = new Request();
32+
$request->setSession($session);
33+
$requestStack = new RequestStack();
34+
$requestStack->push($request);
35+
$sessionLocator = new ContainerBuilder();
36+
$sessionLocator->set('request_stack', $requestStack);
5037
$trackingStorage = new UsageTrackingTokenStorage($tokenStorage, $sessionLocator);
5138

5239
$this->assertNull($trackingStorage->getToken());
@@ -55,15 +42,15 @@ public function testGetSetToken()
5542
$trackingStorage->setToken($token);
5643
$this->assertSame($token, $trackingStorage->getToken());
5744
$this->assertSame($token, $tokenStorage->getToken());
58-
$this->assertSame(0, $sessionAccess);
45+
$this->assertSame(0, $session->getUsageIndex());
5946

6047
$trackingStorage->enableUsageTracking();
6148
$this->assertSame($token, $trackingStorage->getToken());
62-
$this->assertSame(1, $sessionAccess);
49+
$this->assertSame(1, $session->getUsageIndex());
6350

6451
$trackingStorage->disableUsageTracking();
6552
$this->assertSame($token, $trackingStorage->getToken());
66-
$this->assertSame(1, $sessionAccess);
53+
$this->assertSame(1, $session->getUsageIndex());
6754
}
6855

6956
public function testWithoutMainRequest()

composer.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"psr/container": "^1.1|^2.0",
2626
"psr/cache": "^1.0|^2.0|^3.0",
2727
"symfony/cache": "^6.4|^7.0",
28+
"symfony/dependency-injection": "^6.4|^7.0",
2829
"symfony/event-dispatcher": "^6.4|^7.0",
2930
"symfony/expression-language": "^6.4|^7.0",
3031
"symfony/http-foundation": "^6.4|^7.0",
@@ -35,6 +36,7 @@
3536
"psr/log": "^1|^2|^3"
3637
},
3738
"conflict": {
39+
"symfony/dependency-injection": "<6.4",
3840
"symfony/event-dispatcher": "<6.4",
3941
"symfony/http-foundation": "<6.4",
4042
"symfony/ldap": "<6.4",

0 commit comments

Comments
 (0)