use std::time::Duration;

pub mod data_gen;
#[cfg(any(test, feature = "bench", feature = "testexport"))]
pub mod frag_reader_test;
pub mod helpers;
pub mod index_meta;
pub mod mock_backend_storage;
pub mod s3_fixture;
pub mod shard_meta;

// Re-export commonly used items for convenience
pub use data_gen::{
    test_gen_delete_raw_doc, test_gen_insert_raw_doc, test_gen_insert_raw_doc_binary_pk,
    test_gen_raw_docs, test_gen_raw_docs_binary_pk, test_gen_raw_docs_for_all_types,
    test_gen_raw_docs_numeric_only, test_gen_update_raw_doc, test_gen_update_raw_doc_binary_pk,
    test_get_end_handle, test_get_start_handle,
};
#[cfg(any(test, feature = "bench", feature = "testexport"))]
pub use frag_reader_test::{
    TestDoc, build_test_frag, collect_versions, deleted_across_segments, load_frag_reader,
    open_frag_rows_stream, row_versions,
};
pub use helpers::{
    LocalTSGenerator, create_test_frag_path, is_sorted_frag, is_sorted_index, test_get_inf_range,
    test_new_frag_path_generator, test_new_metadata_store, write_test_data,
};
pub use index_meta::{
    TEST_ALL_TYPES_META, TEST_DECIMAL_INDEX_META, TEST_FLOAT_INDEX_META, TEST_HDFSLOGS_INDEX_META,
    TEST_INDEX_KEY, TEST_INDEX_META_BINARY_PK, TEST_INDEX_META_NORMAL, TEST_INDEX_META_OVERLAP,
    TEST_MULTI_PK_META, mock_custom_employees_partition_index_meta,
    mock_custom_hdfs_logs_index_meta,
};
pub use mock_backend_storage::MockBackendStorage;
pub use s3_fixture::{
    TEST_S3_BUCKET, TEST_S3_BUCKET_PARTITION, TEST_S3_PREFIX, test_create_backend_storage,
    test_get_frag_batch_uploader,
};
pub use shard_meta::{
    TEST_FRAG_STORAGE_REFS, TEST_INF_END, TEST_INF_START, TEST_PARTITION_TABLE_PREFIX,
    TEST_SHARD_META, TEST_TABLE_PREFIX, test_get_shard_mirror_meta, test_get_shard_writer_meta,
    test_mock_frag_storage_refs, test_mock_frag_storage_refs_total,
};

pub const TEST_CDC_FLUSH_INTERVAL: Duration = Duration::from_secs(5);
