@@ -132,8 +132,15 @@ def test_ldap_person_hook(build_image, network, containers):
132
132
auth_headers = {"Remote-User" : username }
133
133
assert wait_for_site (JHUB_URL , valid_status_code = 401 ) is True
134
134
with requests .Session () as session :
135
+ # Refresh cookies
136
+ session .get (JHUB_URL )
137
+
135
138
# Login
136
- login_response = session .post (JHUB_URL + "/hub/login" , headers = auth_headers )
139
+ login_response = session .post (
140
+ JHUB_URL + "/hub/login" ,
141
+ headers = auth_headers ,
142
+ params = {'_xsrf' : session .cookies ['_xsrf' ]}
143
+ )
137
144
assert login_response .status_code == 200
138
145
139
146
resp = session .get (JHUB_URL + "/hub/home" )
@@ -142,20 +149,25 @@ def test_ldap_person_hook(build_image, network, containers):
142
149
dn_str = "/telephoneNumber=23012303403/SN=My Surname/CN=" + username
143
150
# Pass LDAP DN for creation on spawn
144
151
post_dn = session .post (
145
- JHUB_URL + "/hub/user-data" , json = {"data" : {"PersonDN" : dn_str }}
152
+ JHUB_URL + "/hub/user-data" ,
153
+ json = {"data" : {"PersonDN" : dn_str }},
154
+ params = {'_xsrf' : session .cookies ['_xsrf' ]},
146
155
)
147
156
assert post_dn .status_code == 200
148
157
149
158
# Spawn notebook
150
- spawn_response = session .post (JHUB_URL + "/hub/spawn" )
159
+ spawn_response = session .post (
160
+ JHUB_URL + "/hub/spawn" ,
161
+ params = {'_xsrf' : session .cookies ['_xsrf' ]}
162
+ )
151
163
assert spawn_response .status_code == 200
152
164
153
165
container_name = "{}-{}" .format ("jupyter" , username )
154
166
wait_min = 5
155
167
if not wait_for_container (client , container_name , minutes = wait_min ):
156
168
raise RuntimeError (
157
169
"No container with name: {} appeared within: {} minutes" .format (
158
- service_name , wait_min
170
+ container_name , wait_min
159
171
)
160
172
)
161
173
@@ -191,14 +203,12 @@ def test_ldap_person_hook(build_image, network, containers):
191
203
192
204
# Shutdown the container
193
205
# Delete the spawned service
194
- delete_headers = {"Referer" : urljoin (JHUB_URL , "/hub/" ), "Origin" : JHUB_URL }
195
-
196
206
jhub_user = get_container_user (spawned_container )
197
207
assert jhub_user is not None
198
208
assert username == jhub_user
199
209
delete_url = urljoin (JHUB_URL , "/hub/api/users/{}/server" .format (jhub_user ))
200
210
201
- deleted = delete (session , delete_url , headers = delete_headers )
211
+ deleted = delete (session , delete_url )
202
212
assert deleted
203
213
204
214
# Remove the stopped container
@@ -247,8 +257,14 @@ def test_ldap_person_dynamic_attr_hook(build_image, network, containers):
247
257
auth_headers = {"Remote-User" : username }
248
258
assert wait_for_site (JHUB_URL , valid_status_code = 401 ) is True
249
259
with requests .Session () as session :
260
+ # Refresh cookies
261
+ session .get (JHUB_URL )
250
262
# Login
251
- login_response = session .post (JHUB_URL + "/hub/login" , headers = auth_headers )
263
+ login_response = session .post (
264
+ JHUB_URL + "/hub/login" ,
265
+ headers = auth_headers ,
266
+ params = {'_xsrf' : session .cookies ['_xsrf' ]},
267
+ )
252
268
assert login_response .status_code == 200
253
269
254
270
resp = session .get (JHUB_URL + "/hub/home" )
@@ -263,20 +279,25 @@ def test_ldap_person_dynamic_attr_hook(build_image, network, containers):
263
279
)
264
280
# Pass LDAP DN for creation on spawn
265
281
post_dn = session .post (
266
- JHUB_URL + "/hub/user-data" , json = {"data" : {"PersonDN" : dn_str }}
282
+ JHUB_URL + "/hub/user-data" ,
283
+ json = {"data" : {"PersonDN" : dn_str }},
284
+ params = {'_xsrf' : session .cookies ['_xsrf' ]},
267
285
)
268
286
assert post_dn .status_code == 200
269
287
270
288
# Spawn notebook
271
- spawn_response = session .post (JHUB_URL + "/hub/spawn" )
289
+ spawn_response = session .post (
290
+ JHUB_URL + "/hub/spawn"
291
+ params = {'_xsrf' : session .cookies ['_xsrf' ]}
292
+ )
272
293
assert spawn_response .status_code == 200
273
294
274
295
container_name = "{}-{}" .format ("jupyter" , username )
275
296
wait_min = 5
276
297
if not wait_for_container (client , container_name , minutes = wait_min ):
277
298
raise RuntimeError (
278
299
"No container with name: {} appeared within: {} minutes" .format (
279
- service_name , wait_min
300
+ container_name , wait_min
280
301
)
281
302
)
282
303
@@ -324,14 +345,12 @@ def test_ldap_person_dynamic_attr_hook(build_image, network, containers):
324
345
assert "Static description" == container_static_desc
325
346
326
347
# Shutdown the container
327
- delete_headers = {"Referer" : urljoin (JHUB_URL , "/hub/" ), "Origin" : JHUB_URL }
328
-
329
348
jhub_user = get_container_user (spawned_container )
330
349
assert jhub_user is not None
331
350
assert username == jhub_user
332
351
delete_url = urljoin (JHUB_URL , "/hub/api/users/{}/server" .format (jhub_user ))
333
352
334
- deleted = delete (session , delete_url , headers = delete_headers )
353
+ deleted = delete (session , delete_url )
335
354
assert deleted
336
355
337
356
# Remove the stopped container
@@ -380,8 +399,14 @@ def test_dynamic_object_spawner_attributes(build_image, network, containers):
380
399
auth_headers = {"Remote-User" : username }
381
400
assert wait_for_site (JHUB_URL , valid_status_code = 401 ) is True
382
401
with requests .Session () as session :
402
+ # Refresh cookies
403
+ session .get (JHUB_URL )
383
404
# Login
384
- login_response = session .post (JHUB_URL + "/hub/login" , headers = auth_headers )
405
+ login_response = session .post (
406
+ JHUB_URL + "/hub/login" ,
407
+ headers = auth_headers ,
408
+ params = {'_xsrf' : session .cookies ['_xsrf' ]}
409
+ )
385
410
assert login_response .status_code == 200
386
411
387
412
resp = session .get (JHUB_URL + "/hub/home" )
@@ -396,7 +421,9 @@ def test_dynamic_object_spawner_attributes(build_image, network, containers):
396
421
)
397
422
# Pass LDAP DN for creation on spawn
398
423
post_dn = session .post (
399
- JHUB_URL + "/hub/user-data" , json = {"data" : {"PersonDN" : dn_str }}
424
+ JHUB_URL + "/hub/user-data" ,
425
+ json = {"data" : {"PersonDN" : dn_str }},
426
+ params = {'_xsrf' : session .cookies ['_xsrf' ]},
400
427
)
401
428
assert post_dn .status_code == 200
402
429
@@ -409,22 +436,20 @@ def test_dynamic_object_spawner_attributes(build_image, network, containers):
409
436
if not wait_for_container (client , container_name , minutes = wait_min ):
410
437
raise RuntimeError (
411
438
"No container with name: {} appeared within: {} minutes" .format (
412
- service_name , wait_min
439
+ container_name , wait_min
413
440
)
414
441
)
415
442
416
443
spawned_container = get_container (client , container_name )
417
444
assert spawned_container is not None
418
445
419
446
# Shutdown the container
420
- delete_headers = {"Referer" : urljoin (JHUB_URL , "/hub/" ), "Origin" : JHUB_URL }
421
-
422
447
jhub_user = get_container_user (spawned_container )
423
448
assert jhub_user is not None
424
449
assert username == jhub_user
425
450
delete_url = urljoin (JHUB_URL , "/hub/api/users/{}/server" .format (jhub_user ))
426
451
427
- deleted = delete (session , delete_url , headers = delete_headers )
452
+ deleted = delete (session , delete_url )
428
453
assert deleted
429
454
430
455
# Remove the stopped container
@@ -483,13 +508,11 @@ def test_dynamic_object_spawner_attributes(build_image, network, containers):
483
508
484
509
# Shutdown the container
485
510
# Delete the spawned service
486
- delete_headers = {"Referer" : urljoin (JHUB_URL , "/hub/" ), "Origin" : JHUB_URL }
487
-
488
511
jhub_user = get_container_user (spawned_container )
489
512
assert jhub_user is not None
490
513
delete_url = urljoin (JHUB_URL , "/hub/api/users/{}/server" .format (jhub_user ))
491
514
492
- deleted = delete (session , delete_url , headers = delete_headers )
515
+ deleted = delete (session , delete_url )
493
516
assert deleted
494
517
495
518
# Remove the stopped container
0 commit comments