use std::fs;
use std::path::PathBuf;
use httpmock::prelude::*;
pub struct TestKit {
pub mock_server: MockServer,
pub valid_search_json: String,
pub valid_info_json: String,
pub valid_suggest_json: String,
pub valid_multi_info_json: String,
pub valid_provides_json: String,
pub valid_maintainer_json: String,
}
pub fn setup() -> TestKit {
let server = MockServer::start();
let resources_dir = format!("{}/resources/test", env!("CARGO_MANIFEST_DIR"));
let search_json = fs::read_to_string(PathBuf::from(format!(
"{}/single_yay_bin_search.json",
resources_dir
)))
.expect("Failed to read search JSON file");
let info_json = fs::read_to_string(PathBuf::from(format!(
"{}/single_yay_bin_info.json",
resources_dir
)))
.expect("Failed to read info JSON file");
let valid_suggest_json =
fs::read_to_string(PathBuf::from(format!("{}/yay_suggest.json", resources_dir)))
.expect("Failed to read info JSON file");
let valid_multi_info_json = fs::read_to_string(PathBuf::from(format!(
"{}/multi_yay_yay_bin.json",
resources_dir
)))
.expect("Failed to read info JSON file");
let valid_provides_json = fs::read_to_string(PathBuf::from(format!(
"{}/search_provides_yay.json",
resources_dir
)))
.expect("Failed to read info JSON file");
let valid_maintainer_json = fs::read_to_string(PathBuf::from(format!(
"{}/search_maintainer.json",
resources_dir
)))
.expect("Failed to read info JSON file");
TestKit {
mock_server: server,
valid_search_json: search_json,
valid_info_json: info_json,
valid_suggest_json: valid_suggest_json,
valid_multi_info_json: valid_multi_info_json,
valid_provides_json: valid_provides_json,
valid_maintainer_json: valid_maintainer_json,
}
}