aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/file_test.go
blob: 0111faa86a23c6ab2830a195188bbbbeb79a51e3 (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
36
37
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",
					"J3quqJoHNQID_k-amRdanjl0nXynlU7wzVJUx25BNvL229wxPyQ9s2Td9VbnRP6s",
				), want, pkg.WNew, 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/J3quqJoHNQID_k-amRdanjl0nXynlU7wzVJUx25BNvL229wxPyQ9s2Td9VbnRP6s": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/vsAhtPNo4waRNOASwrQwcIPTqb3SBuJOXw2G4T1mNmVZM-wrQTRllmgXqcIIoRcX")},

			"substitute": {Mode: fs.ModeDir | 0700},

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