extract create_test_app to a macro
This commit is contained in:
parent
5094b3cb46
commit
cc58c15c71
3 changed files with 21 additions and 15 deletions
|
@ -1,10 +1,7 @@
|
|||
use backend::{Database, build_database_url};
|
||||
use log::{debug, info};
|
||||
use migration::{Migrator, MigratorTrait};
|
||||
use testcontainers::{
|
||||
ContainerAsync, ImageExt, core::logs::consumer::logging_consumer::LoggingConsumer,
|
||||
runners::AsyncRunner,
|
||||
};
|
||||
use testcontainers::{ContainerAsync, ImageExt, runners::AsyncRunner};
|
||||
use testcontainers_modules::{postgres::Postgres, redis::Redis};
|
||||
|
||||
pub mod test_helpers;
|
||||
|
|
|
@ -29,3 +29,20 @@ pub async fn get_database() -> &'static Database {
|
|||
|
||||
&state.database
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! create_test_app {
|
||||
() => {{
|
||||
let db = $crate::common::test_helpers::get_database().await;
|
||||
|
||||
actix_web::test::init_service(
|
||||
actix_web::App::new()
|
||||
.app_data(actix_web::web::Data::new(db.clone()))
|
||||
.service(
|
||||
actix_web::web::scope("/api/v1")
|
||||
.configure(backend::controller::register_controllers),
|
||||
),
|
||||
)
|
||||
.await
|
||||
}};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
use actix_web::{App, http::header, test, web};
|
||||
use backend::controller;
|
||||
use actix_web::{http::header, test};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::common::test_helpers::get_database;
|
||||
use crate::create_test_app;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
|
@ -20,14 +19,7 @@ mod tests {
|
|||
|
||||
#[actix_web::test]
|
||||
async fn test_login() {
|
||||
let db = get_database().await;
|
||||
|
||||
let app = test::init_service(
|
||||
App::new()
|
||||
.app_data(web::Data::new(db.clone()))
|
||||
.service(web::scope("/api/v1").configure(controller::register_controllers)),
|
||||
)
|
||||
.await;
|
||||
let app = create_test_app!();
|
||||
|
||||
let req = test::TestRequest::post()
|
||||
.uri("/api/v1/user")
|
||||
|
|
Loading…
Add table
Reference in a new issue