(t *testing.T)
| 297 | } |
| 298 | |
| 299 | func TestNoCompactFlag(t *testing.T) { |
| 300 | ctx := context.Background() |
| 301 | tenantID := "test-tenant" |
| 302 | blockID := uuid.New() |
| 303 | |
| 304 | rawReader := &MockRawReader{} |
| 305 | rawWriter := &MockRawWriter{} |
| 306 | rawReader.ReadFn = func(_ context.Context, name string, keyPath KeyPath, _ *CacheInfo) (io.ReadCloser, int64, error) { |
| 307 | key := strings.Join(keyPath, "/") + "/" + name |
| 308 | val, ok := rawWriter.writeBuffer[key] |
| 309 | if !ok { |
| 310 | return nil, 0, ErrDoesNotExist |
| 311 | } |
| 312 | return io.NopCloser(bytes.NewReader(val)), int64(len(val)), nil |
| 313 | } |
| 314 | |
| 315 | reader := NewReader(rawReader) |
| 316 | writer := NewWriter(rawWriter) |
| 317 | |
| 318 | hasFlag, err := reader.HasNoCompactFlag(ctx, blockID, tenantID) |
| 319 | require.NoError(t, err) |
| 320 | assert.False(t, hasFlag) |
| 321 | |
| 322 | err = writer.WriteNoCompactFlag(ctx, blockID, tenantID) |
| 323 | require.NoError(t, err) |
| 324 | |
| 325 | hasFlag, err = reader.HasNoCompactFlag(ctx, blockID, tenantID) |
| 326 | require.NoError(t, err) |
| 327 | assert.True(t, hasFlag) |
| 328 | |
| 329 | err = writer.DeleteNoCompactFlag(ctx, blockID, tenantID) |
| 330 | require.NoError(t, err) |
| 331 | assert.Equal(t, map[string]map[string]int{ |
| 332 | NoCompactFileName: { |
| 333 | fmt.Sprintf("%s/%s", tenantID, blockID.String()): 1, |
| 334 | }, |
| 335 | }, rawWriter.deleteCalls) |
| 336 | } |
nothing calls this directly
no test coverage detected