diff --git a/src/services/torrent_file.rs b/src/services/torrent_file.rs index 3d02951d..eac6d823 100644 --- a/src/services/torrent_file.rs +++ b/src/services/torrent_file.rs @@ -48,3 +48,45 @@ pub fn generate_random_torrent(id: Uuid) -> Torrent { Torrent::from_new_torrent_info_request(torrent_info_request) } + +#[cfg(test)] +mod tests { + use serde_bytes::ByteBuf; + use uuid::Uuid; + + use crate::models::torrent_file::{Torrent, TorrentInfo}; + use crate::services::torrent_file::generate_random_torrent; + + #[test] + fn it_should_generate_a_random_meta_info_file() { + let uuid = Uuid::parse_str("d6170378-2c14-4ccc-870d-2a8e15195e23").unwrap(); + + let torrent = generate_random_torrent(uuid); + + let expected_torrent = Torrent { + info: TorrentInfo { + name: "file-d6170378-2c14-4ccc-870d-2a8e15195e23.txt".to_string(), + pieces: Some(ByteBuf::from(vec![ + 62, 231, 243, 51, 234, 165, 204, 209, 51, 132, 163, 133, 249, 50, 107, 46, 24, 15, 251, 32, + ])), + piece_length: 16384, + md5sum: None, + length: Some(37), + files: None, + private: Some(0), + path: None, + root_hash: None, + }, + announce: None, + announce_list: Some(vec![]), + creation_date: None, + comment: None, + created_by: None, + nodes: None, + encoding: None, + httpseeds: None, + }; + + assert_eq!(torrent, expected_torrent); + } +}