github.com/gkstretton/dark/services/goo@v0.0.0-20231114224855-2d1a2074d446/filesystem/helpers_test.go (about) 1 package filesystem 2 3 import ( 4 "os" 5 "strconv" 6 "strings" 7 "testing" 8 "time" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestSetPerms(t *testing.T) { 14 SetPerms("/mnt/md0/light-stores/session_content/34/dslr/raw/0002.jpg.yml") 15 } 16 17 func TestWriteCreationTime(t *testing.T) { 18 os.Chdir("../") 19 start := time.Now() 20 21 filePath := "/tmp/test" 22 err := os.WriteFile(filePath, []byte("testfile"), 0666) 23 assert.NoError(t, err) 24 25 err = WriteCreationTimeUsingMetadata(filePath) 26 assert.NoError(t, err) 27 28 b, err := os.ReadFile(filePath + ".creationtime") 29 assert.NoError(t, err) 30 s := strings.Split(string(b), ".") 31 assert.Len(t, s, 2) 32 t.Log(s) 33 34 seconds, err := strconv.Atoi(s[0]) 35 assert.NoError(t, err) 36 nanos, err := strconv.Atoi(s[1]) 37 assert.NoError(t, err) 38 39 t.Logf("seconds: %d\n", seconds) 40 t.Logf("nanos: %d\n", nanos) 41 42 createdTime := time.Unix(int64(seconds), int64(nanos)) 43 t.Logf("start: %s\n", start.String()) 44 t.Logf("created: %s\n", createdTime.String()) 45 46 msDiff := createdTime.UnixMilli() - start.UnixMilli() 47 if msDiff < 0 { 48 msDiff *= -1 49 } 50 assert.True(t, msDiff < 500) 51 52 err = os.Remove(filePath) 53 assert.NoError(t, err) 54 err = os.Remove(filePath + ".creationtime") 55 assert.NoError(t, err) 56 } 57 58 func TestWriteCreationTimeUsingNow(t *testing.T) { 59 WriteCreationTimeUsingNow("/home/greg/now") 60 }