@@ -390,6 +390,13 @@ def configure_user(self, request, user, created=True):
390390 user .save ()
391391 return user
392392
393+ async def aconfigure_user (self , request , user , created = True ):
394+ user .email = request .META .get ("HTTP_" + RemoteUserTest .email_header , "" )
395+ if not created :
396+ user .last_name = user .username
397+ await user .asave ()
398+ return user
399+
393400
394401class RemoteUserCustomTest (RemoteUserTest ):
395402 """
@@ -436,6 +443,32 @@ def test_unknown_user(self):
436443 newuser = User .objects .get (username = "newuser" )
437444 self .assertEqual (newuser .email , "user@example.com" )
438445
446+ async def test_known_user_async (self ):
447+ """See test_known_user."""
448+ await super ().test_known_user_async ()
449+ knownuser = await User .objects .aget (username = "knownuser" )
450+ knownuser2 = await User .objects .aget (username = "knownuser2" )
451+ self .assertEqual (knownuser .email , "" )
452+ self .assertEqual (knownuser2 .email , "" )
453+ self .assertEqual (knownuser .last_name , "knownuser" )
454+ self .assertEqual (knownuser2 .last_name , "knownuser2" )
455+
456+ async def test_unknown_user_async (self ):
457+ num_users = await User .objects .acount ()
458+ response = await self .async_client .get (
459+ "/remote_user/" ,
460+ ** {
461+ self .header : "newuser" ,
462+ self .email_header : "user@example.com" ,
463+ },
464+ )
465+ self .assertEqual (response .context ["user" ].username , "newuser" )
466+ self .assertEqual (response .context ["user" ].email , "user@example.com" )
467+ self .assertEqual (response .context ["user" ].last_name , "" )
468+ self .assertEqual (await User .objects .acount (), num_users + 1 )
469+ newuser = await User .objects .aget (username = "newuser" )
470+ self .assertEqual (newuser .email , "user@example.com" )
471+
439472
440473class CustomHeaderMiddleware (RemoteUserMiddleware ):
441474 """
0 commit comments