(t *testing.T)
| 240 | } |
| 241 | |
| 242 | func TestUploadMetadataCompression(t *testing.T) { |
| 243 | t.Parallel() |
| 244 | |
| 245 | buildPolicy := func(compressor compression.Name) *policy.Tree { |
| 246 | return policy.BuildTree(map[string]*policy.Policy{ |
| 247 | ".": { |
| 248 | MetadataCompressionPolicy: policy.MetadataCompressionPolicy{ |
| 249 | CompressorName: compressor, |
| 250 | }, |
| 251 | }, |
| 252 | }, policy.DefaultPolicy) |
| 253 | } |
| 254 | |
| 255 | cases := []struct { |
| 256 | name string |
| 257 | policyTree *policy.Tree |
| 258 | compressionID compression.HeaderID |
| 259 | }{ |
| 260 | { |
| 261 | name: "default metadata compression", |
| 262 | policyTree: policy.BuildTree(nil, policy.DefaultPolicy), |
| 263 | compressionID: compression.HeaderZstdFastest, |
| 264 | }, |
| 265 | { |
| 266 | name: "disable metadata compression", |
| 267 | policyTree: buildPolicy("none"), |
| 268 | compressionID: content.NoCompression, |
| 269 | }, |
| 270 | { |
| 271 | name: "enable metadata compression", |
| 272 | policyTree: buildPolicy("gzip"), |
| 273 | compressionID: compression.ByName["gzip"].HeaderID(), |
| 274 | }, |
| 275 | } |
| 276 | |
| 277 | ctx := testlogging.Context(t) |
| 278 | |
| 279 | for _, tc := range cases { |
| 280 | policyTree := tc.policyTree |
| 281 | compID := tc.compressionID |
| 282 | |
| 283 | t.Run(tc.name, func(t *testing.T) { |
| 284 | t.Parallel() |
| 285 | |
| 286 | th := newUploadTestHarness(ctx, t) |
| 287 | t.Cleanup(th.cleanup) |
| 288 | u := NewUploader(th.repo) |
| 289 | |
| 290 | s1, err := u.Upload(ctx, th.sourceDir, policyTree, snapshot.SourceInfo{}) |
| 291 | require.NoError(t, err, "upload error") |
| 292 | |
| 293 | dir := testutil.EnsureType[fs.Directory](t, snapshotfs.EntryFromDirEntry(th.repo, s1.RootEntry)) |
| 294 | entries := findAllEntries(t, ctx, dir) |
| 295 | verifyMetadataCompressor(t, ctx, th.repo, entries, compID) |
| 296 | }) |
| 297 | } |
| 298 | } |
| 299 |
nothing calls this directly
no test coverage detected