session: Add debug message for the used store class
[lhc/web/wiklou.git] / tests / phpunit / includes / session / SessionManagerTest.php
index e042f76..3b4009e 100644 (file)
@@ -34,7 +34,9 @@ class SessionManagerTest extends MediaWikiTestCase {
                        ]
                ] );
                $this->logger = new \TestLogger( false, function ( $m ) {
-                       return substr( $m, 0, 15 ) === 'SessionBackend ' ? null : $m;
+                       return ( strpos( $m, 'SessionBackend ' ) === 0
+                               || strpos( $m, 'SessionManager using store ' ) === 0
+                       ) ? null : $m;
                } );
                $this->store = new TestBagOStuff();
 
@@ -82,6 +84,7 @@ class SessionManagerTest extends MediaWikiTestCase {
                $context->setRequest( $request );
                $id = $request->getSession()->getId();
 
+               session_write_close();
                session_id( '' );
                $session = SessionManager::getGlobalSession();
                $this->assertSame( $id, $session->getId() );
@@ -258,14 +261,14 @@ class SessionManagerTest extends MediaWikiTestCase {
                try {
                        $manager->getSessionForRequest( $request );
                        $this->fail( 'Expcected exception not thrown' );
-               } catch ( \OverflowException $ex ) {
+               } catch ( SessionOverflowException $ex ) {
                        $this->assertStringStartsWith(
                                'Multiple sessions for this request tied for top priority: ',
                                $ex->getMessage()
                        );
-                       $this->assertCount( 2, $ex->sessionInfos );
-                       $this->assertContains( $request->info1, $ex->sessionInfos );
-                       $this->assertContains( $request->info2, $ex->sessionInfos );
+                       $this->assertCount( 2, $ex->getSessionInfos() );
+                       $this->assertContains( $request->info1, $ex->getSessionInfos() );
+                       $this->assertContains( $request->info2, $ex->getSessionInfos() );
                }
                $this->assertFalse( $request->unpersist1 );
                $this->assertFalse( $request->unpersist2 );
@@ -710,10 +713,10 @@ class SessionManagerTest extends MediaWikiTestCase {
                ] );
 
                $expect = [
-                       'Foo' => [],
-                       'Bar' => [ 'X', 'Bar1', 3 => 'Bar2' ],
-                       'Quux' => [ 'Quux' ],
-                       'Baz' => [],
+                       'Foo' => null,
+                       'Bar' => null,
+                       'Quux' => null,
+                       'Baz' => null,
                ];
 
                $this->assertEquals( $expect, $manager->getVaryHeaders() );