mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-02-19 14:17:53 +01:00
61 lines
1.8 KiB
Rust
61 lines
1.8 KiB
Rust
#![allow(dead_code)]
|
|
|
|
use assert_cmd::Command;
|
|
use assert_cmd::cargo::cargo_bin_cmd;
|
|
use std::path::Path;
|
|
use yaak_models::models::{HttpRequest, Workspace};
|
|
use yaak_models::query_manager::QueryManager;
|
|
use yaak_models::util::UpdateSource;
|
|
|
|
pub fn cli_cmd(data_dir: &Path) -> Command {
|
|
let mut cmd = cargo_bin_cmd!("yaakcli");
|
|
cmd.arg("--data-dir").arg(data_dir);
|
|
cmd
|
|
}
|
|
|
|
pub fn parse_created_id(stdout: &[u8], label: &str) -> String {
|
|
String::from_utf8_lossy(stdout)
|
|
.trim()
|
|
.split_once(": ")
|
|
.map(|(_, id)| id.to_string())
|
|
.unwrap_or_else(|| panic!("Expected id in '{label}' output"))
|
|
}
|
|
|
|
pub fn query_manager(data_dir: &Path) -> QueryManager {
|
|
let db_path = data_dir.join("db.sqlite");
|
|
let blob_path = data_dir.join("blobs.sqlite");
|
|
let (query_manager, _blob_manager, _rx) =
|
|
yaak_models::init_standalone(&db_path, &blob_path).expect("Failed to initialize DB");
|
|
query_manager
|
|
}
|
|
|
|
pub fn seed_workspace(data_dir: &Path, workspace_id: &str) {
|
|
let workspace = Workspace {
|
|
id: workspace_id.to_string(),
|
|
name: "Seed Workspace".to_string(),
|
|
description: "Seeded for integration tests".to_string(),
|
|
..Default::default()
|
|
};
|
|
|
|
query_manager(data_dir)
|
|
.connect()
|
|
.upsert_workspace(&workspace, &UpdateSource::Sync)
|
|
.expect("Failed to seed workspace");
|
|
}
|
|
|
|
pub fn seed_request(data_dir: &Path, workspace_id: &str, request_id: &str) {
|
|
let request = HttpRequest {
|
|
id: request_id.to_string(),
|
|
workspace_id: workspace_id.to_string(),
|
|
name: "Seeded Request".to_string(),
|
|
method: "GET".to_string(),
|
|
url: "https://example.com".to_string(),
|
|
..Default::default()
|
|
};
|
|
|
|
query_manager(data_dir)
|
|
.connect()
|
|
.upsert_http_request(&request, &UpdateSource::Sync)
|
|
.expect("Failed to seed request");
|
|
}
|