[0.6.10] - 2025-10-04
Some checks failed
Deploy quoter Microservice on push / deploy (push) Failing after 36m41s
Some checks failed
Deploy quoter Microservice on push / deploy (push) Failing after 36m41s
### 🔒 FIX: JWT Token Grace Period - **✅ Добавлен grace period для истекших токенов**: 60 секунд - Изменена логика проверки JWT `exp` в `auth.rs` - Токены принимаются в течение 60 секунд после истечения - Это даёт клиенту время автоматически обновить токен через `refreshToken()` - Логирование разделено: `info` для grace period, `warn` для полного истечения - Решает проблему "Invalid or expired token" при параллельных запросах - Формула: `if exp + 60 < current_time` → reject, иначе accept - Предотвращает race condition: upload начался до истечения, закончился после
This commit is contained in:
@@ -161,11 +161,11 @@ async fn test_quota_calculations() {
|
||||
|
||||
// Тестируем различные сценарии
|
||||
let test_cases = vec![
|
||||
(0, 1 * MB, true), // Пустая квота + 1MB = OK
|
||||
(1 * GB, 1 * MB, true), // 1GB + 1MB = OK
|
||||
(4 * GB, 1 * GB, true), // 4GB + 1GB = OK
|
||||
(0, MB, true), // Пустая квота + 1MB = OK
|
||||
(GB, MB, true), // 1GB + 1MB = OK
|
||||
(4 * GB, GB, true), // 4GB + 1GB = OK
|
||||
(4 * GB, 2 * GB, false), // 4GB + 2GB = превышение
|
||||
(5 * GB, 1 * MB, false), // 5GB + 1MB = превышение
|
||||
(5 * GB, MB, false), // 5GB + 1MB = превышение
|
||||
];
|
||||
|
||||
for (current_quota, file_size, should_allow) in test_cases {
|
||||
@@ -410,7 +410,7 @@ async fn test_image_format_detection() {
|
||||
async fn test_find_closest_width() {
|
||||
// Мокаем функцию find_closest_width для тестов
|
||||
fn find_closest_width(requested: u32) -> u32 {
|
||||
let available_widths = vec![100, 150, 200, 300, 400, 500, 600, 800];
|
||||
let available_widths = [100, 150, 200, 300, 400, 500, 600, 800];
|
||||
|
||||
if available_widths.contains(&requested) {
|
||||
return requested;
|
||||
|
||||
Reference in New Issue
Block a user