test: fix asserts: client version parts, iOS client bitrate

This commit is contained in:
ThetaDev 2024-05-17 18:27:24 +02:00
parent cf3b84fe70
commit 2aa3aba601
5 changed files with 25 additions and 24 deletions

View file

@ -1,7 +1,7 @@
[package] [package]
name = "rustypipe-cli" name = "rustypipe-cli"
version = "0.1.0" version = "0.1.0"
rust-version = "1.74.0" rust-version = "1.67.1"
edition.workspace = true edition.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true

View file

@ -73,7 +73,7 @@ commit_parsers = [
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" }, { message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" }, { message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" }, { message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" }, { message = "^test", skip = true },
{ message = "^chore\\(release\\)", skip = true }, { message = "^chore\\(release\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true }, { message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true }, { message = "^chore\\(pull\\)", skip = true },

View file

@ -1592,9 +1592,11 @@ fn validate_country(country: Country) -> Country {
mod tests { mod tests {
use super::*; use super::*;
// 1.20240506.01.00-canary_control_1.20240508.01.01
// 1.20240508.01.01-canary_experiment_1.20240506.01.00
fn get_major_version(version: &str) -> u32 { fn get_major_version(version: &str) -> u32 {
let parts = version.split('.').collect::<Vec<_>>(); let parts = version.split('.').collect::<Vec<_>>();
assert_eq!(parts.len(), 4); assert!(parts.len() >= 4, "version: {version}");
parts[0].parse().unwrap() parts[0].parse().unwrap()
} }

View file

@ -476,15 +476,12 @@ impl TryFrom<TextComponent> for crate::model::ChannelId {
match value { match value {
TextComponent::Browse { TextComponent::Browse {
text, text,
page_type, page_type: PageType::Channel | PageType::Artist,
browse_id, browse_id,
} => match page_type { } => Ok(crate::model::ChannelId {
PageType::Channel | PageType::Artist => Ok(crate::model::ChannelId { id: browse_id,
id: browse_id, name: text,
name: text, }),
}),
_ => Err(()),
},
_ => Err(()), _ => Err(()),
} }
} }

View file

@ -76,9 +76,9 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe)
.expect("audio #140"); .expect("audio #140");
// Bitrates may change between requests // Bitrates may change between requests
assert_approx(f64::from(video.bitrate), 1_851_854.0); assert_approx(video.bitrate, 1_500_162);
assert_eq!(video.average_bitrate, 923_766); assert_eq!(video.average_bitrate, 1_360_266);
assert_eq!(video.size, Some(29_909_835)); assert_eq!(video.size, Some(44_042_868));
assert_eq!(video.width, 1280); assert_eq!(video.width, 1280);
assert_eq!(video.height, 720); assert_eq!(video.height, 720);
assert_eq!(video.fps, 30); assert_eq!(video.fps, 30);
@ -88,9 +88,9 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe)
assert_eq!(video.format, VideoFormat::Webm); assert_eq!(video.format, VideoFormat::Webm);
assert_eq!(video.codec, VideoCodec::Vp9); assert_eq!(video.codec, VideoCodec::Vp9);
assert_approx(f64::from(audio.bitrate), 130_685.0); assert_approx(audio.bitrate, 130_685);
assert_approx(f64::from(audio.average_bitrate), 129_496.0); assert_approx(audio.average_bitrate, 129_496);
assert_approx(audio.size as f64, 4_193_863.0); assert_approx(audio.size as f64, 4_193_863);
assert_eq!(audio.mime, "audio/mp4; codecs=\"mp4a.40.2\""); assert_eq!(audio.mime, "audio/mp4; codecs=\"mp4a.40.2\"");
assert_eq!(audio.format, AudioFormat::M4a); assert_eq!(audio.format, AudioFormat::M4a);
assert_eq!(audio.codec, AudioCodec::Mp4a); assert_eq!(audio.codec, AudioCodec::Mp4a);
@ -109,9 +109,9 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe)
.find(|s| s.itag == 251) .find(|s| s.itag == 251)
.expect("audio stream not found"); .expect("audio stream not found");
assert_approx(f64::from(video.bitrate), 1_340_829.0); assert_approx(video.bitrate, 1_340_829);
assert_approx(f64::from(video.average_bitrate), 1_046_557.0); assert_approx(video.average_bitrate, 1_046_557);
assert_approx(video.size.expect("video size") as f64, 33_885_572.0); assert_approx(video.size.expect("video size") as f64, 33_885_572);
assert_eq!(video.width, 1280); assert_eq!(video.width, 1280);
assert_eq!(video.height, 720); assert_eq!(video.height, 720);
assert_eq!(video.fps, 30); assert_eq!(video.fps, 30);
@ -122,9 +122,9 @@ async fn get_player_from_client(#[case] client_type: ClientType, rp: RustyPipe)
assert_eq!(video.codec, VideoCodec::Av01); assert_eq!(video.codec, VideoCodec::Av01);
assert!(!video.throttled); assert!(!video.throttled);
assert_approx(f64::from(audio.bitrate), 142_718.0); assert_approx(audio.bitrate, 142_718);
assert_approx(f64::from(audio.average_bitrate), 130_708.0); assert_approx(audio.average_bitrate, 130_708);
assert_approx(audio.size as f64, 4_232_344.0); assert_approx(audio.size as f64, 4_232_344);
assert_eq!(audio.mime, "audio/webm; codecs=\"opus\""); assert_eq!(audio.mime, "audio/webm; codecs=\"opus\"");
assert_eq!(audio.format, AudioFormat::Webm); assert_eq!(audio.format, AudioFormat::Webm);
assert_eq!(audio.codec, AudioCodec::Opus); assert_eq!(audio.codec, AudioCodec::Opus);
@ -2705,7 +2705,9 @@ fn rp_visitor_data(vdata: &str) -> RustyPipe {
/// Assert equality within 10% margin /// Assert equality within 10% margin
#[track_caller] #[track_caller]
fn assert_approx(left: f64, right: f64) { fn assert_approx<A: Into<f64>, B: Into<f64>>(left: A, right: B) {
let left = left.into();
let right = right.into();
if left != right { if left != right {
let f = left / right; let f = left / right;
assert!( assert!(