diff --git a/src/TestSessionEnvironment.php b/src/TestSessionEnvironment.php index 3a15f3c..17b49ba 100644 --- a/src/TestSessionEnvironment.php +++ b/src/TestSessionEnvironment.php @@ -86,10 +86,10 @@ class TestSessionEnvironment public function init(HTTPRequest $request) { if (!$this->id) { - $request->getSession()->start(); + $request->getSession()->init(); // $_SESSION != Session::get() in some execution paths, suspect Controller->pushCurrent() // as part of the issue, easiest resolution is to use session directly for now - $this->id = (isset($_SESSION['TestSessionId'])) ? $_SESSION['TestSessionId'] : null; + $this->id = $request->getSession()->get('TestSessionId'); } } diff --git a/src/TestSessionRequestFilter.php b/src/TestSessionRequestFilter.php index fe48628..7999aaf 100644 --- a/src/TestSessionRequestFilter.php +++ b/src/TestSessionRequestFilter.php @@ -8,7 +8,6 @@ use SilverStripe\Control\Email\Mailer; use SilverStripe\Control\HTTPRequest; use SilverStripe\Control\HTTPResponse; use SilverStripe\Control\RequestFilter; -use SilverStripe\Control\Session; use SilverStripe\Core\Injector\Injector; use SilverStripe\ORM\DB; use SilverStripe\ORM\FieldType\DBDatetime; @@ -76,7 +75,7 @@ class TestSessionRequestFilter implements RequestFilter // Store PHP session $state = $this->testSessionEnvironment->getState(); - $state->session = Session::get_all(); + $state->session = $request->getSession()->getAll(); $this->testSessionEnvironment->applyState($state); } }