19 declare(strict_types=1);
32 protected function setUp(): void
40 $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock()
44 $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock()
48 $this->getMockBuilder(ilDBInterface::class)->disableAutoReturnValueGeneration()->getMock()
52 $this->getMockBuilder(ilIniFile::class)->disableOriginalConstructor()->getMock()
56 $this->getMockBuilder(\
ILIAS\Administration\Setting::class)->getMock()
72 $DIC[
$name] =
static function (
$c) use ($name) {
77 public function tstBasicSessionBehaviour():
void 83 $setting = $DIC[
'ilSetting'];
84 $setting->method(
"get")->willReturnCallback(
86 if ($arg ===
'session_handling_type') {
89 if ($arg ===
'session_statistics') {
93 throw new \RuntimeException($arg);
99 $ilDB->method(
"update")->
100 with(
"usr_session")->willReturn(1);
102 $ilDB->method(
"quote")->withConsecutive(
106 [
"e10adc3949ba59abbe56e057f20f883e"],
108 [
"e10adc3949ba59abbe56e057f20f883e"],
109 [
"e10adc3949ba59abbe56e057f20f883e"],
113 [$this->greaterThan(time() - 100)],
114 [
"e10adc3949ba59abbe56e057f20f883e"],
117 willReturnOnConsecutiveCalls(
121 "e10adc3949ba59abbe56e057f20f883e",
122 "e10adc3949ba59abbe56e057f20f883e",
124 "e10adc3949ba59abbe56e057f20f883e",
125 "e10adc3949ba59abbe56e057f20f883e",
130 "e10adc3949ba59abbe56e057f20f883e",
133 $ilDB->expects($this->exactly(6))->method(
"numRows")->willReturn(1, 1, 1, 0, 1, 0);
136 $ilDB->method(
"query")->withConsecutive(
137 [
"SELECT 1 FROM usr_session WHERE session_id = 123456"],
138 [
"SELECT 1 FROM usr_session WHERE session_id = 123456"],
139 [
"SELECT data FROM usr_session WHERE session_id = 123456"],
140 [
'SELECT * FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
141 [
'SELECT * FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
142 [
"SELECT 1 FROM usr_session WHERE session_id = 123456"],
143 [
'SELECT data FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
144 [
'SELECT 1 FROM usr_session WHERE session_id = 123456'],
145 [
'SELECT session_id,expires FROM usr_session WHERE expires < 123456'],
146 [$this->stringStartsWith(
'SELECT 1 FROM usr_session WHERE session_id = ')],
147 [
'SELECT 1 FROM usr_session WHERE session_id = 17']
149 willReturnOnConsecutiveCalls(
150 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
151 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
152 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
153 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
154 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
155 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
156 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
157 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
158 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
159 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
160 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock()
162 $ilDB->expects($this->exactly(4))->method(
"fetchAssoc")->willReturn(
163 [
"data" =>
"Testdata"],
165 [
"data" =>
"Testdata"],
168 $ilDB->expects($this->exactly(1))->method(
"fetchObject")->willReturn((
object) array(
172 $ilDB->method(
"manipulate")->withConsecutive(
173 [
'DELETE FROM usr_sess_istorage WHERE session_id = 123456'],
174 [
'DELETE FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
175 [
'DELETE FROM usr_session WHERE user_id = e10adc3949ba59abbe56e057f20f883e']
177 willReturnOnConsecutiveCalls(
184 ilSession::_writeData(
"123456",
"Testdata");
186 $result .=
"exists-";
189 $result .=
"write-get-";
193 $result .=
"duplicate-";
197 $result .=
"destroy-";
201 $result .=
"destroyExp-";
206 $result .=
"destroyByUser-";
208 $this->assertEquals(
"exists-write-get-duplicate-destroy-destroyExp-destroyByUser-", $result);
218 $this->markTestIncomplete(
219 'This test has not been implemented yet.' 227 if ($res[
"pwassist_id"] ===
"12345") {
233 if ((
int) $res[
"user_id"] ===
$ilUser->getId()) {
241 $result .=
"destroy-";
246 $this->assertEquals(
"find-read-destroy-", $result);
setGlobalVariable(string $name, $value)
static _duplicate(string $a_session_id)
Duplicate session.
static _destroyByUserId(int $a_user_id)
Destroy session.
db_pwassist_session_destroy($pwassist_id)
destroy session
static _getData(string $a_session_id)
Get session data from table.
db_pwassist_session_read($pwassist_id)
static _exists(string $a_session_id)
Check whether session exists.
Class ChatMainBarProvider .
const SESSION_HANDLING_FIXED
static _destroyExpiredSessions()
Destroy expired sessions.
Customizing of pimple-DIC for ILIAS.
db_pwassist_session_find($user_id)
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static _destroy($a_session_id, ?int $a_closing_context=null, $a_expired_at=null)
Destroy session.
db_pwassist_session_gc()
removes all expired sessions
testPasswordAssisstanceSession()
db_pwassist_session_write($pwassist_id, $maxlifetime, $user_id)
Writes serialized session data to the database.