@@ -506,6 +506,12 @@ def create_sdb(self):
506506 self .sdb = SessionDB (ShelveDataBase (filename = 'sdb' , flag = 'n' , writeback = True ),
507507 _token_handler , _sso_db , userinfo )
508508
509+ def _reset (self ):
510+ self .sdb .sso_db .clear ()
511+ self .sdb .sso_db .close ()
512+ self .sdb ._db .clear ()
513+ self .sdb ._db .close ()
514+
509515 def test_create_authz_session (self ):
510516 ae = create_authn_event ("uid" , "salt" )
511517 sid = self .sdb .create_authz_session (ae , AREQ , client_id = "client_id" )
@@ -522,19 +528,22 @@ def test_create_authz_session(self):
522528 "oauth_state" ,
523529 "code" ,
524530 }
531+ self ._reset ()
525532
526533 def test_create_authz_session_without_nonce (self ):
527534 ae = create_authn_event ("sub" , "salt" )
528535 sid = self .sdb .create_authz_session (ae , AREQ , client_id = "client_id" )
529536 info = self .sdb [sid ]
530537 assert info ["oauth_state" ] == "authz"
538+ self ._reset ()
531539
532540 def test_create_authz_session_with_nonce (self ):
533541 ae = create_authn_event ("sub" , "salt" )
534542 sid = self .sdb .create_authz_session (ae , AREQN , client_id = "client_id" )
535543 info = self .sdb [sid ]
536544 authz_request = info ["authn_req" ]
537545 assert authz_request ["nonce" ] == "something"
546+ self ._reset ()
538547
539548 def test_create_authz_session_with_id_token (self ):
540549 ae = create_authn_event ("sub" , "salt" )
@@ -544,6 +553,7 @@ def test_create_authz_session_with_id_token(self):
544553
545554 info = self .sdb [sid ]
546555 assert info ["id_token" ] == "id_token"
556+ self ._reset ()
547557
548558 def test_create_authz_session_with_oidreq (self ):
549559 ae = create_authn_event ("sub" , "salt" )
@@ -553,6 +563,7 @@ def test_create_authz_session_with_oidreq(self):
553563 info = self .sdb [sid ]
554564 assert "id_token" not in info
555565 assert "oidreq" in info
566+ self ._reset ()
556567
557568 def test_create_authz_session_with_sector_id (self ):
558569 ae = create_authn_event ("sub" , "salt" )
@@ -575,6 +586,7 @@ def test_create_authz_session_with_sector_id(self):
575586 info_2 = self .sdb [sid ]
576587 assert info_2 ["sub" ] != "sub"
577588 assert info_2 ["sub" ] != info_1 ["sub" ]
589+ self ._reset ()
578590
579591 def test_upgrade_to_token (self ):
580592 ae1 = create_authn_event ("uid" , "salt" )
@@ -599,6 +611,7 @@ def test_upgrade_to_token(self):
599611 # can't update again
600612 # with pytest.raises(AccessCodeUsed):
601613 print (self .sdb .upgrade_to_token (grant ))
614+ self ._reset ()
602615
603616 def test_upgrade_to_token_refresh (self ):
604617 ae1 = create_authn_event ("sub" , "salt" )
@@ -626,6 +639,7 @@ def test_upgrade_to_token_refresh(self):
626639 # You can't refresh a token using the token itself
627640 with pytest .raises (WrongTokenType ):
628641 self .sdb .refresh_token (_dict ["access_token" ])
642+ self ._reset ()
629643
630644 def test_upgrade_to_token_with_id_token_and_oidreq (self ):
631645 ae2 = create_authn_event ("another_user_id" , "salt" )
@@ -651,6 +665,7 @@ def test_upgrade_to_token_with_id_token_and_oidreq(self):
651665
652666 assert _dict ["id_token" ] == "id_token"
653667 assert isinstance (_dict ["oidreq" ], OpenIDRequest )
668+ self ._reset ()
654669
655670 def test_refresh_token (self ):
656671 ae = create_authn_event ("uid" , "salt" )
@@ -666,6 +681,7 @@ def test_refresh_token(self):
666681
667682 with pytest .raises (WrongTokenType ):
668683 self .sdb .refresh_token (dict2 ["access_token" ], AREQ ["client_id" ])
684+ self ._reset ()
669685
670686 def test_refresh_token_cleared_session (self ):
671687 ae = create_authn_event ("uid" , "salt" )
@@ -676,11 +692,12 @@ def test_refresh_token_cleared_session(self):
676692 ac1 = dict1 ["access_token" ]
677693
678694 # Purge the SessionDB
679- self .sdb ._db = {}
695+ self .sdb ._db . clear ()
680696
681697 rtoken = dict1 ["refresh_token" ]
682698 with pytest .raises (KeyError ):
683699 self .sdb .refresh_token (rtoken , AREQ ["client_id" ])
700+ self ._reset ()
684701
685702 def test_is_valid (self ):
686703 ae1 = create_authn_event ("uid" , "salt" )
@@ -705,13 +722,15 @@ def test_is_valid(self):
705722 self .sdb .is_valid ("access_token" , access_token )
706723 except KeyError :
707724 pass
725+ self ._reset ()
708726
709727 def test_valid_grant (self ):
710728 ae = create_authn_event ("another:user" , "salt" )
711729 sid = self .sdb .create_authz_session (ae , AREQ , client_id = "client_id" )
712730 grant = self .sdb [sid ]["code" ]
713731
714732 assert self .sdb .is_valid ("code" , grant )
733+ self ._reset ()
715734
716735 def test_revoke_token (self ):
717736 ae1 = create_authn_event ("uid" , "salt" )
@@ -741,6 +760,7 @@ def test_revoke_token(self):
741760 grant = self .sdb [sid ]["code" ]
742761 self .sdb .revoke_token (sid , "code" )
743762 assert not self .sdb .is_valid ("code" , grant )
763+ self ._reset ()
744764
745765 def test_sub_to_authn_event (self ):
746766 ae = create_authn_event ("sub" , "salt" , time_stamp = time .time ())
@@ -751,6 +771,7 @@ def test_sub_to_authn_event(self):
751771 sids = self .sdb .get_sids_by_sub (sub )
752772 ae = self .sdb [sids [0 ]]["authn_event" ]
753773 assert ae .valid ()
774+ self ._reset ()
754775
755776 def test_do_sub_deterministic (self ):
756777 ae = create_authn_event ("tester" , "random_value" )
@@ -789,6 +810,7 @@ def test_do_sub_deterministic(self):
789810 info2 ["sub" ]
790811 == "56e0a53d41086e7b22d78d52ee461655e9b090d50a0663d16136ea49a56c9bec"
791812 )
813+ self ._reset ()
792814
793815 def test_match_session (self ):
794816 ae1 = create_authn_event ("uid" , "salt" )
@@ -798,6 +820,7 @@ def test_match_session(self):
798820
799821 res = self .sdb .match_session ("uid" , client_id = "client_id" )
800822 assert res == sid
823+ self ._reset ()
801824
802825 def test_get_token (self ):
803826 ae1 = create_authn_event ("uid" , "salt" )
@@ -808,3 +831,4 @@ def test_get_token(self):
808831 grant = self .sdb .get_token (sid )
809832 assert self .sdb .is_valid ("code" , grant )
810833 assert self .sdb .handler .type (grant ) == "A"
834+ self ._reset ()
0 commit comments