ILIAS  release_7 Revision v7.30-3-g800a261c036
ilSessionTest.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
24use PHPUnit\Framework\TestCase;
25
30class ilSessionTest extends TestCase
31{
32 protected $backupGlobals = false;
33
34 protected function setUp() : void
35 {
36 include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
37 ilUnitUtil::performInitialisation();
38 }
39
43 public function testBasicSessionBehaviour()
44 {
45 global $DIC;
46
47 $ilUser = $DIC['ilUser'];
48
49 include_once("./Services/Authentication/classes/class.ilSession.php");
50 $result = "";
51 ilSession::_writeData("123456", "Testdata");
52 if (ilSession::_exists("123456")) {
53 $result .= "exists-";
54 }
55 if (ilSession::_getData("123456") == "Testdata") {
56 $result .= "write-get-";
57 }
58 $duplicate = ilSession::_duplicate("123456");
59 if (ilSession::_getData($duplicate) == "Testdata") {
60 $result .= "duplicate-";
61 }
62 ilSession::_destroy("123456");
63 if (!ilSession::_exists("123456")) {
64 $result .= "destroy-";
65 }
67 if (ilSession::_exists($duplicate)) {
68 $result .= "destroyExp-";
69 }
70
72 if (!ilSession::_exists($duplicate)) {
73 $result .= "destroyByUser-";
74 }
75 $this->assertEquals("exists-write-get-duplicate-destroy-destroyExp-destroyByUser-", $result);
76 }
77
82 {
83 global $DIC;
84
85 $ilUser = $DIC['ilUser'];
86
87 include_once("./include/inc.pwassist_session_handler.php");
88
89 $result = "";
90
91 // write session
92 db_pwassist_session_write("12345", 60, $ilUser->getId());
93
94 // find
96 if ($res["pwassist_id"] == "12345") {
97 $result .= "find-";
98 }
99
100 // read
102 if ($res["user_id"] == $ilUser->getId()) {
103 $result .= "read-";
104 }
105
106 // destroy
109 if (!$res) {
110 $result .= "destroy-";
111 }
112
114
115 $this->assertEquals("find-read-destroy-", $result);
116 }
117}
$result
An exception for terminatinating execution or to throw for unit testing.
Class ilSessionTest @group needsInstalledILIAS.
testPasswordAssisstanceSession()
@group IL_Init
testBasicSessionBehaviour()
@group IL_Init
static _exists($a_session_id)
Check whether session exists.
static _writeData($a_session_id, $a_data)
Write session data.
static _destroyExpiredSessions()
Destroy expired sessions.
static _destroy($a_session_id, $a_closing_context=null, $a_expired_at=null)
Destroy session.
static _destroyByUserId($a_user_id)
Destroy session.
static _getData($a_session_id)
Get session data from table.
static _duplicate($a_session_id)
Duplicate session.
global $DIC
Definition: goto.php:24
$ilUser
Definition: imgupload.php:18
db_pwassist_session_destroy($pwassist_id)
destroy session
db_pwassist_session_find($user_id)
db_pwassist_session_write($pwassist_id, $maxlifetime, $user_id)
Writes serialized session data to the database.
db_pwassist_session_read($pwassist_id)
db_pwassist_session_gc()
removes all expired sessions
foreach($_POST as $key=> $value) $res