helper to test a RepoData
(t *testing.T, repo RepoData)
| 92 | |
| 93 | // helper to test a RepoData |
| 94 | func 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) |
no test coverage detected