fix: failing video_details_music comment test
This commit is contained in:
parent
9707a6eb0b
commit
c7ae2f8531
12 changed files with 38 additions and 11 deletions
|
|
@ -35,7 +35,7 @@ impl RustyPipeQuery {
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
Ok(map_ytm_paginator(p, endpoint))
|
Ok(map_ytm_paginator(p, visitor_data, endpoint))
|
||||||
} else {
|
} else {
|
||||||
let context = self
|
let context = self
|
||||||
.get_context(ClientType::Desktop, true, visitor_data)
|
.get_context(ClientType::Desktop, true, visitor_data)
|
||||||
|
|
@ -55,33 +55,35 @@ impl RustyPipeQuery {
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
Ok(map_yt_paginator(p, endpoint))
|
Ok(map_yt_paginator(p, visitor_data, endpoint))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn map_yt_paginator<T: FromYtItem>(
|
fn map_yt_paginator<T: FromYtItem>(
|
||||||
p: Paginator<YouTubeItem>,
|
p: Paginator<YouTubeItem>,
|
||||||
|
visitor_data: Option<&str>,
|
||||||
endpoint: ContinuationEndpoint,
|
endpoint: ContinuationEndpoint,
|
||||||
) -> Paginator<T> {
|
) -> Paginator<T> {
|
||||||
Paginator {
|
Paginator {
|
||||||
count: p.count,
|
count: p.count,
|
||||||
items: p.items.into_iter().filter_map(T::from_yt_item).collect(),
|
items: p.items.into_iter().filter_map(T::from_yt_item).collect(),
|
||||||
ctoken: p.ctoken,
|
ctoken: p.ctoken,
|
||||||
visitor_data: p.visitor_data,
|
visitor_data: visitor_data.map(str::to_owned),
|
||||||
endpoint,
|
endpoint,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn map_ytm_paginator<T: FromYtItem>(
|
fn map_ytm_paginator<T: FromYtItem>(
|
||||||
p: Paginator<MusicItem>,
|
p: Paginator<MusicItem>,
|
||||||
|
visitor_data: Option<&str>,
|
||||||
endpoint: ContinuationEndpoint,
|
endpoint: ContinuationEndpoint,
|
||||||
) -> Paginator<T> {
|
) -> Paginator<T> {
|
||||||
Paginator {
|
Paginator {
|
||||||
count: p.count,
|
count: p.count,
|
||||||
items: p.items.into_iter().filter_map(T::from_ytm_item).collect(),
|
items: p.items.into_iter().filter_map(T::from_ytm_item).collect(),
|
||||||
ctoken: p.ctoken,
|
ctoken: p.ctoken,
|
||||||
visitor_data: p.visitor_data,
|
visitor_data: visitor_data.map(str::to_owned),
|
||||||
endpoint,
|
endpoint,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -318,7 +320,7 @@ mod tests {
|
||||||
let map_res: MapResult<Paginator<YouTubeItem>> =
|
let map_res: MapResult<Paginator<YouTubeItem>> =
|
||||||
items.map_response("", Language::En, None).unwrap();
|
items.map_response("", Language::En, None).unwrap();
|
||||||
let paginator: Paginator<PlaylistItem> =
|
let paginator: Paginator<PlaylistItem> =
|
||||||
map_yt_paginator(map_res.c, ContinuationEndpoint::Browse);
|
map_yt_paginator(map_res.c, None, ContinuationEndpoint::Browse);
|
||||||
|
|
||||||
assert!(
|
assert!(
|
||||||
map_res.warnings.is_empty(),
|
map_res.warnings.is_empty(),
|
||||||
|
|
@ -340,7 +342,7 @@ mod tests {
|
||||||
let map_res: MapResult<Paginator<MusicItem>> =
|
let map_res: MapResult<Paginator<MusicItem>> =
|
||||||
items.map_response("", Language::En, None).unwrap();
|
items.map_response("", Language::En, None).unwrap();
|
||||||
let paginator: Paginator<TrackItem> =
|
let paginator: Paginator<TrackItem> =
|
||||||
map_ytm_paginator(map_res.c, ContinuationEndpoint::MusicBrowse);
|
map_ytm_paginator(map_res.c, None, ContinuationEndpoint::MusicBrowse);
|
||||||
|
|
||||||
assert!(
|
assert!(
|
||||||
map_res.warnings.is_empty(),
|
map_res.warnings.is_empty(),
|
||||||
|
|
|
||||||
|
|
@ -742,12 +742,14 @@ VideoDetails(
|
||||||
count: Some(705000),
|
count: Some(705000),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("CgtCeURHR09uNlJ5TSjOiLqZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(705000),
|
count: Some(705000),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("CgtCeURHR09uNlJ5TSjOiLqZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("CgtCeURHR09uNlJ5TSjOiLqZBg%3D%3D"),
|
visitor_data: Some("CgtCeURHR09uNlJ5TSjOiLqZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -816,12 +816,14 @@ VideoDetails(
|
||||||
count: Some(705000),
|
count: Some(705000),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("Cgs2V0p6ZW5ab1ozTSjkrpaaBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(705000),
|
count: Some(705000),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("Cgs2V0p6ZW5ab1ozTSjkrpaaBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("Cgs2V0p6ZW5ab1ozTSjkrpaaBg%3D%3D"),
|
visitor_data: Some("Cgs2V0p6ZW5ab1ozTSjkrpaaBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -1274,12 +1274,14 @@ VideoDetails(
|
||||||
count: Some(3200),
|
count: Some(3200),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("Cgtidzg4MlRTb3FKSSiqipeaBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(3200),
|
count: Some(3200),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("Cgtidzg4MlRTb3FKSSiqipeaBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("Cgtidzg4MlRTb3FKSSiqipeaBg%3D%3D"),
|
visitor_data: Some("Cgtidzg4MlRTb3FKSSiqipeaBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -46,12 +46,14 @@ VideoDetails(
|
||||||
count: None,
|
count: None,
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyJSIRIgtIUkt1MGN2cnJfbzABeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyJSIRIgtIUkt1MGN2cnJfbzABeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("CgtxUUdrc1VSVE54Zyja1KiZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: None,
|
count: None,
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyOCIRIgtIUkt1MGN2cnJfbzABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SC0hSS3UwY3Zycl9vGAYyOCIRIgtIUkt1MGN2cnJfbzABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("CgtxUUdrc1VSVE54Zyja1KiZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("CgtxUUdrc1VSVE54Zyja1KiZBg%3D%3D"),
|
visitor_data: Some("CgtxUUdrc1VSVE54Zyja1KiZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -763,12 +763,14 @@ VideoDetails(
|
||||||
count: Some(2200),
|
count: Some(2200),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyJSIRIgswcmI5Q2ZPdm9qazAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyJSIRIgswcmI5Q2ZPdm9qazAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("CgtoY1pQUF8wNW1qayjSjpSZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(2200),
|
count: Some(2200),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyOCIRIgswcmI5Q2ZPdm9qazABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SCzByYjlDZk92b2prGAYyOCIRIgswcmI5Q2ZPdm9qazABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("CgtoY1pQUF8wNW1qayjSjpSZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("CgtoY1pQUF8wNW1qayjSjpSZBg%3D%3D"),
|
visitor_data: Some("CgtoY1pQUF8wNW1qayjSjpSZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -1231,12 +1231,14 @@ VideoDetails(
|
||||||
count: Some(2900),
|
count: Some(2900),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyJSIRIgtuRkRCeEJVZkU3NDAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("CgtIV0JjSUtDQm9LQSjUjpSZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(2900),
|
count: Some(2900),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SC25GREJ4QlVmRTc0GAYyOCIRIgtuRkRCeEJVZkU3NDABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("CgtIV0JjSUtDQm9LQSjUjpSZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("CgtIV0JjSUtDQm9LQSjUjpSZBg%3D%3D"),
|
visitor_data: Some("CgtIV0JjSUtDQm9LQSjUjpSZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -822,12 +822,14 @@ VideoDetails(
|
||||||
count: Some(0),
|
count: Some(0),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: None,
|
ctoken: None,
|
||||||
|
visitor_data: Some("CgtnQS1WdzlNNkNCSSiSmKiZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(0),
|
count: Some(0),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: None,
|
ctoken: None,
|
||||||
|
visitor_data: Some("CgtnQS1WdzlNNkNCSSiSmKiZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("CgtnQS1WdzlNNkNCSSiSmKiZBg%3D%3D"),
|
visitor_data: Some("CgtnQS1WdzlNNkNCSSiSmKiZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -568,12 +568,14 @@ VideoDetails(
|
||||||
count: Some(0),
|
count: Some(0),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: None,
|
ctoken: None,
|
||||||
|
visitor_data: Some("CgtzclhqZVpoajVhVSi76qeZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(0),
|
count: Some(0),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: None,
|
ctoken: None,
|
||||||
|
visitor_data: Some("CgtzclhqZVpoajVhVSi76qeZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("CgtzclhqZVpoajVhVSi76qeZBg%3D%3D"),
|
visitor_data: Some("CgtzclhqZVpoajVhVSi76qeZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -779,12 +779,14 @@ VideoDetails(
|
||||||
count: Some(705000),
|
count: Some(705000),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyJSIRIgtaZWVycm51TGk1RTAAeAJCEGNvbW1lbnRzLXNlY3Rpb24%3D"),
|
||||||
|
visitor_data: Some("Cgtjemd0bDVxU1N1QSjRjpSZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator(
|
latest_comments: Paginator(
|
||||||
count: Some(705000),
|
count: Some(705000),
|
||||||
items: [],
|
items: [],
|
||||||
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
ctoken: Some("Eg0SC1plZXJybnVMaTVFGAYyOCIRIgtaZWVycm51TGk1RTABeAIwAUIhZW5nYWdlbWVudC1wYW5lbC1jb21tZW50cy1zZWN0aW9u"),
|
||||||
|
visitor_data: Some("Cgtjemd0bDVxU1N1QSjRjpSZBg%3D%3D"),
|
||||||
endpoint: next,
|
endpoint: next,
|
||||||
),
|
),
|
||||||
visitor_data: Some("Cgtjemd0bDVxU1N1QSjRjpSZBg%3D%3D"),
|
visitor_data: Some("Cgtjemd0bDVxU1N1QSjRjpSZBg%3D%3D"),
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,10 @@ impl RustyPipeQuery {
|
||||||
&request_body,
|
&request_body,
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
|
.map(|p| Paginator {
|
||||||
|
visitor_data: visitor_data.map(str::to_owned),
|
||||||
|
..p
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -244,6 +248,7 @@ impl MapResponse<VideoDetails> for response::VideoDetails {
|
||||||
_ => return Err(ExtractionError::InvalidData("invalid channel link".into())),
|
_ => return Err(ExtractionError::InvalidData("invalid channel link".into())),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let visitor_data = self.response_context.visitor_data;
|
||||||
let recommended = contents
|
let recommended = contents
|
||||||
.two_column_watch_next_results
|
.two_column_watch_next_results
|
||||||
.secondary_results
|
.secondary_results
|
||||||
|
|
@ -252,7 +257,7 @@ impl MapResponse<VideoDetails> for response::VideoDetails {
|
||||||
let mut res = map_recommendations(
|
let mut res = map_recommendations(
|
||||||
r,
|
r,
|
||||||
sr.secondary_results.continuations,
|
sr.secondary_results.continuations,
|
||||||
self.response_context.visitor_data.clone(),
|
visitor_data.clone(),
|
||||||
lang,
|
lang,
|
||||||
);
|
);
|
||||||
warnings.append(&mut res.warnings);
|
warnings.append(&mut res.warnings);
|
||||||
|
|
@ -333,17 +338,17 @@ impl MapResponse<VideoDetails> for response::VideoDetails {
|
||||||
comment_count,
|
comment_count,
|
||||||
Vec::new(),
|
Vec::new(),
|
||||||
comment_ctoken,
|
comment_ctoken,
|
||||||
None,
|
visitor_data.clone(),
|
||||||
crate::param::ContinuationEndpoint::Next,
|
crate::param::ContinuationEndpoint::Next,
|
||||||
),
|
),
|
||||||
latest_comments: Paginator::new_ext(
|
latest_comments: Paginator::new_ext(
|
||||||
comment_count,
|
comment_count,
|
||||||
Vec::new(),
|
Vec::new(),
|
||||||
latest_comments_ctoken,
|
latest_comments_ctoken,
|
||||||
None,
|
visitor_data.clone(),
|
||||||
crate::param::ContinuationEndpoint::Next,
|
crate::param::ContinuationEndpoint::Next,
|
||||||
),
|
),
|
||||||
visitor_data: self.response_context.visitor_data,
|
visitor_data,
|
||||||
},
|
},
|
||||||
warnings,
|
warnings,
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -502,11 +502,13 @@ async fn get_video_details_music() {
|
||||||
assert!(!details.recommended.items.is_empty());
|
assert!(!details.recommended.items.is_empty());
|
||||||
assert!(!details.recommended.is_exhausted());
|
assert!(!details.recommended.is_exhausted());
|
||||||
|
|
||||||
// Comments are disabled for this video
|
// Update(01.11.2022): comments are sometimes enabled
|
||||||
|
/*
|
||||||
assert_eq!(details.top_comments.count, Some(0));
|
assert_eq!(details.top_comments.count, Some(0));
|
||||||
assert_eq!(details.latest_comments.count, Some(0));
|
assert_eq!(details.latest_comments.count, Some(0));
|
||||||
assert!(details.top_comments.is_empty());
|
assert!(details.top_comments.is_empty());
|
||||||
assert!(details.latest_comments.is_empty());
|
assert!(details.latest_comments.is_empty());
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|
|
||||||
Reference in a new issue