44
55namespace Rancoud \Session \Test ;
66
7+ use Exception ;
78use PHPUnit \Framework \TestCase ;
89use Rancoud \Session \Database ;
910
@@ -38,7 +39,18 @@ public static function setUpBeforeClass()
3839 try {
3940 static ::$ db ->exec ($ sql );
4041 static ::$ db ->truncateTable ('sessions ' );
41- } catch (\Exception $ e ) {
42+ } catch (Exception $ e ) {
43+ var_dump (static ::$ db ->getErrors ());
44+
45+ return ;
46+ }
47+ }
48+
49+ protected function setUp ()
50+ {
51+ try {
52+ static ::$ db ->truncateTable ('sessions ' );
53+ } catch (Exception $ e ) {
4254 var_dump (static ::$ db ->getErrors ());
4355
4456 return ;
@@ -74,7 +86,7 @@ public function testWrite()
7486 $ data = 'azerty ' ;
7587 try {
7688 $ success = $ database ->write ($ sessionId , $ data );
77- } catch (\ Exception $ e ) {
89+ } catch (Exception $ e ) {
7890 var_dump (static ::$ db ->getErrors ());
7991
8092 return ;
@@ -98,7 +110,7 @@ public function testRead()
98110 try {
99111 $ database ->write ($ sessionId , $ data );
100112 $ dataOutput = $ database ->read ($ sessionId );
101- } catch (\ Exception $ e ) {
113+ } catch (Exception $ e ) {
102114 var_dump (static ::$ db ->getErrors ());
103115
104116 return ;
@@ -110,7 +122,7 @@ public function testRead()
110122 $ sessionId = '' ;
111123 try {
112124 $ dataOutput = $ database ->read ($ sessionId );
113- } catch (\ Exception $ e ) {
125+ } catch (Exception $ e ) {
114126 var_dump (static ::$ db ->getErrors ());
115127
116128 return ;
@@ -127,22 +139,31 @@ public function testDestroy()
127139 $ sessionId = 'todelete ' ;
128140 try {
129141 $ success = $ database ->destroy ($ sessionId );
130- } catch (\ Exception $ e ) {
142+ } catch (Exception $ e ) {
131143 var_dump (static ::$ db ->getErrors ());
132144
133145 return ;
134146 }
135147 static ::assertTrue ($ success );
136148
137149 $ sessionId = 'sessionId ' ;
150+ $ data = 'azerty ' ;
151+ try {
152+ $ database ->write ($ sessionId , $ data );
153+ } catch (Exception $ e ) {
154+ var_dump (static ::$ db ->getErrors ());
155+
156+ return ;
157+ }
158+
138159 $ sql = 'SELECT COUNT(id) FROM sessions WHERE id = :id ' ;
139160 $ params = ['id ' => $ sessionId ];
140161 $ isRowExist = (static ::$ db ->count ($ sql , $ params ) === 1 );
141162
142163 static ::assertTrue ($ isRowExist );
143164 try {
144165 $ success = $ database ->destroy ($ sessionId );
145- } catch (\ Exception $ e ) {
166+ } catch (Exception $ e ) {
146167 var_dump (static ::$ db ->getErrors ());
147168
148169 return ;
@@ -164,7 +185,7 @@ public function testGc()
164185
165186 try {
166187 $ success = $ database ->write ($ sessionId , $ data );
167- } catch (\ Exception $ e ) {
188+ } catch (Exception $ e ) {
168189 var_dump (static ::$ db ->getErrors ());
169190
170191 return ;
@@ -177,7 +198,7 @@ public function testGc()
177198 $ lifetime = -1000 ;
178199 try {
179200 $ success = $ database ->gc ($ lifetime );
180- } catch (\ Exception $ e ) {
201+ } catch (Exception $ e ) {
181202 var_dump (static ::$ db ->getErrors ());
182203
183204 return ;
@@ -187,4 +208,60 @@ public function testGc()
187208 $ isRowNotExist = (static ::$ db ->count ($ sql , $ params ) === 0 );
188209 static ::assertTrue ($ isRowNotExist );
189210 }
211+
212+ public function testSetUserId ()
213+ {
214+ $ database = new Database ();
215+ $ database ->setCurrentDatabase (static ::$ db );
216+
217+ $ sessionId = 'sessionId ' ;
218+ $ data = 'azerty ' ;
219+ $ userId = 5 ;
220+ $ database ->setUserId ($ userId );
221+
222+ try {
223+ $ success = $ database ->write ($ sessionId , $ data );
224+ } catch (Exception $ e ) {
225+ var_dump (static ::$ db ->getErrors ());
226+
227+ return ;
228+ }
229+ static ::assertTrue ($ success );
230+
231+ $ sql = 'SELECT id_user FROM sessions WHERE id = :id ' ;
232+ $ params = ['id ' => $ sessionId ];
233+ try {
234+ $ userIdInDatabase = static ::$ db ->selectVar ($ sql , $ params );
235+ } catch (Exception $ e ) {
236+ var_dump (static ::$ db ->getErrors ());
237+
238+ return ;
239+ }
240+ static ::assertNotNull ($ userIdInDatabase );
241+ static ::assertEquals ($ userId , $ userIdInDatabase );
242+
243+ $ userId = null ;
244+ $ database ->setUserId ($ userId );
245+
246+ try {
247+ $ success = $ database ->write ($ sessionId , $ data );
248+ } catch (Exception $ e ) {
249+ var_dump (static ::$ db ->getErrors ());
250+
251+ return ;
252+ }
253+ static ::assertTrue ($ success );
254+
255+ $ sql = 'SELECT id_user FROM sessions WHERE id = :id ' ;
256+ $ params = ['id ' => $ sessionId ];
257+ try {
258+ $ userIdInDatabase = static ::$ db ->selectVar ($ sql , $ params );
259+ } catch (Exception $ e ) {
260+ var_dump (static ::$ db ->getErrors ());
261+
262+ return ;
263+ }
264+ static ::assertNull ($ userIdInDatabase );
265+ static ::assertEquals ($ userId , $ userIdInDatabase );
266+ }
190267}
0 commit comments