ELD / db-manager

Rough cut attempt at setting up and tearing down databases for framework integration testing.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Note: This repository has (finally) been superseded by TestStand. If this functionality is still of use to you, please take a look at that crate for support in Rocket (and perhaps other frameworks, too).

Database Manager

Purpose

This crate makes it easy for database providers and web framework providers to create databases for testing and tear them down at the end of the test.

This provides the facility to offer "transactional" integration tests, at least in the frame of keeping data hygienic.

Roadmap

0.1 - Postgres and integration with Rocket

  • support creating Postgres databases
  • integrate with Rocket

0.2 - support spinning up multiple Diesel Postgres databases with single manager

  • support multiple database creations and teardowns

0.3 - Expanding Diesel backend support

  • support creating Diesel MySQL databases
  • support creating Diesel SQLite databases
    • Not sure on this one. It might be solvable by just injecting :memory: as the database type for SQLite.

0.4+ - expand connection support to other database libraries and async drivers

  • TODO: Add a list of databases to target

About

Rough cut attempt at setting up and tearing down databases for framework integration testing.


Languages

Language:Rust 83.1%Language:Shell 9.1%Language:PLpgSQL 7.8%