update(test): use sync command

The first sync from 2nd device didn't work, maybe due to that it is the
first push.
This commit is contained in:
qwjyh 2025-02-27 01:07:44 +09:00
parent 9bf534df1d
commit 99714b4b29

View file

@ -2,6 +2,7 @@ mod integrated_test {
use std::{ use std::{
fs::{self, DirBuilder, File}, fs::{self, DirBuilder, File},
io::{self, BufWriter, Write}, io::{self, BufWriter, Write},
path,
}; };
use anyhow::{anyhow, Context, Ok, Result}; use anyhow::{anyhow, Context, Ok, Result};
@ -72,6 +73,16 @@ mod integrated_test {
Ok(()) Ok(())
} }
fn run_sync_cmd(config_dir: &path::Path) -> Result<()> {
Command::cargo_bin("xdbm")?
.arg("-c")
.arg(config_dir)
.args(["sync", "-vvvv"])
.assert()
.success();
Ok(())
}
#[test] #[test]
fn single_device() -> Result<()> { fn single_device() -> Result<()> {
let config_dir = assert_fs::TempDir::new()?; let config_dir = assert_fs::TempDir::new()?;
@ -380,16 +391,8 @@ mod integrated_test {
std::fs::read_to_string(config_dir_1.join("storages.yml"))?.contains("parent: gdrive1") std::fs::read_to_string(config_dir_1.join("storages.yml"))?.contains("parent: gdrive1")
); );
std::process::Command::new("git") run_sync_cmd(&config_dir_1)?;
.arg("push") run_sync_cmd(&config_dir_2)?;
.current_dir(&config_dir_1)
.assert()
.success();
std::process::Command::new("git")
.arg("pull")
.current_dir(&config_dir_2)
.assert()
.success();
// bind // bind
// //
@ -603,16 +606,8 @@ mod integrated_test {
.and(predicate::str::contains("foodoc").not()), .and(predicate::str::contains("foodoc").not()),
); );
std::process::Command::new("git") run_sync_cmd(&config_dir_2)?;
.arg("push") run_sync_cmd(&config_dir_1)?;
.current_dir(&config_dir_2)
.assert()
.success();
std::process::Command::new("git")
.arg("pull")
.current_dir(&config_dir_1)
.assert()
.success();
// bind // bind
// //
@ -727,16 +722,8 @@ mod integrated_test {
.assert() .assert()
.success(); .success();
std::process::Command::new("git") run_sync_cmd(&config_dir_1)?;
.arg("push") run_sync_cmd(&config_dir_2)?;
.current_dir(&config_dir_1)
.assert()
.success();
std::process::Command::new("git")
.arg("pull")
.current_dir(&config_dir_2)
.assert()
.success();
// backup add // backup add
// //