Files
Notes/notes-service/vendor/tree-fs/tests/settings_tests.rs
T
2026-08-01 16:11:49 +03:00

47 lines
1.4 KiB
Rust

use std::fs;
use tree_fs::{Settings, TreeBuilder};
#[test]
fn test_file_settings() {
let tree = TreeBuilder::default()
.add_file_with_settings(
"config.json",
"{\"readonly\": true}",
Settings::new().readonly(true),
)
.add_empty_file_with_settings("data.txt", Settings::new().readonly(false))
.create()
.expect("Failed to create tree with settings");
// Verify settings were applied
let readonly_perms = fs::metadata(tree.root.join("config.json"))
.expect("Failed to get metadata")
.permissions();
assert!(readonly_perms.readonly());
let writable_perms = fs::metadata(tree.root.join("data.txt"))
.expect("Failed to get metadata")
.permissions();
assert!(!writable_perms.readonly());
}
#[test]
fn test_readonly_convenience_methods() {
let tree = TreeBuilder::default()
.add_readonly_file("readonly.txt", "read-only content")
.add_readonly_empty_file("empty.txt")
.create()
.expect("Failed to create tree with readonly methods");
// Verify both files are readonly
let text_perms = fs::metadata(tree.root.join("readonly.txt"))
.expect("Failed to get metadata")
.permissions();
assert!(text_perms.readonly());
let empty_perms = fs::metadata(tree.root.join("empty.txt"))
.expect("Failed to get metadata")
.permissions();
assert!(empty_perms.readonly());
}