Skip to content

Commit 21cbeca

Browse files
committed
fix unit test
Signed-off-by: yongman <[email protected]>
1 parent 6d318ca commit 21cbeca

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

src/region_cache.rs

+29-3
Original file line numberDiff line numberDiff line change
@@ -497,11 +497,15 @@ mod test {
497497
async fn test_get_region_by_key() -> Result<()> {
498498
let retry_client = Arc::new(MockRetryClient::default());
499499
let cache = RegionCache::new(retry_client.clone());
500+
let leader = Some(metapb::Peer {
501+
store_id: 1,
502+
..Default::default()
503+
});
500504

501-
let region1 = region(1, vec![], vec![10]);
502-
let region2 = region(2, vec![10], vec![20]);
505+
let region1 = region_with_leader(1, vec![], vec![10], leader.clone());
506+
let region2 = region_with_leader(2, vec![10], vec![20], leader.clone());
503507
let region3 = region(3, vec![30], vec![40]);
504-
let region4 = region(4, vec![50], vec![]);
508+
let region4 = region_with_leader(4, vec![50], vec![], leader.clone());
505509
cache.add_region(region1.clone()).await;
506510
cache.add_region(region2.clone()).await;
507511
cache.add_region(region3.clone()).await;
@@ -521,6 +525,8 @@ mod test {
521525
);
522526
assert!(cache.get_region_by_key(&vec![20].into()).await.is_err());
523527
assert!(cache.get_region_by_key(&vec![25].into()).await.is_err());
528+
// region3 in cache has no leader, the cache is invalid.
529+
assert!(cache.get_region_by_key(&vec![35].into()).await.is_err());
524530
assert_eq!(cache.get_region_by_key(&vec![60].into()).await?, region4);
525531
Ok(())
526532
}
@@ -557,6 +563,26 @@ mod test {
557563
region
558564
}
559565

566+
fn region_with_leader(
567+
id: RegionId,
568+
start_key: Vec<u8>,
569+
end_key: Vec<u8>,
570+
leader: Option<metapb::Peer>,
571+
) -> RegionWithLeader {
572+
let mut region = RegionWithLeader::default();
573+
region.region.id = id;
574+
region.region.start_key = start_key;
575+
region.region.end_key = end_key;
576+
region.region.region_epoch = Some(RegionEpoch {
577+
conf_ver: 0,
578+
version: 0,
579+
});
580+
// We don't care about other fields here
581+
582+
region.leader = leader;
583+
region
584+
}
585+
560586
#[test]
561587
fn test_is_valid_tikv_store() {
562588
let mut store = metapb::Store::default();

0 commit comments

Comments
 (0)