наблюдаемость: завершить базовый контур Community
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
This commit is contained in:
@@ -72,6 +72,31 @@ async fn drops_expired_in_memory_transport_sessions_on_read() {
|
||||
assert!(store.get(&session_id).await.unwrap().is_none());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn cleanup_removes_only_expired_sessions() {
|
||||
let store = InMemorySessionStore::default();
|
||||
let now = time::OffsetDateTime::now_utc();
|
||||
let expired = store
|
||||
.create("2025-11-25", "default", "sales", false, now, Some(now))
|
||||
.await
|
||||
.unwrap();
|
||||
let active = store
|
||||
.create(
|
||||
"2025-11-25",
|
||||
"default",
|
||||
"sales",
|
||||
false,
|
||||
now,
|
||||
Some(now + time::Duration::hours(1)),
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(store.cleanup_expired(now).await.unwrap(), 1);
|
||||
assert!(store.get(&expired).await.unwrap().is_none());
|
||||
assert!(store.get(&active).await.unwrap().is_some());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn formats_transport_session_store_error() {
|
||||
let error = SessionStoreError {
|
||||
|
||||
Reference in New Issue
Block a user