0e8f1ca03a
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
32 lines
940 B
Rust
32 lines
940 B
Rust
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;
|
|
}
|