3 namespace MediaWiki\Session
;
6 * BagOStuff with utility functions for MediaWiki\\Session\\* testing
8 class TestBagOStuff
extends \CachedBagOStuff
{
10 public function __construct() {
11 parent
::__construct( new \HashBagOStuff
);
15 * @param string $id Session ID
16 * @param array $data Session data
18 public function setSessionData( $id, array $data ) {
19 $this->setSession( $id, [ 'data' => $data ] );
23 * @param string $id Session ID
24 * @param array $metadata Session metadata
26 public function setSessionMeta( $id, array $metadata ) {
27 $this->setSession( $id, [ 'metadata' => $metadata ] );
31 * @param string $id Session ID
32 * @param array $blob Session metadata and data
34 public function setSession( $id, array $blob ) {
39 $blob['metadata'] +
= [
43 'provider' => 'DummySessionProvider',
46 $this->setRawSession( $id, $blob );
50 * @param string $id Session ID
51 * @param array|mixed $blob Session metadata and data
53 public function setRawSession( $id, $blob ) {
54 $expiry = \RequestContext
::getMain()->getConfig()->get( 'ObjectCacheSessionExpiry' );
55 $this->set( $this->makeKey( 'MWSession', $id ), $blob, $expiry );
59 * @param string $id Session ID
62 public function getSession( $id ) {
63 return $this->get( $this->makeKey( 'MWSession', $id ) );
67 * @param string $id Session ID
70 public function getSessionFromBackend( $id ) {
71 return $this->backend
->get( $this->makeKey( 'MWSession', $id ) );
75 * @param string $id Session ID
77 public function deleteSession( $id ) {
78 $this->delete( $this->makeKey( 'MWSession', $id ) );