MCPcopy Index your code
hub / github.com/git-bug/git-bug / RepoDataTest

Function RepoDataTest

repository/repo_testing.go:94–232  ·  view source on GitHub ↗

helper to test a RepoData

(t *testing.T, repo RepoData)

Source from the content-addressed store, hash-verified

92
93// helper to test a RepoData
94func RepoDataTest(t *testing.T, repo RepoData) {
95 // Blob
96
97 data := randomData()
98
99 blobHash1, err := repo.StoreData(data)
100 require.NoError(t, err)
101 require.True(t, blobHash1.IsValid())
102
103 blob1Read, err := repo.ReadData(blobHash1)
104 require.NoError(t, err)
105 require.Equal(t, data, blob1Read)
106
107 _, err = repo.ReadData(randomHash())
108 require.ErrorIs(t, err, ErrNotFound)
109
110 // Tree
111
112 blobHash2, err := repo.StoreData(randomData())
113 require.NoError(t, err)
114 blobHash3, err := repo.StoreData(randomData())
115 require.NoError(t, err)
116
117 tree1 := []TreeEntry{
118 {
119 ObjectType: Blob,
120 Hash: blobHash1,
121 Name: "blob1",
122 },
123 {
124 ObjectType: Blob,
125 Hash: blobHash2,
126 Name: "blob2",
127 },
128 }
129
130 treeHash1, err := repo.StoreTree(tree1)
131 require.NoError(t, err)
132 require.True(t, treeHash1.IsValid())
133
134 tree1Read, err := repo.ReadTree(treeHash1)
135 require.NoError(t, err)
136 require.ElementsMatch(t, tree1, tree1Read)
137
138 tree2 := []TreeEntry{
139 {
140 ObjectType: Tree,
141 Hash: treeHash1,
142 Name: "tree1",
143 },
144 {
145 ObjectType: Blob,
146 Hash: blobHash3,
147 Name: "blob3",
148 },
149 }
150
151 treeHash2, err := repo.StoreTree(tree2)

Callers 1

RepoTestFunction · 0.85

Calls 15

randomHashFunction · 0.85
IsValidMethod · 0.80
randomDataFunction · 0.70
StoreDataMethod · 0.65
ReadDataMethod · 0.65
StoreTreeMethod · 0.65
ReadTreeMethod · 0.65
StoreCommitMethod · 0.65
ReadCommitMethod · 0.65
RefExistMethod · 0.65
UpdateRefMethod · 0.65
ResolveRefMethod · 0.65

Tested by

no test coverage detected