1- import asyncio
21import datetime
32
43import pytest
@@ -16,7 +15,6 @@ def json(self):
1615
1716@pytest .mark .asyncio
1817async def test_fetch_oidc_and_jwks (monkeypatch ):
19- issuer = "https://login.microsoftonline.com/common"
2018 md = {"jwks_uri" : "https://example.com/jwks" }
2119 jwks = {"keys" : []}
2220
@@ -29,22 +27,15 @@ async def fake_get(url, timeout=10):
2927
3028 class FakeClient :
3129 async def __aenter__ (self ):
32- import asyncio
33- import datetime
34-
3530 import pytest
3631
37- import reflex_azure_auth as raa
38-
39-
4032 class DummyResp :
4133 def __init__ (self , data ):
4234 self ._data = data
4335
4436 def json (self ):
4537 return self ._data
4638
47-
4839 @pytest .mark .asyncio
4940 async def test_fetch_oidc_and_jwks (monkeypatch ):
5041 issuer = "https://login.microsoftonline.com/common"
@@ -76,7 +67,6 @@ async def get(self, url, timeout=10):
7667 got_jwks = await raa ._fetch_jwks (md ["jwks_uri" ])
7768 assert got_jwks == jwks
7869
79-
8070 @pytest .mark .asyncio
8171 async def test_verify_jwt_claim_checks (monkeypatch ):
8272 # Monkeypatch network and jwt.decode to return controlled claims
@@ -92,11 +82,26 @@ async def fake_fetch_jwks(j):
9282
9383 def fake_decode (token , key_set = None ):
9484 # return a token that is valid and not expired
95- return {"iss" : issuer , "aud" : "api://default" , "exp" : int ((datetime .datetime .utcnow () + datetime .timedelta (minutes = 5 )).timestamp ())}
96-
97- monkeypatch .setattr (raa , "_fetch_oidc_metadata" , fake_fetch_oidc_metadata )
85+ return {
86+ "iss" : issuer ,
87+ "aud" : "api://default" ,
88+ "exp" : int (
89+ (
90+ datetime .datetime .utcnow ()
91+ + datetime .timedelta (minutes = 5 )
92+ ).timestamp ()
93+ ),
94+ }
95+
96+ monkeypatch .setattr (
97+ raa , "_fetch_oidc_metadata" , fake_fetch_oidc_metadata
98+ )
9899 monkeypatch .setattr (raa , "_fetch_jwks" , fake_fetch_jwks )
99- monkeypatch .setattr (raa .jwt , "decode" , lambda token , ks : fake_decode (token , ks ))
100+ monkeypatch .setattr (
101+ raa .jwt , "decode" , lambda token , ks : fake_decode (token , ks )
102+ )
100103
101- claims = await raa .verify_jwt ("dummy" , audience = "api://default" , issuer = issuer )
104+ claims = await raa .verify_jwt (
105+ "dummy" , audience = "api://default" , issuer = issuer
106+ )
102107 assert claims ["aud" ] == "api://default"
0 commit comments