3 declare(strict_types=1);
34 protected function setUp(): void
42 $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock()
46 $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock()
50 $this->getMockBuilder(ilDBInterface::class)->disableAutoReturnValueGeneration()->getMock()
54 $this->getMockBuilder(ilIniFile::class)->disableOriginalConstructor()->getMock()
58 $this->getMockBuilder(\
ILIAS\Administration\Setting::class)->getMock()
74 $DIC[$name] =
static function (
$c) use ($name) {
79 public function tstBasicSessionBehaviour():
void 85 $setting = $DIC[
'ilSetting'];
86 $setting->method(
"get")->willReturnCallback(
88 if ($arg ===
'session_handling_type') {
91 if ($arg ===
'session_statistics') {
95 throw new \RuntimeException($arg);
100 $ilDB = $DIC[
'ilDB'];
101 $ilDB->method(
"update")->
102 with(
"usr_session")->willReturn(1);
104 $ilDB->method(
"quote")->withConsecutive(
108 [
"e10adc3949ba59abbe56e057f20f883e"],
110 [
"e10adc3949ba59abbe56e057f20f883e"],
111 [
"e10adc3949ba59abbe56e057f20f883e"],
115 [$this->greaterThan(time() - 100)],
116 [
"e10adc3949ba59abbe56e057f20f883e"],
119 willReturnOnConsecutiveCalls(
123 "e10adc3949ba59abbe56e057f20f883e",
124 "e10adc3949ba59abbe56e057f20f883e",
126 "e10adc3949ba59abbe56e057f20f883e",
127 "e10adc3949ba59abbe56e057f20f883e",
132 "e10adc3949ba59abbe56e057f20f883e",
135 $ilDB->expects($this->exactly(6))->method(
"numRows")->willReturn(1, 1, 1, 0, 1, 0);
138 $ilDB->method(
"query")->withConsecutive(
139 [
"SELECT 1 FROM usr_session WHERE session_id = 123456"],
140 [
"SELECT 1 FROM usr_session WHERE session_id = 123456"],
141 [
"SELECT data FROM usr_session WHERE session_id = 123456"],
142 [
'SELECT * FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
143 [
'SELECT * FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
144 [
"SELECT 1 FROM usr_session WHERE session_id = 123456"],
145 [
'SELECT data FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
146 [
'SELECT 1 FROM usr_session WHERE session_id = 123456'],
147 [
'SELECT session_id,expires FROM usr_session WHERE expires < 123456'],
148 [$this->stringStartsWith(
'SELECT 1 FROM usr_session WHERE session_id = ')],
149 [
'SELECT 1 FROM usr_session WHERE session_id = 17']
151 willReturnOnConsecutiveCalls(
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(),
161 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock(),
162 $this->getMockBuilder(ilDBStatement::class)->disableAutoReturnValueGeneration()->getMock()
164 $ilDB->expects($this->exactly(4))->method(
"fetchAssoc")->willReturn(
165 [
"data" =>
"Testdata"],
167 [
"data" =>
"Testdata"],
170 $ilDB->expects($this->exactly(1))->method(
"fetchObject")->willReturn((
object) array(
174 $ilDB->method(
"manipulate")->withConsecutive(
175 [
'DELETE FROM usr_sess_istorage WHERE session_id = 123456'],
176 [
'DELETE FROM usr_session WHERE session_id = e10adc3949ba59abbe56e057f20f883e'],
177 [
'DELETE FROM usr_session WHERE user_id = e10adc3949ba59abbe56e057f20f883e']
179 willReturnOnConsecutiveCalls(
186 ilSession::_writeData(
"123456",
"Testdata");
188 $result .=
"exists-";
191 $result .=
"write-get-";
195 $result .=
"duplicate-";
199 $result .=
"destroy-";
203 $result .=
"destroyExp-";
208 $result .=
"destroyByUser-";
210 $this->assertEquals(
"exists-write-get-duplicate-destroy-destroyExp-destroyByUser-", $result);
217 $ilUser = $DIC[
'ilUser'];
220 $this->markTestIncomplete(
221 'This test has not been implemented yet.' 229 if ($res[
"pwassist_id"] ===
"12345") {
235 if ((
int) $res[
"user_id"] === $ilUser->getId()) {
243 $result .=
"destroy-";
248 $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.
static _getData(string $a_session_id)
Get session data from table.
db_pwassist_session_destroy(string $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_read(string $pwassist_id)
db_pwassist_session_write(string $pwassist_id, int $maxlifetime, int $user_id)
static _destroy($a_session_id, ?int $a_closing_context=null, $a_expired_at=null)
Destroy session.
testPasswordAssisstanceSession()
db_pwassist_session_find(int $user_id)