예제 #1
0
 def test_expired(self):
     """Test token expiry."""
     s = TimedSecretLinkSerializer(
         expires_at=datetime.now()-timedelta(seconds=20))
     t = s.create_token(1, dict(recid=1))
     self.assertIsNone(s.validate_token(t))
     self.assertIsNone(s.validate_token(t, expected_data=dict(recid=1)))
     self.assertRaises(SignatureExpired, s.load_token, t)
     self.assertIsNotNone(s.load_token(t, force=True))
예제 #2
0
 def test_create_validate(self):
     """Test token creation."""
     s = TimedSecretLinkSerializer(
         expires_at=datetime.now()+timedelta(days=1))
     t = s.create_token(1234, dict(recid=56789))
     data = s.validate_token(t, expected_data=dict(recid=56789))
     self.assertEqual(data['id'], 1234)
     self.assertEqual(data['data']['recid'], 56789)
     self.assertIsNone(s.validate_token(t, expected_data=dict(recid=1)))
def test_timed_secretlink_serializer_create_validate(app, db):
    """Test token creation."""
    with app.app_context():
        s = TimedSecretLinkSerializer(
            expires_at=datetime.utcnow()+timedelta(days=1))
        t = s.create_token(1234, dict(recid=56789))
        data = s.validate_token(t, expected_data=dict(recid=56789))
        assert data['id'] == 1234
        assert data['data']['recid'] == 56789
        assert s.validate_token(t, expected_data=dict(recid=1)) is None
def test_timed_secretlink_serializer_expired(app, db):
    """Test token expiry."""
    with app.app_context():
        s = TimedSecretLinkSerializer(
            expires_at=datetime.utcnow()-timedelta(seconds=20))
        t = s.create_token(1, dict(recid=1))
        assert s.validate_token(t) is None
        assert s.validate_token(t, expected_data=dict(recid=1)) is None
        with pytest.raises(SignatureExpired):
            s.load_token(t)
        assert s.load_token(t, force=True) is not None