khive-storage 0.14.0

Storage capability contracts and backend-neutral request context.
Documentation
#[test]
fn unique_constraint_failure_at_execute_sql_capability_is_classified() {
    let e = driver_err_sql(
        "execute",
        "UNIQUE constraint failed: brain_serve_ledger.namespace, \
             brain_serve_ledger.target_id, brain_serve_ledger.query_class, \
             brain_serve_ledger.served_at",
    );
    assert!(e.is_unique_constraint_violation());
}

#[test]
fn unique_constraint_failure_at_pool_writer_execute_is_classified() {
    let e = driver_err_sql("pool_writer.execute", "UNIQUE constraint failed: t.id");
    assert!(e.is_unique_constraint_violation());
}

#[test]
fn unique_constraint_message_at_non_execute_operation_is_not_classified() {
    let e = driver_err_sql("query_row", "UNIQUE constraint failed: t.id");
    assert!(!e.is_unique_constraint_violation());
}

#[test]
fn non_unique_driver_error_at_execute_is_not_classified() {
    let e = driver_err_sql("execute", "disk I/O error");
    assert!(!e.is_unique_constraint_violation());
}

#[test]
fn non_sql_capability_is_not_classified_as_unique_violation() {
    let e = driver_err("execute", "UNIQUE constraint failed: t.id");
    assert!(!e.is_unique_constraint_violation());
}

#[test]
fn timeout_is_not_classified_as_unique_violation() {
    let e = StorageError::Timeout {
        operation: "execute".into(),
    };
    assert!(!e.is_unique_constraint_violation());
}