Exemplo n.º 1
0
 def test_401_on_expired_token(self, mock_keys):
     with freezegun.freeze_time("2020-01-01"):
         token = auth.encode_jwt("fred_bloggs")
     with freezegun.freeze_time("2020-04-01"):
         response = client.get(AUTH_CHECK_OPTIONAL_URL,
                               headers={"Authorization": f"Bearer {token}"})
     assert response.status_code == 401
     assert response.json() == {"detail": "Invalid or expired token"}
Exemplo n.º 2
0
def test_expired_token(mock_keys):
    with freezegun.freeze_time("2020-01-01"):
        token = auth.encode_jwt("fred_bloggs")
    with freezegun.freeze_time("2020-03-31"):
        # Valid now
        auth.decode_jwt(token)
    with freezegun.freeze_time("2020-04-01"), pytest.raises(
            jwt.ExpiredSignatureError):
        # Expired now
        auth.decode_jwt(token)
Exemplo n.º 3
0
 def test_401_on_malformed_token(self, mock_keys):
     token = auth.encode_jwt("fred_bloggs")
     response = client.get(AUTH_CHECK_OPTIONAL_URL,
                           headers={"Authorization": f"Bearer {token}a"})
     assert response.status_code == 401
     assert response.json() == {"detail": "Invalid or expired token"}
Exemplo n.º 4
0
 def test_returns_none_on_bad_scheme(self, mock_keys):
     token = auth.encode_jwt("fred_bloggs")
     response = client.get(AUTH_CHECK_OPTIONAL_URL,
                           headers={"Authorization": f"Basic {token}"})
     assert response.status_code == 200
     assert response.json()["id"] is None
Exemplo n.º 5
0
 def test_returns_member(self, mock_keys):
     token = auth.encode_jwt("fred_bloggs")
     response = client.get(AUTH_CHECK_OPTIONAL_URL,
                           headers={"Authorization": f"Bearer {token}"})
     assert response.status_code == 200
     assert response.json()["id"] == "fred_bloggs"
Exemplo n.º 6
0
 def test_401_on_member_no_longer_exists(self, get_member, mock_keys):
     token = auth.encode_jwt("fred_bloggs")
     response = client.get(AUTH_CHECK_REQUIRED_URL,
                           headers={"Authorization": f"Bearer {token}"})
     assert response.status_code == 401
     assert response.json() == {"detail": "Member no longer exists"}
Exemplo n.º 7
0
 def test_401_on_bad_scheme(self, mock_keys):
     token = auth.encode_jwt("fred_bloggs")
     response = client.get(AUTH_CHECK_REQUIRED_URL,
                           headers={"Authorization": f"Basic {token}"})
     assert response.status_code == 401
     assert response.json() == {"detail": "Authorization required"}
Exemplo n.º 8
0
def test_encode_and_decode_token(mock_keys):
    token = auth.encode_jwt("fred_bloggs")
    member = auth.decode_jwt(token)
    assert member.id == "fred_bloggs"
Exemplo n.º 9
0
def test_invalid_token(mock_keys):
    token = auth.encode_jwt("fred_bloggs")
    with pytest.raises(jwt.InvalidSignatureError):
        auth.decode_jwt(token + "a")