mod utils;
use TheMovieDB::base::TMDB;
use std::collections::HashMap;
#[test]
fn test_new() {
let tmdb = TMDB::new();
assert_eq!(tmdb.base_uri, "https://api.themoviedb.org/3");
assert!(tmdb.session.is_none());
assert!(tmdb.timeout.is_none());
assert_eq!(tmdb.headers.get("Content-Type").unwrap(), "application/json");
assert_eq!(tmdb.headers.get("Accept").unwrap(), "application/json");
assert_eq!(tmdb.headers.get("Connection").unwrap(), "close");
assert_eq!(tmdb.base_path, "");
assert!(tmdb.urls.is_empty());
}
#[test]
fn test_get_path() {
let mut tmdb = TMDB::new();
tmdb.base_path = "movie".to_string();
tmdb.urls.insert("info".to_string(), "/{id}".to_string());
assert_eq!(tmdb._get_path("info"), "movie/{id}");
}
#[test]
fn test_get_complete_url() {
let tmdb = TMDB::new();
assert_eq!(tmdb._get_complete_url("movie/123"), "https://api.themoviedb.org/3/movie/123");
}
#[test]
fn test_get_params() {
unsafe { std::env::set_var("TMDB_API_KEY", "dummy_api_key"); }
let tmdb = TMDB::new();
let mut params = HashMap::new();
let result = tmdb._get_params(&mut params);
assert!(result.is_ok());
assert_eq!(params.get("api_key").unwrap(), "dummy_api_key");
unsafe { std::env::remove_var("TMDB_API_KEY"); }
let tmdb = TMDB::new();
let mut params = HashMap::new();
let result = tmdb._get_params(&mut params);
assert!(result.is_err());
}