aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/file_test.go
blob: 187ad7a0159dd57dfff7a35a7382265eb4cf06c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package pkg_test

import (
	"io/fs"
	"testing"

	"hakurei.app/check"
	"hakurei.app/internal/pkg"
)

func TestFile(t *testing.T) {
	t.Parallel()

	want := expectsFile{0}
	checkWithCache(t, []cacheTestCase{
		{"file", pkg.CValidateKnown, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
			cureMany(t, c, []cureStep{
				{"short", pkg.NewFile("null", []byte{0}), base.Append(
					"identifier",
					"3376ALA7hIUm2LbzH2fDvRezgzod1eTK_G6XjyOgbM2u-6swvkFaF0BOwSl_juBi",
				), want, nil},
			})
		}, expectsFS{
			".": {Mode: fs.ModeDir | 0700},

			"checksum":                            {Mode: fs.ModeDir | 0700},
			"checksum/" + pkg.Encode(want.hash()): {Mode: 0400, Data: []byte{0}},

			"identifier": {Mode: fs.ModeDir | 0700},
			"identifier/3376ALA7hIUm2LbzH2fDvRezgzod1eTK_G6XjyOgbM2u-6swvkFaF0BOwSl_juBi": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/vsAhtPNo4waRNOASwrQwcIPTqb3SBuJOXw2G4T1mNmVZM-wrQTRllmgXqcIIoRcX")},

			"work": {Mode: fs.ModeDir | 0700},
		}},
	})
}