| 418 | } |
| 419 | |
| 420 | func TestIncludeCompactedBlock(t *testing.T) { |
| 421 | blocklistPoll := 5 * time.Minute |
| 422 | tests := []struct { |
| 423 | name string |
| 424 | searchID common.ID |
| 425 | blockStart uuid.UUID |
| 426 | blockEnd uuid.UUID |
| 427 | meta *backend.CompactedBlockMeta |
| 428 | start int64 |
| 429 | end int64 |
| 430 | expected bool |
| 431 | }{ |
| 432 | { |
| 433 | name: "include recent", |
| 434 | searchID: []byte{0x05}, |
| 435 | blockStart: uuid.MustParse(BlockIDMin), |
| 436 | blockEnd: uuid.MustParse(BlockIDMax), |
| 437 | start: 0, |
| 438 | end: 0, |
| 439 | meta: &backend.CompactedBlockMeta{ |
| 440 | BlockMeta: backend.BlockMeta{ |
| 441 | BlockID: backend.MustParse("50000000-0000-0000-0000-000000000000"), |
| 442 | }, |
| 443 | CompactedTime: time.Now().Add(-(1 * blocklistPoll)), |
| 444 | }, |
| 445 | expected: true, |
| 446 | }, |
| 447 | { |
| 448 | name: "skip old", |
| 449 | searchID: []byte{0x05}, |
| 450 | blockStart: uuid.MustParse(BlockIDMin), |
| 451 | blockEnd: uuid.MustParse(BlockIDMax), |
| 452 | start: 0, |
| 453 | end: 0, |
| 454 | meta: &backend.CompactedBlockMeta{ |
| 455 | BlockMeta: backend.BlockMeta{ |
| 456 | BlockID: backend.MustParse("50000000-0000-0000-0000-000000000000"), |
| 457 | }, |
| 458 | CompactedTime: time.Now().Add(-(3 * blocklistPoll)), |
| 459 | }, |
| 460 | expected: false, |
| 461 | }, |
| 462 | { |
| 463 | name: "skip recent but out of range", |
| 464 | searchID: []byte{0x05}, |
| 465 | blockStart: uuid.MustParse("40000000-0000-0000-0000-000000000000"), |
| 466 | blockEnd: uuid.MustParse("50000000-0000-0000-0000-000000000000"), |
| 467 | start: 0, |
| 468 | end: 0, |
| 469 | meta: &backend.CompactedBlockMeta{ |
| 470 | BlockMeta: backend.BlockMeta{ |
| 471 | BlockID: backend.MustParse("51000000-0000-0000-0000-000000000000"), |
| 472 | }, |
| 473 | CompactedTime: time.Now().Add(-(1 * blocklistPoll)), |
| 474 | }, |
| 475 | expected: false, |
| 476 | }, |
| 477 | } |