diff --git a/src/datanode/src/lib.rs b/src/datanode/src/lib.rs index 398ee2747bf..4fe0ef90175 100644 --- a/src/datanode/src/lib.rs +++ b/src/datanode/src/lib.rs @@ -6,3 +6,5 @@ pub mod instance; mod metric; pub mod server; mod sql; +#[cfg(test)] +mod tests; diff --git a/src/datanode/src/tests.rs b/src/datanode/src/tests.rs new file mode 100644 index 00000000000..4c321a7d111 --- /dev/null +++ b/src/datanode/src/tests.rs @@ -0,0 +1,4 @@ +mod grpc_test; +mod http_test; +mod instance_test; +mod test_util; diff --git a/src/datanode/tests/grpc_test.rs b/src/datanode/src/tests/grpc_test.rs similarity index 98% rename from src/datanode/tests/grpc_test.rs rename to src/datanode/src/tests/grpc_test.rs index 8cf37e8fbba..0b91fa3ef86 100644 --- a/src/datanode/tests/grpc_test.rs +++ b/src/datanode/src/tests/grpc_test.rs @@ -1,15 +1,15 @@ -mod test_util; - use std::net::SocketAddr; use std::sync::Arc; use std::time::Duration; use api::v1::{codec::InsertBatch, column, select_expr, Column, SelectExpr}; use client::{Client, Database, ObjectResult}; -use datanode::instance::Instance; use servers::grpc::GrpcServer; use servers::server::Server; +use crate::instance::Instance; +use crate::tests::test_util; + #[tokio::test] async fn test_insert_and_select() { common_telemetry::init_default_ut_logging(); diff --git a/src/datanode/tests/http_test.rs b/src/datanode/src/tests/http_test.rs similarity index 97% rename from src/datanode/tests/http_test.rs rename to src/datanode/src/tests/http_test.rs index 2720bdff661..2a6c25e43b2 100644 --- a/src/datanode/tests/http_test.rs +++ b/src/datanode/src/tests/http_test.rs @@ -1,14 +1,14 @@ -mod test_util; - use std::sync::Arc; use axum::http::StatusCode; use axum::Router; use axum_test_helper::TestClient; -use datanode::instance::Instance; use servers::http::HttpServer; use test_util::TestGuard; +use crate::instance::Instance; +use crate::tests::test_util; + async fn make_test_app() -> (Router, TestGuard) { let (opts, guard) = test_util::create_tmp_dir_and_datanode_opts(); let instance = Arc::new(Instance::new(&opts).await.unwrap()); diff --git a/src/datanode/tests/instance_test.rs b/src/datanode/src/tests/instance_test.rs similarity index 97% rename from src/datanode/tests/instance_test.rs rename to src/datanode/src/tests/instance_test.rs index a259e7e7911..2a86829db9b 100644 --- a/src/datanode/tests/instance_test.rs +++ b/src/datanode/src/tests/instance_test.rs @@ -1,10 +1,10 @@ -mod test_util; - use arrow::array::UInt64Array; use common_recordbatch::util; -use datanode::instance::Instance; use query::Output; +use crate::instance::Instance; +use crate::tests::test_util; + #[tokio::test] async fn test_execute_insert() { common_telemetry::init_default_ut_logging(); diff --git a/src/datanode/tests/test_util.rs b/src/datanode/src/tests/test_util.rs similarity index 87% rename from src/datanode/tests/test_util.rs rename to src/datanode/src/tests/test_util.rs index 38d9377dc18..888e70bbb9d 100644 --- a/src/datanode/tests/test_util.rs +++ b/src/datanode/src/tests/test_util.rs @@ -1,9 +1,6 @@ use std::sync::Arc; use catalog::{DEFAULT_CATALOG_NAME, DEFAULT_SCHEMA_NAME}; -use datanode::datanode::{DatanodeOptions, ObjectStoreConfig}; -use datanode::error::{CreateTableSnafu, Result}; -use datanode::instance::Instance; use datatypes::data_type::ConcreteDataType; use datatypes::schema::{ColumnSchema, SchemaBuilder}; use snafu::ResultExt; @@ -12,6 +9,10 @@ use table::engine::TableEngineRef; use table::requests::CreateTableRequest; use tempdir::TempDir; +use crate::datanode::{DatanodeOptions, ObjectStoreConfig}; +use crate::error::{CreateTableSnafu, Result}; +use crate::instance::Instance; + /// Create a tmp dir(will be deleted once it goes out of scope.) and a default `DatanodeOptions`, /// Only for test. pub struct TestGuard { @@ -38,10 +39,6 @@ pub fn create_tmp_dir_and_datanode_opts() -> (DatanodeOptions, TestGuard) { ) } -// It's actually not dead codes, at least been used in instance_test.rs and grpc_test.rs -// However, clippy keeps warning us, so I temporary add an "allow" to bypass it. -// TODO(LFC): further investigate why clippy falsely warning "dead_code" -#[allow(dead_code)] pub async fn create_test_table(instance: &Instance) -> Result<()> { let column_schemas = vec![ ColumnSchema::new("host", ConcreteDataType::string_datatype(), false),