mirror of
https://github.com/derfenix/photocatalog.git
synced 2026-03-11 21:35:34 +03:00
Full application rewrite
This commit is contained in:
47
internal/organizer/modes/hardlink_test.go
Normal file
47
internal/organizer/modes/hardlink_test.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package modes_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
. "github.com/derfenix/photocatalog/internal/organizer/modes"
|
||||
)
|
||||
|
||||
func TestHardLink_PlaceIt(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
const testDataDir = "hardlink"
|
||||
|
||||
t.Cleanup(func() {
|
||||
if err := os.RemoveAll(fmt.Sprintf("./testdata/%s/target/", testDataDir)); err != nil {
|
||||
t.Errorf("error removing ./testdata/%s/target/: %v", testDataDir, err)
|
||||
}
|
||||
})
|
||||
|
||||
if err := os.Mkdir(fmt.Sprintf("./testdata/%s/target/", testDataDir), 0777); err != nil {
|
||||
t.Errorf("error creating ./testdata/%s/target/: %v", testDataDir, err)
|
||||
}
|
||||
|
||||
source := fmt.Sprintf("./testdata/%s/source/foo.txt", testDataDir)
|
||||
target := fmt.Sprintf("./testdata/%s/target/foo.txt", testDataDir)
|
||||
|
||||
err := HardLink{}.PlaceIt(source, target, 0644)
|
||||
if err != nil {
|
||||
t.Errorf("place file: %v", err)
|
||||
}
|
||||
|
||||
targetData, err := os.ReadFile(target)
|
||||
if err != nil {
|
||||
t.Errorf("read target file: %v", err)
|
||||
}
|
||||
|
||||
sourceData, err := os.ReadFile(source)
|
||||
if err != nil {
|
||||
t.Errorf("read source file: %v", err)
|
||||
}
|
||||
|
||||
if string(targetData) != string(sourceData) {
|
||||
t.Error("copy file contents missmatch")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user