use std::time::Duration;
use anyhow::Result;
use twapi_v2::api::{BearerAuthentication, TwapiOptions, execute_twitter, get_2_tweets};
#[tokio::test]
async fn test_get_2_tweets_tweets() -> Result<()> {
let bearer_code = std::env::var("BEARER_CODE").unwrap_or_default();
let bearer_auth = BearerAuthentication::new(bearer_code);
let twapi_option = TwapiOptions {
try_count: Some(4),
retry_interval_duration: Some(Duration::from_millis(1000)),
retriable_fn: Some(|status_code, _header| {
status_code.is_server_error() || status_code.as_u16() == 400
}),
..Default::default()
};
let (res, rate_limit) = execute_twitter::<serde_json::Value>(
|| get_2_tweets::Api::all("-1,-2").build(&bearer_auth),
&Some(twapi_option),
)
.await?;
println!("{}", serde_json::to_string(&res).unwrap());
println!("{}", rate_limit);
let response = serde_json::from_value::<get_2_tweets::Response>(res)?;
assert_eq!(response.is_empty_extra(), true);
Ok(())
}