Skip to content

Commit 53fe59d

Browse files
MAGETWO-52143: Make Redis session adapter changes backwards compatible in 2.1
1 parent d607770 commit 53fe59d

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

dev/tests/integration/testsuite/Magento/Framework/Session/SaveHandlerTest.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@
1212

1313
class SaveHandlerTest extends \PHPUnit_Framework_TestCase
1414
{
15+
/** @var string Original session.save_handler ini config value */
16+
private $originalSaveHandler;
17+
18+
public function setUp()
19+
{
20+
$this->originalSaveHandler = ini_get('session.save_handler');
21+
}
22+
1523
/**
1624
* Tests that the session handler is correctly set when object is created.
1725
*
@@ -36,7 +44,7 @@ public function testSetSaveHandler($deploymentConfigHandler, $iniHandler)
3644

3745
// Set ini configuration
3846
if ($iniHandler) {
39-
$oldIni = ini_set('session.save_handler', $iniHandler);
47+
ini_set('session.save_handler', $iniHandler);
4048
}
4149

4250
/** @var DeploymentConfig | \PHPUnit_Framework_MockObject_MockObject $deploymentConfigMock */
@@ -58,10 +66,12 @@ public function testSetSaveHandler($deploymentConfigHandler, $iniHandler)
5866
$expected,
5967
ObjectManager::getInstance()->get(ConfigInterface::class)->getOption('session.save_handler')
6068
);
69+
}
6170

62-
// Reset ini configuration
63-
if (isset($oldIni)) {
64-
ini_set('session.save_handler', $oldIni);
71+
public function tearDown()
72+
{
73+
if (isset($this->originalSaveHandler)) {
74+
ini_set('session.save_handler', $this->originalSaveHandler);
6575
}
6676
}
6777

lib/internal/Magento/Framework/Session/SaveHandler.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
namespace Magento\Framework\Session;
77

88
use Magento\Framework\App\DeploymentConfig;
9+
use Magento\Framework\App\ObjectManager;
910
use Magento\Framework\Exception\SessionException;
1011
use Magento\Framework\Session\Config\ConfigInterface;
1112

@@ -136,10 +137,8 @@ public function gc($maxLifetime)
136137
*/
137138
private function getConfig()
138139
{
139-
if (!($this->config instanceof ConfigInterface)) {
140-
return \Magento\Framework\App\ObjectManager::getInstance()->get(
141-
ConfigInterface::class
142-
);
140+
if ($this->config === null) {
141+
$this->config = ObjectManager::getInstance()->get(ConfigInterface::class);
143142
}
144143
return $this->config;
145144
}

0 commit comments

Comments
 (0)