Skip to content

Commit

Permalink
Move server tests into integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
MathiasPius committed Apr 4, 2024
1 parent b6adbfa commit a49ef55
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 76 deletions.
76 changes: 0 additions & 76 deletions src/api/server/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -243,79 +243,3 @@ impl AsyncRobot {
.0)
}
}

#[cfg(test)]
mod tests {

#[cfg(feature = "non-disruptive-tests")]
mod non_disruptive_tests {
use tracing::info;
use tracing_test::traced_test;

use crate::{
api::server::{Cancellation, ServerId},
error::{ApiError, Error},
};

#[tokio::test]
#[traced_test]
async fn test_list_servers() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let servers = robot.list_servers().await.unwrap();
info!("{servers:#?}");
}

#[tokio::test]
#[traced_test]
async fn test_get_server() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let servers = robot.list_servers().await.unwrap();
info!("{servers:#?}");

if let Some(server) = servers.first() {
let retrieved_server = robot.get_server(server.id).await.unwrap();

assert_eq!(retrieved_server.name, server.name);
}
}

#[tokio::test]
#[traced_test]
async fn test_get_nonexistent_server() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let result = robot.get_server(ServerId(1)).await;
info!("{result:#?}");

assert!(matches!(
result,
Err(Error::Api(ApiError::ServerNotFound { .. }))
));
}

#[tokio::test]
#[traced_test]
async fn test_get_server_cancellation() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let servers = robot.list_servers().await.unwrap();
info!("{servers:#?}");

if let Some(server) = servers.first() {
let status = robot.get_server_cancellation(server.id).await.unwrap();
info!("{status:#?}");
assert!(matches!(status, Cancellation::Cancellable(_)));
}
}
}
}
62 changes: 62 additions & 0 deletions tests/server.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
mod common;

use hrobot::{
api::server::{Cancellation, ServerId},
error::{ApiError, Error},
AsyncRobot,
};
use tracing::info;
use tracing_test::traced_test;

#[tokio::test]
#[traced_test]
async fn list_servers() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let servers = robot.list_servers().await.unwrap();
info!("{servers:#?}");
}

#[tokio::test]
#[traced_test]
async fn get_server() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let server = common::provisioned_server().await;
let retrieved_server = robot.get_server(server.id).await.unwrap();

assert_eq!(retrieved_server.name, server.name);
}

#[tokio::test]
#[traced_test]
async fn get_nonexistent_server() {
let _ = dotenvy::dotenv().ok();

let robot = AsyncRobot::default();

let result = robot.get_server(ServerId(1)).await;
info!("{result:#?}");

assert!(matches!(
result,
Err(Error::Api(ApiError::ServerNotFound { .. }))
));
}

#[tokio::test]
#[traced_test]
async fn get_server_cancellation() {
let _ = dotenvy::dotenv().ok();

let robot = crate::AsyncRobot::default();

let server = common::provisioned_server().await;
let status = robot.get_server_cancellation(server.id).await.unwrap();
info!("{status:#?}");
assert!(matches!(status, Cancellation::Cancellable(_)));
}

0 comments on commit a49ef55

Please sign in to comment.