Skip to content

Commit 93eb572

Browse files
committed
Add test for a completed try
1 parent cc65504 commit 93eb572

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

database/src/pool.rs

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,4 +579,68 @@ mod tests {
579579
})
580580
.await;
581581
}
582+
583+
#[tokio::test]
584+
async fn adding_try_commit_to_completed_request() {
585+
run_postgres_test(|ctx| async {
586+
let db = ctx.db_client();
587+
let db = db.connection().await;
588+
let time = chrono::DateTime::from_str("2021-09-01T00:00:00.000Z").unwrap();
589+
let pr = 42;
590+
591+
let completed_try = BenchmarkRequest::create_try(
592+
Some("sha-2"),
593+
Some("p-sha-1"),
594+
pr,
595+
time,
596+
BenchmarkRequestStatus::Completed,
597+
"cranelift",
598+
"",
599+
);
600+
db.insert_benchmark_request(&completed_try).await;
601+
602+
let try_benchmark_request = BenchmarkRequest::create_try(
603+
None,
604+
None,
605+
pr,
606+
time,
607+
BenchmarkRequestStatus::WaitingForArtifacts,
608+
"cranelift",
609+
"",
610+
);
611+
// deliberately insert twice
612+
db.insert_benchmark_request(&try_benchmark_request).await;
613+
// this one should fail
614+
db.insert_benchmark_request(&try_benchmark_request).await;
615+
db.attach_shas_to_try_benchmark_request(pr, "foo", "bar")
616+
.await
617+
.unwrap();
618+
619+
let requests = db
620+
.get_benchmark_requests_by_status(&[
621+
BenchmarkRequestStatus::WaitingForArtifacts,
622+
BenchmarkRequestStatus::ArtifactsReady,
623+
BenchmarkRequestStatus::InProgress,
624+
BenchmarkRequestStatus::Completed,
625+
])
626+
.await
627+
.unwrap();
628+
629+
assert_eq!(requests.len(), 2);
630+
let completed_try = requests
631+
.iter()
632+
.find(|req| req.status == BenchmarkRequestStatus::Completed);
633+
assert!(completed_try.is_some());
634+
assert_eq!(completed_try.unwrap().pr(), Some(&pr));
635+
636+
let artifacts_ready_try = requests
637+
.iter()
638+
.find(|req| req.status == BenchmarkRequestStatus::ArtifactsReady);
639+
assert!(artifacts_ready_try.is_some());
640+
assert_eq!(artifacts_ready_try.unwrap().pr(), Some(&pr));
641+
642+
Ok(ctx)
643+
})
644+
.await;
645+
}
582646
}

0 commit comments

Comments
 (0)