MCPcopy
hub / github.com/ossf/scorecard / TestHandler

Function TestHandler

internal/gitfile/gitfile_test.go:29–70  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

27)
28
29func TestHandler(t *testing.T) {
30 t.Parallel()
31
32 var (
33 want = []string{"example.txt"}
34 wantContents = []byte("hello world!")
35 )
36
37 dir := setupGitRepo(t)
38
39 var h Handler
40 h.Init(t.Context(), dir, "HEAD")
41
42 files, err := h.ListFiles(allFiles)
43 if err != nil {
44 t.Fatalf("unexpected error: %v", err)
45 }
46
47 if d := cmp.Diff(want, files); d != "" {
48 t.Errorf("-got,+want: %s", d)
49 }
50
51 r, err := h.GetFile("example.txt")
52 if err != nil {
53 t.Fatalf("unexpected error: %v", err)
54 }
55 t.Cleanup(func() { r.Close() })
56
57 contents, err := io.ReadAll(r)
58 if err != nil {
59 t.Fatalf("unexpected error: %v", err)
60 }
61
62 if d := cmp.Diff(wantContents, contents); d != "" {
63 t.Errorf("-got,+want: %s", d)
64 }
65
66 err = h.Cleanup()
67 if err != nil {
68 t.Fatalf("unexpected error: %v", err)
69 }
70}
71
72func TestHandlerPathTraversal(t *testing.T) {
73 t.Parallel()

Callers

nothing calls this directly

Calls 6

InitMethod · 0.95
ListFilesMethod · 0.95
GetFileMethod · 0.95
CleanupMethod · 0.95
setupGitRepoFunction · 0.85
CloseMethod · 0.65

Tested by

no test coverage detected