aboutsummaryrefslogtreecommitdiff
path: root/object/store/packed/lookup_test.go
blob: d9f3dff925f296e66279bb4cff8df5b7f8440046 (about) (plain) (blame)
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 packed_test

import (
	"errors"
	"testing"

	"lindenii.org/go/furgit/object/id"
	"lindenii.org/go/furgit/object/store"
)

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

	for _, objectFormat := range id.SupportedObjectFormats() {
		t.Run(objectFormat.String(), func(t *testing.T) {
			t.Parallel()

			_, prefix, seeded := makeGitPack(t, objectFormat)
			packedStore := openPackedStore(t, prefix, objectFormat)

			raw := seeded.Blobs[0].Bytes()
			raw[len(raw)-1] ^= 0xff

			missing, err := objectFormat.FromBytes(raw)
			if err != nil {
				t.Fatalf("FromBytes: %v", err)
			}

			_, _, err = packedStore.ReadBytesContent(missing)
			if !errors.Is(err, store.ErrObjectNotFound) {
				t.Fatalf("ReadBytesContent error = %v, want ErrObjectNotFound", err)
			}
		})
	}
}