feature(test): add tests

This commit is contained in:
VC
2022-04-22 17:10:08 +02:00
parent 080218f385
commit 6363c12460
9 changed files with 222 additions and 26 deletions

View File

@@ -4,16 +4,13 @@ use crate::config::TwitterConfig;
use crate::util::cache_media;
// std
use std::{
error::Error,
collections::HashMap,
};
use std::error::Error;
// egg-mode
use egg_mode::{
Token,
KeyPair,
entities::{UrlEntity, MediaEntity, MediaType},
entities::{MediaEntity, MediaType},
user::UserID,
tweet::{
Tweet,
@@ -43,20 +40,6 @@ pub async fn get_user_timeline(config: &TwitterConfig, token: Token, lid: Option
Ok(feed.to_vec())
}
/// Decodes urls from UrlEntities
pub fn decode_urls(urls: &Vec<UrlEntity>) -> HashMap<String, String> {
let mut decoded_urls = HashMap::new();
for url in urls {
if url.expanded_url.is_some() {
// unwrap is safe here as we just verified that there is something inside expanded_url
decoded_urls.insert(String::from(&url.url), String::from(url.expanded_url.as_deref().unwrap()));
}
}
decoded_urls
}
/// Retrieves a single media from a tweet and store it in a temporary file
pub async fn get_tweet_media(m: &MediaEntity, t: &str) -> Result<String, Box<dyn Error>> {
match m.media_type {