Marketplace tests update
This commit is contained in:
@@ -9,7 +9,7 @@ This module provides classes and functions for:
|
||||
|
||||
import logging
|
||||
import os
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
from fastapi import HTTPException
|
||||
@@ -71,7 +71,7 @@ class AuthManager:
|
||||
def create_access_token(self, user: User) -> Dict[str, Any]:
|
||||
"""Create JWT access token for user."""
|
||||
expires_delta = timedelta(minutes=self.token_expire_minutes)
|
||||
expire = datetime.utcnow() + expires_delta
|
||||
expire = datetime.now(timezone.utc) + expires_delta
|
||||
|
||||
payload = {
|
||||
"sub": str(user.id),
|
||||
@@ -79,7 +79,7 @@ class AuthManager:
|
||||
"email": user.email,
|
||||
"role": user.role,
|
||||
"exp": expire,
|
||||
"iat": datetime.utcnow(),
|
||||
"iat": datetime.now(timezone.utc),
|
||||
}
|
||||
|
||||
token = jwt.encode(payload, self.secret_key, algorithm=self.algorithm)
|
||||
@@ -100,7 +100,7 @@ class AuthManager:
|
||||
if exp is None:
|
||||
raise InvalidTokenException("Token missing expiration")
|
||||
|
||||
if datetime.utcnow() > datetime.fromtimestamp(exp):
|
||||
if datetime.now(timezone.utc) > datetime.fromtimestamp(exp):
|
||||
raise TokenExpiredException()
|
||||
|
||||
# Extract user data
|
||||
|
||||
@@ -9,7 +9,7 @@ This module provides classes and functions for:
|
||||
|
||||
import logging
|
||||
from collections import defaultdict, deque
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from typing import Dict
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -23,7 +23,7 @@ class RateLimiter:
|
||||
# Dictionary to store request timestamps for each client
|
||||
self.clients: Dict[str, deque] = defaultdict(lambda: deque())
|
||||
self.cleanup_interval = 3600 # Clean up old entries every hour
|
||||
self.last_cleanup = datetime.utcnow()
|
||||
self.last_cleanup = datetime.now(timezone.utc)
|
||||
|
||||
def allow_request(
|
||||
self, client_id: str, max_requests: int, window_seconds: int
|
||||
@@ -33,7 +33,7 @@ class RateLimiter:
|
||||
|
||||
Uses sliding window algorithm
|
||||
"""
|
||||
now = datetime.utcnow()
|
||||
now = datetime.now(timezone.utc)
|
||||
window_start = now - timedelta(seconds=window_seconds)
|
||||
|
||||
# Clean up old entries periodically
|
||||
@@ -60,7 +60,7 @@ class RateLimiter:
|
||||
|
||||
def _cleanup_old_entries(self):
|
||||
"""Clean up old entries to prevent memory leaks."""
|
||||
cutoff_time = datetime.utcnow() - timedelta(hours=24)
|
||||
cutoff_time = datetime.now(timezone.utc) - timedelta(hours=24)
|
||||
|
||||
clients_to_remove = []
|
||||
for client_id, requests in self.clients.items():
|
||||
@@ -84,7 +84,7 @@ class RateLimiter:
|
||||
"""Get statistics for a specific client."""
|
||||
client_requests = self.clients.get(client_id, deque())
|
||||
|
||||
now = datetime.utcnow()
|
||||
now = datetime.now(timezone.utc)
|
||||
hour_ago = now - timedelta(hours=1)
|
||||
day_ago = now - timedelta(days=1)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user