1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreStart
namespace {
$mockPHPFunctions = false;
}
namespace Magento\Framework\Session\Test\Unit {
// @codingStandardsIgnoreEnd
/**
* Test SessionManager
*
*/
class SessionManagerTest extends \PHPUnit\Framework\TestCase
{
const SESSION_USE_ONLY_COOKIES = 'session.use_only_cookies';
const SESSION_USE_ONLY_COOKIES_ENABLE = '1';
/**
* @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
*/
private $objectManager;
/**
* @var \Magento\Framework\Session\SessionManager
*/
private $sessionManager;
/**
* @var \Magento\Framework\Session\Config\ConfigInterface | \PHPUnit_Framework_MockObject_MockObject
*/
private $mockSessionConfig;
/**
* @var \Magento\Framework\Stdlib\CookieManagerInterface | \PHPUnit_Framework_MockObject_MockObject
*/
private $mockCookieManager;
/**
* @var \Magento\Framework\Stdlib\Cookie\CookieMetadataFactory | \PHPUnit_Framework_MockObject_MockObject
*/
private $mockCookieMetadataFactory;
/**
* @var bool
*/
public static $isIniSetInvoked;
protected function setUp()
{
$this->markTestSkipped('To be fixed in MAGETWO-34751');
global $mockPHPFunctions;
require_once __DIR__ . '/_files/mock_ini_set.php';
require_once __DIR__ . '/_files/mock_session_regenerate_id.php';
$mockPHPFunctions = true;
$this->mockSessionConfig = $this->getMockBuilder(\Magento\Framework\Session\Config\ConfigInterface::class)
->disableOriginalConstructor()
->getMock();
$this->mockCookieManager = $this->createMock(\Magento\Framework\Stdlib\CookieManagerInterface::class);
$this->mockCookieMetadataFactory = $this->getMockBuilder(
\Magento\Framework\Stdlib\Cookie\CookieMetadataFactory::class
)
->disableOriginalConstructor()
->getMock();
$this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
$arguments = [
'sessionConfig' => $this->mockSessionConfig,
'cookieManager' => $this->mockCookieManager,
'cookieMetadataFactory' => $this->mockCookieMetadataFactory,
];
$this->sessionManager = $this->objectManager->getObject(
\Magento\Framework\Session\SessionManager::class,
$arguments
);
}
public function testSessionManagerConstructor()
{
self::$isIniSetInvoked = false;
$this->objectManager->getObject(\Magento\Framework\Session\SessionManager::class);
$this->assertTrue(SessionManagerTest::$isIniSetInvoked);
}
}
}