umanux/tests/delete_user_test.rs

54 lines
1.5 KiB
Rust
Raw Normal View History

2020-11-16 10:37:18 +01:00
extern crate umanux;
2020-11-05 09:01:51 +01:00
mod testfiles;
#[test]
2020-11-09 20:25:42 +01:00
fn test_delete_user_function() {
use testfiles::Fixture;
use std::fs;
2020-11-16 10:37:18 +01:00
use umanux::api::UserDBWrite;
use umanux::api::UserRead;
let p = Fixture::copy("passwd");
let s = Fixture::copy("shadow");
let g = Fixture::copy("group");
let pf = fs::read_to_string(&p.path).unwrap();
2020-11-16 10:37:18 +01:00
let mf = umanux::Files {
passwd: Some(p.path.clone()),
2020-11-09 09:56:24 +01:00
shadow: Some(s.path),
group: Some(g.path.clone()),
};
2020-11-16 10:37:18 +01:00
let mut db = umanux::UserDBLocal::load_files(mf).unwrap();
2020-11-16 10:37:18 +01:00
let user_res: Result<umanux::User, umanux::UserLibError> = db.delete_user(
umanux::api::DeleteUserArgs::builder()
.username("teste")
2020-11-16 10:37:18 +01:00
// .delete_home(umanux::api::DeleteHome::Delete)
.build()
.unwrap(),
);
let pf2 = fs::read_to_string(&p.path).unwrap();
assert_eq!(user_res.unwrap().get_username().unwrap(), "teste");
2020-11-09 09:56:24 +01:00
let pflines = pf.lines();
let pflines2 = pf2.lines();
for (l1, l2) in pflines.zip(pflines2.clone()) {
if l1 != l2 {
assert!(l1.starts_with("teste"));
assert!(l2.starts_with("bergfried"));
break;
}
}
for line in pflines2 {
assert!(!line.starts_with("teste"))
}
2020-11-30 12:37:45 +01:00
let groupfile2 = fs::read_to_string(&g.path).unwrap();
let groupfilelines2 = groupfile2.lines();
for line in groupfilelines2 {
println!("{}", &line);
assert!(!line.ends_with("teste"))
}
2020-11-05 09:01:51 +01:00
}