blob: 811bcc586bb939b0ef304d9bd08c780985b1951d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
use crate::input;
use crate::utils::fileutil;
use crate::utils::misc;
use crate::KhResult;
pub fn do_copy() -> KhResult<()> {
let khline = input::default_input_khline()?;
let uid = &misc::make_new_uid();
let cal = khline.to_cal()?;
let new_cal = cal.with_uid(uid)?.with_dtstamp_now();
fileutil::write_cal(&new_cal)?;
info!("Successfully wrote file: {}", new_cal.get_path().unwrap().display());
Ok(())
}
#[cfg(test)]
mod integration {
use super::*;
use assert_fs::prelude::*;
use crate::khline::KhLine;
use crate::testutils::prepare_testdir;
use crate::utils::stdioutils;
use predicates::prelude::*;
#[test]
fn copy_test() {
let testdir = prepare_testdir("testdir");
stdioutils::test_stdin_write("twodaysacrossbuckets.ics");
do_copy().unwrap();
let child = testdir.child(".khaleesi/cal/11111111-2222-3333-4444-444444444444@khaleesi.ics");
child.assert(predicate::path::exists());
let khline = "11111111-2222-3333-4444-444444444444@khaleesi.ics".parse::<KhLine>().unwrap();
assert_eq!("11111111-2222-3333-4444-444444444444@khaleesi", khline.to_event().unwrap().get_uid());
}
}
|