Skip to content
This repository was archived by the owner on Jun 12, 2021. It is now read-only.

Commit c7191b7

Browse files
committed
Test resetting db after each test.
1 parent 8231c82 commit c7191b7

File tree

2 files changed

+69
-1
lines changed

2 files changed

+69
-1
lines changed

tests/test_08_session.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)