наблюдаемость: завершить базовый контур Community
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
use crank_registry::{
|
||||
CreateInvocationLogRequest, InvocationHistoryLossCategory, InvocationHistoryWriteOutcome,
|
||||
};
|
||||
|
||||
use super::common::{TestDatabase, test_invocation_log};
|
||||
|
||||
#[tokio::test]
|
||||
async fn invocation_history_write_returns_typed_loss_without_error_details() {
|
||||
let database = TestDatabase::new().await;
|
||||
let registry = database.registry().await;
|
||||
let log = test_invocation_log(
|
||||
"log_missing_owner",
|
||||
&crank_core::OperationId::new("op_missing"),
|
||||
None,
|
||||
crank_core::InvocationStatus::Ok,
|
||||
10,
|
||||
"2026-03-25T12:20:00Z",
|
||||
);
|
||||
|
||||
let outcome = registry
|
||||
.create_invocation_log(CreateInvocationLogRequest { log: &log })
|
||||
.await;
|
||||
|
||||
assert_eq!(
|
||||
outcome,
|
||||
InvocationHistoryWriteOutcome::Lost(crank_registry::InvocationHistoryLoss {
|
||||
category: InvocationHistoryLossCategory::InvalidRecord,
|
||||
})
|
||||
);
|
||||
database.cleanup().await;
|
||||
}
|
||||
Reference in New Issue
Block a user