Skip to content

Commit 27f1cca

Browse files
authored
Merge pull request #5 from NorthskySocial/aitorres/healthcheck
Add healthcheck route
2 parents 9347334 + 3319dad commit 27f1cca

4 files changed

Lines changed: 26 additions & 1 deletion

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ serde_json = "1.0.91"
1919
reqwest = { version = "0.12.14", features = ["json"] }
2020
rpassword = "7.4.0"
2121
rust-argon2 = "3.0.0"
22-
tracing = "0.1.41"
22+
tracing = "0.1.41"

src/main.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use crate::routes::create_invite_codes::create_invite_codes_handler;
1414
use crate::routes::disable_invite_codes::disable_invite_codes_handler;
1515
use crate::routes::generate_otp::generate_otp_handler;
1616
use crate::routes::get_invite_codes::get_invite_codes_handler;
17+
use crate::routes::health::healthcheck_handler;
1718
use crate::routes::login::login_user;
1819
use crate::routes::validate_otp::validate_otp_handler;
1920
use crate::routes::verify_otp::verify_otp_handler;
@@ -121,6 +122,7 @@ async fn main() -> io::Result<()> {
121122
))
122123
.app_data(Data::new(db_pool.clone()))
123124
.app_data(Data::new(config.clone()))
125+
.service(healthcheck_handler)
124126
.service(login_user)
125127
.service(generate_otp_handler)
126128
.service(verify_otp_handler)

src/routes/health.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
use actix_web::{HttpResponse, Responder, get};
2+
3+
#[get("/health")]
4+
pub async fn healthcheck_handler() -> impl Responder {
5+
HttpResponse::Ok().message_body("ok")
6+
}
7+
8+
#[cfg(test)]
9+
mod tests {
10+
use actix_web::{App, body::MessageBody, test};
11+
12+
use super::*;
13+
14+
#[actix_web::test]
15+
async fn test_healthcheck_get() {
16+
let app = test::init_service(App::new().service(healthcheck_handler)).await;
17+
let req = test::TestRequest::get().uri("/health").to_request();
18+
let resp = test::call_service(&app, req).await;
19+
assert!(resp.status().is_success());
20+
assert!(resp.into_body().try_into_bytes().unwrap() == "ok");
21+
}
22+
}

src/routes/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub mod create_invite_codes;
88
pub mod disable_invite_codes;
99
pub mod generate_otp;
1010
pub mod get_invite_codes;
11+
pub mod health;
1112
pub mod login;
1213
pub mod validate_otp;
1314
pub mod verify_otp;

0 commit comments

Comments
 (0)