mirror of
https://github.com/qwjyh/xdbm
synced 2024-12-05 04:51:04 +09:00
Compare commits
2 commits
3b7e2387bd
...
6e1619aa18
Author | SHA1 | Date | |
---|---|---|---|
6e1619aa18 | |||
b9bb207f35 |
5 changed files with 53 additions and 13 deletions
|
@ -57,9 +57,7 @@ pub(crate) enum Commands {
|
|||
Check {},
|
||||
|
||||
/// Generate completion script.
|
||||
Completion {
|
||||
shell: clap_complete::Shell,
|
||||
}
|
||||
Completion { shell: clap_complete::Shell },
|
||||
}
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
|
|
|
@ -216,7 +216,7 @@ fn write_backups_list(
|
|||
None => {
|
||||
let style = Style::new().red();
|
||||
(style.apply_to("---".to_string()), style)
|
||||
},
|
||||
}
|
||||
};
|
||||
if !longprint {
|
||||
writeln!(
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
//! Manipulates storages.
|
||||
|
||||
use console::{style, Style, StyledObject};
|
||||
use crate::devices;
|
||||
use crate::storages::{
|
||||
directory::Directory, online_storage::OnlineStorage,
|
||||
|
@ -8,6 +7,7 @@ use crate::storages::{
|
|||
};
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use clap::ValueEnum;
|
||||
use console::{style, Style, StyledObject};
|
||||
use core::panic;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::{collections::BTreeMap, fmt, fs, io, path};
|
||||
|
|
|
@ -180,9 +180,7 @@ mod test {
|
|||
local_infos,
|
||||
);
|
||||
let mut storages = Storages::new();
|
||||
storages
|
||||
.add(storages::Storage::Physical(physical))
|
||||
.unwrap();
|
||||
storages.add(storages::Storage::Physical(physical)).unwrap();
|
||||
storages.add(Storage::SubDirectory(directory)).unwrap();
|
||||
// assert_eq!(directory.name(), "test_name");
|
||||
assert_eq!(
|
||||
|
|
54
tests/cli.rs
54
tests/cli.rs
|
@ -5,11 +5,11 @@ mod integrated_test {
|
|||
};
|
||||
|
||||
use anyhow::{Context, Ok, Result};
|
||||
use assert_cmd::{assert::OutputAssertExt, Command};
|
||||
use assert_cmd::{assert::OutputAssertExt, cargo::CommandCargoExt, Command};
|
||||
use dirs::home_dir;
|
||||
use git2::Repository;
|
||||
use log::trace;
|
||||
use predicates::prelude::predicate;
|
||||
use predicates::{boolean::PredicateBooleanExt, prelude::predicate};
|
||||
|
||||
/// Setup global gitconfig if it doesn't exist.
|
||||
///
|
||||
|
@ -157,7 +157,14 @@ mod integrated_test {
|
|||
// set up upstream branch
|
||||
let (mut repo_1_branch, _branch_type) = repo_1.branches(None)?.next().unwrap()?;
|
||||
println!("head {}", repo_1.head().unwrap().name().unwrap());
|
||||
repo_1_branch.set_upstream(Some(format!("{}/{}", upstream_name, repo_1_branch.name().unwrap().unwrap()).as_str()))?;
|
||||
repo_1_branch.set_upstream(Some(
|
||||
format!(
|
||||
"{}/{}",
|
||||
upstream_name,
|
||||
repo_1_branch.name().unwrap().unwrap()
|
||||
)
|
||||
.as_str(),
|
||||
))?;
|
||||
|
||||
// 2nd device
|
||||
let config_dir_2 = assert_fs::TempDir::new()?;
|
||||
|
@ -231,7 +238,14 @@ mod integrated_test {
|
|||
println!("{:?}", bare_repo_dir.read_dir()?);
|
||||
// set up upstream branch
|
||||
let (mut repo_1_branch, _branch_type) = repo_1.branches(None)?.next().unwrap()?;
|
||||
repo_1_branch.set_upstream(Some(format!("{}/{}", upstream_name, repo_1_branch.name().unwrap().unwrap()).as_str()))?;
|
||||
repo_1_branch.set_upstream(Some(
|
||||
format!(
|
||||
"{}/{}",
|
||||
upstream_name,
|
||||
repo_1_branch.name().unwrap().unwrap()
|
||||
)
|
||||
.as_str(),
|
||||
))?;
|
||||
|
||||
// 2nd device
|
||||
let config_dir_2 = assert_fs::TempDir::new()?;
|
||||
|
@ -358,6 +372,7 @@ mod integrated_test {
|
|||
.assert()
|
||||
.success();
|
||||
|
||||
// storage list
|
||||
Command::cargo_bin("xdbm")?
|
||||
.arg("-c")
|
||||
.arg(config_dir_2.path())
|
||||
|
@ -365,7 +380,9 @@ mod integrated_test {
|
|||
.arg("list")
|
||||
.arg("-l")
|
||||
.assert()
|
||||
.success();
|
||||
.success()
|
||||
.stdout(predicate::str::contains("gdrive_docs").and(predicate::str::contains("nas")));
|
||||
|
||||
// backup add
|
||||
let backup_src = &sample_storage_2.join("foo").join("bar");
|
||||
DirBuilder::new().recursive(true).create(backup_src)?;
|
||||
|
@ -387,6 +404,7 @@ mod integrated_test {
|
|||
.assert()
|
||||
.success();
|
||||
|
||||
// backup add but with existing name
|
||||
Command::cargo_bin("xdbm")?
|
||||
.arg("-c")
|
||||
.arg(config_dir_2.path())
|
||||
|
@ -404,6 +422,32 @@ mod integrated_test {
|
|||
.failure()
|
||||
.stderr(predicate::str::contains("already"));
|
||||
|
||||
// backup list
|
||||
Command::cargo_bin("xdbm")?
|
||||
.arg("-c")
|
||||
.arg(config_dir_2.path())
|
||||
.arg("backup")
|
||||
.arg("list")
|
||||
.assert()
|
||||
.success()
|
||||
.stdout(
|
||||
predicate::str::contains("foodoc")
|
||||
.and(predicate::str::contains("nas"))
|
||||
.and(predicate::str::contains("gdrive_docs"))
|
||||
.and(predicate::str::contains("---")),
|
||||
);
|
||||
|
||||
// backup done
|
||||
Command::cargo_bin("xdbm")?
|
||||
.arg("-c")
|
||||
.arg(config_dir_2.path())
|
||||
.arg("backup")
|
||||
.arg("done")
|
||||
.arg("foodoc")
|
||||
.arg("0")
|
||||
.assert()
|
||||
.success();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue