Skip to content

Commit

Permalink
Tests
Browse files Browse the repository at this point in the history
  • Loading branch information
WyriHaximus committed Apr 10, 2018
1 parent cdc0292 commit 3774696
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 4 deletions.
2 changes: 0 additions & 2 deletions src/SessionCacheConfiguration.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ public function __construct(CacheConfigurationInterface $cacheConfiguration)
public function requestIsCacheable(ServerRequestInterface $request): bool
{
if (
class_exists(SessionMiddleware::class) &&
$request->getAttribute(SessionMiddleware::ATTRIBUTE_NAME) !== null &&
$request->getAttribute(SessionMiddleware::ATTRIBUTE_NAME)->isActive() === true
) {
Expand All @@ -33,7 +32,6 @@ class_exists(SessionMiddleware::class) &&
public function responseIsCacheable(ServerRequestInterface $request, ResponseInterface $response): bool
{
if (
class_exists(SessionMiddleware::class) &&
$request->getAttribute(SessionMiddleware::ATTRIBUTE_NAME) !== null &&
$request->getAttribute(SessionMiddleware::ATTRIBUTE_NAME)->isActive() === true
) {
Expand Down
53 changes: 51 additions & 2 deletions tests/SessionCacheConfigurationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,60 @@
namespace WyriHaximus\React\Tests\Http\Middleware;

use PHPUnit\Framework\TestCase;
use RingCentral\Psr7\Response;
use RingCentral\Psr7\ServerRequest;
use WyriHaximus\React\Http\Middleware\CacheConfiguration;
use WyriHaximus\React\Http\Middleware\Session;
use WyriHaximus\React\Http\Middleware\SessionCacheConfiguration;
use WyriHaximus\React\Http\Middleware\SessionId\RandomBytes;
use WyriHaximus\React\Http\Middleware\SessionMiddleware;

final class SessionCacheConfigurationTest extends TestCase
{
public function testBasics()
public function testActiveRequestSession()
{
self::assertTrue(true);
$session = new Session('', [], new RandomBytes());
$session->begin();

$request = (new ServerRequest('GET', 'https://example.com/'))->withAttribute(SessionMiddleware::ATTRIBUTE_NAME, $session);

$cacheConfiguration = new SessionCacheConfiguration(new CacheConfiguration(['/']));

self::assertFalse($cacheConfiguration->requestIsCacheable($request));
}

public function testInactiveRequestSession()
{
$session = new Session('', [], new RandomBytes());

$request = (new ServerRequest('GET', 'https://example.com/'))->withAttribute(SessionMiddleware::ATTRIBUTE_NAME, $session);

$cacheConfiguration = new SessionCacheConfiguration(new CacheConfiguration(['/']));

self::assertTrue($cacheConfiguration->requestIsCacheable($request));
}
public function testActiveResponseSession()
{
$session = new Session('', [], new RandomBytes());
$session->begin();

$request = (new ServerRequest('GET', 'https://example.com/'))->withAttribute(SessionMiddleware::ATTRIBUTE_NAME, $session);
$response = new Response();

$cacheConfiguration = new SessionCacheConfiguration(new CacheConfiguration(['/']));

self::assertFalse($cacheConfiguration->responseIsCacheable($request, $response));
}

public function testInactiveResponseSession()
{
$session = new Session('', [], new RandomBytes());

$request = (new ServerRequest('GET', 'https://example.com/'))->withAttribute(SessionMiddleware::ATTRIBUTE_NAME, $session);
$response = new Response();

$cacheConfiguration = new SessionCacheConfiguration(new CacheConfiguration(['/']));

self::assertTrue($cacheConfiguration->responseIsCacheable($request, $response));
}
}

0 comments on commit 3774696

Please sign in to comment.