toolu-orm-connection 0.2.0

Connection pooling and driver adapters (libsql, rusqlite, Postgres) for toolu-orm
Documentation
use toolu_orm_connection::DbError;
use toolu_orm_core::error::DbCoreError;

#[test]
fn connection_error_displays_message() {
  let err = DbError::Connection("refused".to_owned());
  assert_eq!(err.to_string(), "connection failed: refused");
}

#[test]
fn query_error_displays_message() {
  let err = DbError::Query("syntax error".to_owned());
  assert_eq!(err.to_string(), "query failed: syntax error");
}

#[test]
fn transaction_error_displays_message() {
  let err = DbError::Transaction("deadlock".to_owned());
  assert_eq!(err.to_string(), "transaction failed: deadlock");
}

#[test]
fn pool_error_displays_message() {
  let err = DbError::Pool("exhausted".to_owned());
  assert_eq!(err.to_string(), "pool error: exhausted");
}

#[test]
fn row_mapping_error_displays_message() {
  let err = DbError::RowMapping("column 3 type mismatch".to_owned());
  assert_eq!(
    err.to_string(),
    "row mapping failed: column 3 type mismatch"
  );
}

#[test]
fn from_db_core_error_produces_row_mapping() {
  let core_err = DbCoreError::RowMapping("bad column".to_owned());
  let err: DbError = core_err.into();
  assert_eq!(
    err.to_string(),
    "row mapping failed: row mapping error: bad column"
  );
}