Skip to content

Commit a288174

Browse files
committed
add some simple test for the release stat content
1 parent f9fdcdb commit a288174

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

src/web/releases.rs

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ pub fn build_queue_handler(req: &mut Request) -> IronResult<Response> {
755755
mod tests {
756756
use super::*;
757757
use crate::test::{assert_redirect, assert_success, wrapper, TestFrontend};
758-
use chrono::TimeZone;
758+
use chrono::{Duration, TimeZone};
759759
use failure::Error;
760760
use kuchiki::traits::TendrilSink;
761761
use std::collections::HashSet;
@@ -1344,7 +1344,44 @@ mod tests {
13441344
fn release_activity() {
13451345
wrapper(|env| {
13461346
let web = env.frontend();
1347-
assert_success("/releases/activity", web)?;
1347+
1348+
let empty_data = format!("data: [{}]", vec!["0"; 30].join(","));
1349+
1350+
// no data / only zeros without releases
1351+
let response = web.get("/releases/activity/").send()?;
1352+
assert!(response.status().is_success());
1353+
assert_eq!(response.text().unwrap().matches(&empty_data).count(), 2);
1354+
1355+
env.fake_release().name("some_random_crate").create()?;
1356+
env.fake_release()
1357+
.name("some_random_crate_that_failed")
1358+
.build_result_failed()
1359+
.create()?;
1360+
1361+
// same when the release is on the current day, since we ignore today.
1362+
let response = web.get("/releases/activity/").send()?;
1363+
assert!(response.status().is_success());
1364+
assert_eq!(response.text().unwrap().matches(&empty_data).count(), 2);
1365+
1366+
env.fake_release()
1367+
.name("some_random_crate_yesterday")
1368+
.release_time(Utc::now() - Duration::days(1))
1369+
.create()?;
1370+
env.fake_release()
1371+
.name("some_random_crate_that_failed_yesterday")
1372+
.build_result_failed()
1373+
.release_time(Utc::now() - Duration::days(1))
1374+
.create()?;
1375+
1376+
// with releases yesterday we get the data we want
1377+
let response = web.get("/releases/activity/").send()?;
1378+
assert!(response.status().is_success());
1379+
let text = response.text().unwrap();
1380+
// counts contain both releases
1381+
assert!(text.contains(&format!("data: [{},2]", vec!["0"; 29].join(","))));
1382+
// failures only one
1383+
assert!(text.contains(&format!("data: [{},1]", vec!["0"; 29].join(","))));
1384+
13481385
Ok(())
13491386
})
13501387
}

0 commit comments

Comments
 (0)