fix vfs_db and add metadata_db
This commit is contained in:
136
lib/vfs/vfs_db/model_directory_test.v
Normal file
136
lib/vfs/vfs_db/model_directory_test.v
Normal file
@@ -0,0 +1,136 @@
|
||||
module vfs_db
|
||||
|
||||
import freeflowuniverse.herolib.vfs
|
||||
|
||||
fn test_directory_get_metadata() {
|
||||
// Create a directory with metadata
|
||||
metadata := vfs.Metadata{
|
||||
id: 1
|
||||
name: 'test_dir'
|
||||
file_type: .directory
|
||||
size: 0
|
||||
mode: 0o755
|
||||
owner: 'user'
|
||||
group: 'user'
|
||||
created: 0
|
||||
modified: 0
|
||||
}
|
||||
|
||||
dir := Directory{
|
||||
metadata: metadata
|
||||
children: []
|
||||
parent_id: 0
|
||||
}
|
||||
|
||||
// Test get_metadata
|
||||
retrieved_metadata := dir.get_metadata()
|
||||
assert retrieved_metadata.id == 1
|
||||
assert retrieved_metadata.name == 'test_dir'
|
||||
assert retrieved_metadata.file_type == .directory
|
||||
assert retrieved_metadata.size == 0
|
||||
assert retrieved_metadata.mode == 0o755
|
||||
assert retrieved_metadata.owner == 'user'
|
||||
assert retrieved_metadata.group == 'user'
|
||||
}
|
||||
|
||||
fn test_directory_get_path() {
|
||||
// Create a directory with metadata
|
||||
metadata := vfs.Metadata{
|
||||
id: 1
|
||||
name: 'test_dir'
|
||||
file_type: .directory
|
||||
size: 0
|
||||
mode: 0o755
|
||||
owner: 'user'
|
||||
group: 'user'
|
||||
created: 0
|
||||
modified: 0
|
||||
}
|
||||
|
||||
dir := Directory{
|
||||
metadata: metadata
|
||||
children: []
|
||||
parent_id: 0
|
||||
}
|
||||
|
||||
// Test get_path
|
||||
path := dir.get_path()
|
||||
assert path == 'test_dir'
|
||||
}
|
||||
|
||||
fn test_directory_is_dir() {
|
||||
// Create a directory with metadata
|
||||
metadata := vfs.Metadata{
|
||||
id: 1
|
||||
name: 'test_dir'
|
||||
file_type: .directory
|
||||
size: 0
|
||||
mode: 0o755
|
||||
owner: 'user'
|
||||
group: 'user'
|
||||
created: 0
|
||||
modified: 0
|
||||
}
|
||||
|
||||
dir := Directory{
|
||||
metadata: metadata
|
||||
children: []
|
||||
parent_id: 0
|
||||
}
|
||||
|
||||
// Test is_dir
|
||||
assert dir.is_dir() == true
|
||||
assert dir.is_file() == false
|
||||
assert dir.is_symlink() == false
|
||||
}
|
||||
|
||||
fn test_directory_with_children() {
|
||||
// Create a directory with children
|
||||
metadata := vfs.Metadata{
|
||||
id: 1
|
||||
name: 'parent_dir'
|
||||
file_type: .directory
|
||||
size: 0
|
||||
mode: 0o755
|
||||
owner: 'user'
|
||||
group: 'user'
|
||||
created: 0
|
||||
modified: 0
|
||||
}
|
||||
|
||||
dir := Directory{
|
||||
metadata: metadata
|
||||
children: [u32(2), 3, 4]
|
||||
parent_id: 0
|
||||
}
|
||||
|
||||
// Test children
|
||||
assert dir.children.len == 3
|
||||
assert dir.children[0] == 2
|
||||
assert dir.children[1] == 3
|
||||
assert dir.children[2] == 4
|
||||
}
|
||||
|
||||
fn test_directory_with_parent() {
|
||||
// Create a directory with a parent
|
||||
metadata := vfs.Metadata{
|
||||
id: 2
|
||||
name: 'child_dir'
|
||||
file_type: .directory
|
||||
size: 0
|
||||
mode: 0o755
|
||||
owner: 'user'
|
||||
group: 'user'
|
||||
created: 0
|
||||
modified: 0
|
||||
}
|
||||
|
||||
dir := Directory{
|
||||
metadata: metadata
|
||||
children: []
|
||||
parent_id: 1
|
||||
}
|
||||
|
||||
// Test parent_id
|
||||
assert dir.parent_id == 1
|
||||
}
|
||||
Reference in New Issue
Block a user