From 28bbdaebadd9dfce341add9665d88d5b6c745af0 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Sat, 12 Feb 2022 18:25:45 +0530 Subject: [PATCH] feat: setup tests --- .gitignore | 2 ++ Cargo.lock | 10 ++++++++++ Cargo.toml | 6 ++++++ Makefile | 7 +++++++ sqlx-data.json | 3 +++ 5 files changed, 28 insertions(+) create mode 100644 sqlx-data.json diff --git a/.gitignore b/.gitignore index fedaa2b..4d8dc59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /target .env +tarpaulin-report.html +**/tmp/ diff --git a/Cargo.lock b/Cargo.lock index 94e0022..0b6fec4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -908,6 +908,8 @@ dependencies = [ "argon2-creds", "config", "db-core", + "db-sqlx-postgres", + "db-sqlx-sqlite", "derive_more", "git2", "lazy_static", @@ -917,6 +919,7 @@ dependencies = [ "rand 0.8.4", "serde 1.0.136", "serde_json", + "sqlx", "tokio", "url", "validator", @@ -2146,6 +2149,7 @@ dependencies = [ "time 0.2.27", "tokio-stream", "url", + "uuid", "webpki", "webpki-roots", "whoami", @@ -2575,6 +2579,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" + [[package]] name = "validator" version = "0.14.0" diff --git a/Cargo.toml b/Cargo.toml index 7195c28..72dae29 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,3 +40,9 @@ serde_json = "1" tokio = "1.16.1" url = "2.2" validator = { version = "0.14.0", features = ["derive"] } + +[dev-dependencies] +db-sqlx-postgres = {path = "./database/db-sqlx-postgres"} +db-sqlx-sqlite = {path = "./database/db-sqlx-sqlite"} +actix-rt = "2" +sqlx = { version = "0.5.10", features = [ "runtime-actix-rustls", "uuid", "postgres", "time", "offline", "sqlite" ] } diff --git a/Makefile b/Makefile index 471f743..4dad094 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,9 @@ default: ## Debug build cargo build clean: ## Clean all build artifacts and dependencies + @-/bin/rm -rf target/ + @-/bin/rm -rf database/migrator/target/ + @-/bin/rm -rf database/*/target/ @cargo clean coverage: migrate ## Generate coverage report in HTML format @@ -34,6 +37,10 @@ migrate: ## run migrations @-rm -rf database/db-sqlx-sqlite/tmp && mkdir database/db-sqlx-sqlite/tmp cd database/migrator && cargo run +sqlx-offline-data: ## prepare sqlx offline data + cargo sqlx prepare --database-url=${POSTGRES_DATABASE_URL} -- --bin gists \ + --all-features + test: migrate ## Run tests cd database/db-sqlx-postgres &&\ DATABASE_URL=${POSTGRES_DATABASE_URL}\ diff --git a/sqlx-data.json b/sqlx-data.json new file mode 100644 index 0000000..95c8c85 --- /dev/null +++ b/sqlx-data.json @@ -0,0 +1,3 @@ +{ + "db": "PostgreSQL" +} \ No newline at end of file