From a07c1bdf4da77c8227c110e750fce7169618d75e Mon Sep 17 00:00:00 2001 From: khai96_ Date: Mon, 29 Apr 2019 01:07:02 +0700 Subject: Split integration test into multiple files --- tests/helpers.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/helpers.rs (limited to 'tests/helpers.rs') diff --git a/tests/helpers.rs b/tests/helpers.rs new file mode 100644 index 0000000..3c5ad72 --- /dev/null +++ b/tests/helpers.rs @@ -0,0 +1,37 @@ +pub use assert_cmd::prelude::*; +pub use assert_fs::fixture::TempDir; +pub use assert_fs::prelude::*; +pub use clap::{crate_name, crate_version}; +pub use port_check::free_local_port; +pub use reqwest; +pub use reqwest::multipart; +pub use rstest::rstest; +pub use select::document::Document; +pub use select::predicate::{Attr, Text}; +pub use std::process::{Command, Stdio}; +pub use std::thread::sleep; +pub use std::time::Duration; +pub use rstest::rstest_parametrize; + +/// Error type used by tests +pub type Error = Box; + +/// File names for testing purpose +pub static FILES: &[&str] = &["test.txt", "test.html", "test.mkv"]; + +/// Test fixture which creates a temporary directory with a few files inside. +pub fn tmpdir() -> TempDir { + let tmpdir = assert_fs::TempDir::new().expect("Couldn't create a temp dir for tests"); + for &file in FILES { + tmpdir + .child(file) + .write_str("Test Hello Yes") + .expect("Couldn't write to file"); + } + tmpdir +} + +/// Get a free port. +pub fn port() -> u16 { + free_local_port().expect("Couldn't find a free local port") +} -- cgit v1.2.3