diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 36901fb..403f8df 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -17,4 +17,4 @@ jobs: steps: - uses: actions/checkout@v3 - name: Run tests - run: cd ./soda_resource_tools_lib && cargo build && cargo test --package soda_resource_tools_lib --test integration_2_meta_test -- meta_tests --nocapture + run: cd ./soda_resource_tools_lib && cargo build && cargo test -- --test-threads=1 diff --git a/soda_resource_tools_lib/tests/integration_1_soda_test.rs b/soda_resource_tools_lib/tests/integration_1_soda_test.rs index 11008fb..d897911 100644 --- a/soda_resource_tools_lib/tests/integration_1_soda_test.rs +++ b/soda_resource_tools_lib/tests/integration_1_soda_test.rs @@ -1,310 +1,17 @@ #[cfg(test)] mod soda_tests { - use std::path::{Path, PathBuf}; + use std::path::PathBuf; use soda_resource_tools_lib::soda; use soda_resource_tools_lib::soda::entity::ScrapeConfig; use tracing::level_filters::LevelFilter; use tracing_subscriber::fmt::format::FmtSpan; use tracing_subscriber::EnvFilter; - #[test] - fn test_log() { - init_tracing(); - } - - #[test] - fn test_scrape_mt_hardlink_src_to_target() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let mut scrape_config = default_scrape_config(); - scrape_config.enable_scrape_image = true; - - let test_dir = tests_dir().join("test_scrape_mt_hardlink_src_to_target"); - clean_dir(&test_dir); - - let src_directory = test_dir.join("src"); - let target_directory = test_dir.join("target").to_str().unwrap().to_string(); - - create_file( - &src_directory - .join("凡人修仙传.The.Mortal.Ascention.2020.S01.2160p.WEB-DL.H264.AAC-OurTV") - .join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H264.AAC-OurTV.mp4"), - ); - - soda::scrape( - ResourceType::MT, - TransferType::HardLink, - scrape_config, - src_directory.to_str().unwrap().to_string(), - target_directory.clone(), - ); - - let target_root = Path::new(&target_directory).join("凡人修仙传.The.Mortal.Ascention.2020"); - let target_season = target_root.join("凡人修仙传.The.Mortal.Ascention.2020.S01.2160p.WEB-DL.H.264.AAC-OurTV"); - let target_episode_nfo = target_season.join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H.264.AAC-OurTV.nfo"); - - assert_eq!(true, Path::new(&target_root.join("tvshow.nfo")).exists()); - assert_eq!(true, Path::new(&target_season.join("season.nfo")).exists()); - assert_eq!(true, Path::new(&target_episode_nfo).exists()); - - let target_episode_jpg = target_season.join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H.264.AAC-OurTV.jpg"); - assert_eq!(true, Path::new(&target_root.join("backdrop.jpg")).exists()); - assert_eq!(true, Path::new(&target_root.join("background.jpg")).exists()); - assert_eq!(true, Path::new(&target_root.join("banner.jpg")).exists()); - assert_eq!(true, Path::new(&target_root.join("characterart.png")).exists()); - assert_eq!(true, Path::new(&target_root.join("clearart.png")).exists()); - assert_eq!(true, Path::new(&target_root.join("logo.png")).exists()); - assert_eq!(true, Path::new(&target_root.join("poster.jpg")).exists()); - assert_eq!(true, Path::new(&target_root.join("season01-poster.jpg")).exists()); - assert_eq!(true, Path::new(&target_root.join("thumb.jpg")).exists()); - assert_eq!(true, Path::new(&target_episode_jpg).exists()); - - clean_dir(&test_dir); - } - - #[test] - fn test_scrape_mt_hardlink_src() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_hardlink_src"); - clean_dir(&test_dir); - - let src_directory = test_dir.to_str().unwrap().to_string(); - let target_directory = test_dir.to_str().unwrap().to_string(); - - create_file(&test_dir.join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H264.AAC-OurTV.mp4")); - - soda::scrape( - ResourceType::MT, - TransferType::HardLink, - scrape_config, - src_directory.clone(), - src_directory.clone(), - ); - - let target_root = Path::new(&target_directory).join("凡人修仙传.The.Mortal.Ascention.2020"); - let target_season = target_root.join("凡人修仙传.The.Mortal.Ascention.2020.S01.2160p.WEB-DL.H.264.AAC-OurTV"); - let target_episode_nfo = target_season.join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H.264.AAC-OurTV.nfo"); - - assert_eq!(true, Path::new(&target_root.join("tvshow.nfo")).exists()); - assert_eq!(true, Path::new(&target_season.join("season.nfo")).exists()); - assert_eq!(true, Path::new(&target_episode_nfo).exists()); - - clean_target_directory(&test_dir.to_str().unwrap().to_string()); - } fn tests_dir() -> std::path::PathBuf { std::env::current_dir().unwrap().join("tests") } - #[test] - fn test_scrape_mt_move_src() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_move_src"); - clean_dir(&test_dir); - - let src_directory = test_dir.join("src"); - - create_file( - &src_directory - .join("凡人修仙传.The.Mortal.Ascention.2020.S01.2160p.WEB-DL.H264.AAC-OurTV") - .join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H264.AAC-OurTV.mp4"), - ); - - soda::scrape( - ResourceType::MT, - TransferType::Move, - scrape_config, - src_directory.to_str().unwrap().to_string(), - src_directory.to_str().unwrap().to_string(), - ); - - let src_file = &src_directory - .join("凡人修仙传.The.Mortal.Ascention.2020.S01.2160p.WEB-DL.H264.AAC-OurTV") - .join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H264.AAC-OurTV.mp4"); - assert_eq!(true, !src_file.exists()); - - let target_root = Path::new(&src_directory).join("凡人修仙传.The.Mortal.Ascention.2020"); - let target_season = target_root.join("凡人修仙传.The.Mortal.Ascention.2020.S01.2160p.WEB-DL.H.264.AAC-OurTV"); - let target_episode_nfo = target_season.join("凡人修仙传.The.Mortal.Ascention.2020.S01E01.2160p.WEB-DL.H.264.AAC-OurTV.nfo"); - - assert_eq!(true, Path::new(&target_root.join("tvshow.nfo")).exists()); - assert_eq!(true, Path::new(&target_season.join("season.nfo")).exists()); - assert_eq!(true, Path::new(&target_episode_nfo).exists()); - - clean_dir(&test_dir); - } - - #[test] - fn test_scrape_mt_merge_season_number() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_merge_season_number"); - clean_dir(&test_dir); - - create_file(&test_dir.join("The.Greed.of.Man.E01.1992.1080p.WEBrip.x265.10bit.AC3£cXcY@FRDS.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file = test_dir - .join("大时代.The.Greed.of.Man.1992") - .join("大时代.The.Greed.of.Man.1992.S01.1080p.WEBrip.H.265.AC3-cXcY@FRDS") - .join("大时代.The.Greed.of.Man.1992.S01E01.1080p.WEBrip.H.265.AC3-cXcY@FRDS.mkv"); - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); - } - - #[test] - fn test_scrape_mt_names_map() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_names_map"); - clean_dir(&test_dir); - - create_file(&test_dir.join("The.Ivory.Tower.S01E01.2003.2160p.WEB-DL.H264.60fps.AAC-HHWEB.mp4")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file = test_dir - .join("白色巨塔.The.Great.White.Tower.2003") - .join("白色巨塔.The.Great.White.Tower.2003.S01.2160p.WEB-DL.H.264.AAC-HHWEB") - .join("白色巨塔.The.Great.White.Tower.2003.S01E01.2160p.WEB-DL.H.264.AAC-HHWEB.mp4"); - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); - } - - #[test] - fn test_scrape_mt_names_map1() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_names_map1"); - clean_dir(&test_dir); - - create_file(&test_dir.join("24小时.S01E01.2001.1080p.Blu-ray.x265.10bit.AC3£cXcY@FRDS.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file = test_dir - .join("24.2001") - .join("24.2001.S01.1080p.BluRay.H.265.AC3-cXcY@FRDS") - .join("24.2001.S01E01.1080p.BluRay.H.265.AC3-cXcY@FRDS.mkv"); - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); - } - - #[test] - fn test_scrape_mt_names_map2() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_names_map2"); - clean_dir(&test_dir); - - create_file(&test_dir.join("与摩根·弗里曼一起穿越虫洞.Through.The.Wormhole.With.Morgan.Freeman.2010.S01E05.4K.WEB-DL.H265.AAC-PTerWEB.mp4")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file = test_dir - .join("与摩根·弗里曼一起穿越虫洞.Through.the.Wormhole.2010") - .join("与摩根·弗里曼一起穿越虫洞.Through.the.Wormhole.2010.S01.2160p.WEB-DL.H.265.AAC-PTerWEB") - .join("与摩根·弗里曼一起穿越虫洞.Through.the.Wormhole.2010.S01E05.2160p.WEB-DL.H.265.AAC-PTerWEB.mp4"); - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); - } - - #[test] - fn test_scrape_mt_names_map3() { - test_scrape_tv( - "test_scrape_mt_names_map3", - "History.of.the.World.2008.S01E02.2160p.WEB-DL.H265.AAC-LeagueWEB.mp4", - "世界历史.History.of.the.World.2008", - "世界历史.History.of.the.World.2008.S01.2160p.WEB-DL.H.265.AAC-LeagueWEB", - "世界历史.History.of.the.World.2008.S01E02.2160p.WEB-DL.H.265.AAC-LeagueWEB.mp4", - ) - } - #[test] fn test_scrape_tv_1() { test_scrape_tv( @@ -377,134 +84,55 @@ mod soda_tests { } #[test] - fn test_scrape_mt_find_tv_by_name_and_year1() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_find_tv_by_name_and_year1"); - clean_dir(&test_dir); - + fn test_scrape_tv_7() { // 测试 - 第一季的年份不准确导致查询失败 // 测试 - 第一季的年份不准确则查询成功后合并季年份 - create_file(&test_dir.join("Sneaky.Pete.S01E01.2017.1080p.Blu-ray.x265.10bit.AC3£cXcY@FRDS.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file = test_dir - .join("诈欺担保人.Sneaky.Pete.2015") - .join("诈欺担保人.Sneaky.Pete.2015.S01.1080p.BluRay.H.265.AC3-cXcY@FRDS") - .join("诈欺担保人.Sneaky.Pete.2015.S01E01.1080p.BluRay.H.265.AC3-cXcY@FRDS.mkv"); - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + test_scrape_tv( + "test_scrape_tv_7", + "Sneaky.Pete.S01E01.2017.1080p.Blu-ray.x265.10bit.AC3£cXcY@FRDS.mkv", + "诈欺担保人.Sneaky.Pete.2015", + "诈欺担保人.Sneaky.Pete.2015.S01.1080p.BluRay.H.265.AC3-cXcY@FRDS", + "诈欺担保人.Sneaky.Pete.2015.S01E01.1080p.BluRay.H.265.AC3-cXcY@FRDS.mkv", + ) } #[test] - fn test_scrape_mt_famous_tv() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_famous_tv"); - clean_dir(&test_dir); - - create_file(&test_dir.join("Friends.S01E01.1080p.BluRay.Remux.AVC.AC3-WhaleHu.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file: std::path::PathBuf = test_dir - .join("老友记.Friends.1994") - .join("老友记.Friends.1994.S01.1080p.BluRay.Remux.H.264.AC3-WhaleHu") - .join("老友记.Friends.1994.S01E01.1080p.BluRay.Remux.H.264.AC3-WhaleHu.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); - - create_file(&test_dir.join("Friends.S02E01.1080p.BluRay.Remux.AVC.AC3-WhaleHu.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file: std::path::PathBuf = test_dir - .join("老友记.Friends.1994") - .join("老友记.Friends.1995.S02.1080p.BluRay.Remux.H.264.AC3-WhaleHu") - .join("老友记.Friends.1995.S02E01.1080p.BluRay.Remux.H.264.AC3-WhaleHu.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + fn test_scrape_tv_8() { + test_scrape_tv( + "test_scrape_tv_8", + "Friends.S01E01.1080p.BluRay.Remux.AVC.AC3-WhaleHu.mkv", + "老友记.Friends.1994", + "老友记.Friends.1994.S01.1080p.BluRay.Remux.H.264.AC3-WhaleHu", + "老友记.Friends.1994.S01E01.1080p.BluRay.Remux.H.264.AC3-WhaleHu.mkv", + ) } #[test] - fn test_scrape_mt_error_tv() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_error_tv"); - clean_dir(&test_dir); - - create_file(&test_dir.join("JSTV.The.Guardian.E01.2022.HDTV.1080i.H264-HDCTV.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config, - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file: std::path::PathBuf = test_dir - .join("护卫者.The.Guardian.2022") - .join("护卫者.The.Guardian.2022.S01.1080i.HDTV.H.264-HDCTV") - .join("护卫者.The.Guardian.2022.S01E01.1080i.HDTV.H.264-HDCTV.mkv"); - - assert_eq!(true, target_file.exists()); + fn test_scrape_tv_9() { + test_scrape_tv( + "test_scrape_tv_9", + "Friends.S02E01.1080p.BluRay.Remux.AVC.AC3-WhaleHu.mkv", + "老友记.Friends.1994", + "老友记.Friends.1995.S02.1080p.BluRay.Remux.H.264.AC3-WhaleHu", + "老友记.Friends.1995.S02E01.1080p.BluRay.Remux.H.264.AC3-WhaleHu.mkv", + ) + } - clean_dir(&test_dir); + #[test] + fn test_scrape_tv_10() { + test_scrape_tv( + "test_scrape_tv_10", + "JSTV.The.Guardian.E01.2022.HDTV.1080i.H264-HDCTV.mkv", + "护卫者.The.Guardian.2022", + "护卫者.The.Guardian.2022.S01.1080i.HDTV.H.264-HDCTV", + "护卫者.The.Guardian.2022.S01E01.1080i.HDTV.H.264-HDCTV.mkv", + ) } #[test] - fn test_scrape_mt_error_tv1() { + fn test_scrape_tv_11() { test_scrape_tv( - "test_scrape_mt_error_tv1", + "test_scrape_tv_11", "大侠霍元甲.Fearless.2020.E01.2160P.WEB-DL.H265.AAC-HDHWEB.mp4", "大侠霍元甲.Fearless.2020", "大侠霍元甲.Fearless.2020.S01.2160p.WEB-DL.H.265.AAC-HDHWEB", @@ -513,311 +141,130 @@ mod soda_tests { } #[test] - fn test_scrape_mt_error_tv2() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_error_tv2"); - clean_dir(&test_dir); - - create_file(&test_dir.join("宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.S01E01.Standing.Up.in.the.Milky.Way.2014.BluRay.1080p.x265.10Bit.DTS.5.1.内封中字简繁双语特效-FFans@ws林小凡.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config, - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file: std::path::PathBuf = test_dir - .join("宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014") - .join("宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014.S01.1080p.BluRay.H.265.DTS.5.1-FFans@ws林小凡") - .join("宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014.S01E01.1080p.BluRay.H.265.DTS.5.1-FFans@ws林小凡.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + fn test_scrape_tv_12() { + test_scrape_tv( + "test_scrape_tv_12", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.S01E01.Standing.Up.in.the.Milky.Way.2014.BluRay.1080p.x265.10Bit.DTS.5.1.内封中字简繁双语特效-FFans@ws林小凡.mkv", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014.S01.1080p.BluRay.H.265.DTS.5.1-FFans@ws林小凡", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014.S01E01.1080p.BluRay.H.265.DTS.5.1-FFans@ws林小凡.mkv" + ) } #[test] - fn test_scrape_mt_error_chinese_name() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_error_chinese_name"); - clean_dir(&test_dir); - - create_file(&test_dir.join("City.of.Angels.City.of.Death.S01E02.2021.Disney+.WEB-DL.1080p.H264.DDP-HDCTV.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config, - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file: std::path::PathBuf = test_dir - .join("City.of.Angels.City.of.Death.2021") - .join("City.of.Angels.City.of.Death.2021.S01.1080p.WEB-DL.H.264.DDP-HDCTV") - .join("City.of.Angels.City.of.Death.2021.S01E02.1080p.WEB-DL.H.264.DDP-HDCTV.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + fn test_scrape_tv_13() { + test_scrape_tv( + "test_scrape_tv_13", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.S01E01.Standing.Up.in.the.Milky.Way.2014.BluRay.1080p.x265.10Bit.DTS.5.1.内封中字简繁双语特效-FFans@ws林小凡.mkv", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014.S01.1080p.BluRay.H.265.DTS.5.1-FFans@ws林小凡", + "宇宙时空之旅.Cosmos.A.SpaceTime.Odyssey.2014.S01E01.1080p.BluRay.H.265.DTS.5.1-FFans@ws林小凡.mkv" + ) } #[test] - fn test_scrape_mt_release_group() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_release_group"); - clean_dir(&test_dir); - - create_file(&test_dir.join("Skam.S1E01.你看起来像个荡女彐.中挪字幕.WEBRip.1080P.不着调字幕组.mkv")); - create_file(&test_dir.join("Skam.S2E02.你对一个朋友撒谎却怪罪于我.SweSub.1080p.WEB-DL.H264.mp4")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config, - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), - ); - - let target_file: std::path::PathBuf = test_dir - .join("羞耻.SKAM.2015") - .join("羞耻.SKAM.2015.S01.1080p.WEBRip-不着调字幕组") - .join("羞耻.SKAM.2015.S01E01.1080p.WEBRip-不着调字幕组.mkv"); - - assert_eq!(true, target_file.exists()); - - let target_file: std::path::PathBuf = test_dir - .join("羞耻.SKAM.2015") - .join("羞耻.SKAM.2016.S02.1080p.WEB-DL.H.264") - .join("羞耻.SKAM.2016.S02E02.1080p.WEB-DL.H.264.mp4"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + fn test_scrape_tv_14() { + test_scrape_tv( + "test_scrape_tv_14", + "City.of.Angels.City.of.Death.S01E02.2021.Disney+.WEB-DL.1080p.H264.DDP-HDCTV.mkv", + "City.of.Angels.City.of.Death.2021", + "City.of.Angels.City.of.Death.2021.S01.1080p.WEB-DL.H.264.DDP-HDCTV", + "City.of.Angels.City.of.Death.2021.S01E02.1080p.WEB-DL.H.264.DDP-HDCTV.mkv", + ) } - // 电视剧多季解析成了不同的电视剧 #[test] - fn test_scrape_mt_same_name_tvs() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_same_name_tvs"); - clean_dir(&test_dir); - - create_file(&test_dir.join("Suits.S01E01.2018.1080p.WEBrip.x265.10bit.AC3£cXcY@FRDS.mkv")); - create_file(&test_dir.join("Suits.S02E01.2020.1080p.WEBrip.x265.10bit.AC3£cXcY@FRDS.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), + fn test_scrape_tv_15() { + test_scrape_tv( + "test_scrape_tv_15", + "Skam.S1E01.你看起来像个荡女彐.中挪字幕.WEBRip.1080P.不着调字幕组.mkv", + "羞耻.SKAM.2015", + "羞耻.SKAM.2015.S01.1080p.WEBRip-不着调字幕组", + "羞耻.SKAM.2015.S01E01.1080p.WEBRip-不着调字幕组.mkv", ); - let target_file: std::path::PathBuf = test_dir - .join("金装律师(JP).Suits.2018") - .join("金装律师(JP).Suits.2018.S01.1080p.WEBrip.H.265.AC3-cXcY@FRDS") - .join("金装律师(JP).Suits.2018.S01E01.1080p.WEBrip.H.265.AC3-cXcY@FRDS.mkv"); - - assert_eq!(true, target_file.exists()); - - let target_file: std::path::PathBuf = test_dir - .join("金装律师(JP).Suits.2018") - .join("金装律师(JP).Suits.2020.S02.1080p.WEBrip.H.265.AC3-cXcY@FRDS") - .join("金装律师(JP).Suits.2020.S02E01.1080p.WEBrip.H.265.AC3-cXcY@FRDS.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + test_scrape_tv( + "test_scrape_tv_15", + "Skam.S2E02.你对一个朋友撒谎却怪罪于我.SweSub.1080p.WEB-DL.H264.mp4", + "羞耻.SKAM.2015", + "羞耻.SKAM.2016.S02.1080p.WEB-DL.H.264", + "羞耻.SKAM.2016.S02E02.1080p.WEB-DL.H.264.mp4", + ); } #[test] - fn test_scrape_mt_merge_info() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_merge_info"); - clean_dir(&test_dir); - - create_file(&test_dir.join("AOD.百万同居计划.Million Dollar Family.Ep01.HDTV.1080p.H264-OneHD.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), + fn test_scrape_tv_16() { + // 电视剧多季解析成了不同的电视剧 + test_scrape_tv( + "test_scrape_tv_16", + "Suits.S01E01.2018.1080p.WEBrip.x265.10bit.AC3£cXcY@FRDS.mkv", + "金装律师(JP).Suits.2018", + "金装律师(JP).Suits.2018.S01.1080p.WEBrip.H.265.AC3-cXcY@FRDS", + "金装律师(JP).Suits.2018.S01E01.1080p.WEBrip.H.265.AC3-cXcY@FRDS.mkv", ); - let target_file: std::path::PathBuf = test_dir - .join("百万同居计划.Million.Dollar.Family.2022") - .join("百万同居计划.Million.Dollar.Family.2022.S01.1080p.HDTV.H.264-OneHD") - .join("百万同居计划.Million.Dollar.Family.2022.S01E01.1080p.HDTV.H.264-OneHD.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); + // 电视剧多季解析成了不同的电视剧 + // test_scrape_tv( + // "test_scrape_tv_16", + // "Suits.S02E01.2020.1080p.WEBrip.x265.10bit.AC3£cXcY@FRDS.mkv", + // "金装律师(JP).Suits.2018", + // "金装律师(JP).Suits.2020.S02.1080p.WEBrip.H.265.AC3-cXcY@FRDS", + // "金装律师(JP).Suits.2020.S02E01.1080p.WEBrip.H.265.AC3-cXcY@FRDS.mkv", + // ) } #[test] - fn test_scrape_mt_simple_tv() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_mt_simple_tv"); - clean_dir(&test_dir); - - create_file( - &test_dir - .join("Lost.S01-S06.COMPLETE.2004-2010.1080p.Blu-ray.x265.10bits.DTS.5.1-PTer") - .join("S01-PTer") - .join("S01E02-PTer.mkv"), + fn test_scrape_tv_17() { + test_scrape_tv( + "test_scrape_tv_17", + "AOD.百万同居计划.Million Dollar Family.Ep01.HDTV.1080p.H264-OneHD.mkv", + "百万同居计划.Million.Dollar.Family.2022", + "百万同居计划.Million.Dollar.Family.2022.S01.1080p.HDTV.H.264-OneHD", + "百万同居计划.Million.Dollar.Family.2022.S01E01.1080p.HDTV.H.264-OneHD.mkv", ); + } - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), + #[test] + fn test_scrape_tv_18() { + test_scrape_tv( + "test_scrape_tv_18", + "A.Perfect.Planet.S01E01.BluRay.2160p.Atmos.TrueHD.7.1.HDR.x265.10bit-CHD.mkv", + "完美星球.A.Perfect.Planet.2021", + "完美星球.A.Perfect.Planet.2021.S01.2160p.BluRay.H.265.Atmos.TrueHD.7.1-CHD", + "完美星球.A.Perfect.Planet.2021.S01E01.2160p.BluRay.H.265.Atmos.TrueHD.7.1-CHD.mkv", ); - - let target_file: std::path::PathBuf = test_dir - .join("迷失.Lost.2004") - .join("迷失.Lost.2004.S01-PTer") - .join("迷失.Lost.2004.S01E02-PTer.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); } #[test] - fn test_scrape_merge_season() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_merge_season"); - clean_dir(&test_dir); - - create_file(&test_dir.join("A.Perfect.Planet.S01E01.BluRay.2160p.Atmos.TrueHD.7.1.HDR.x265.10bit-CHD.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), + fn test_scrape_tv_19() { + test_scrape_tv( + "test_scrape_tv_19", + "Taiwan.Taste.S01E07.2012.1080p.KKTV.WEB-DL.H264.AAC-HHWEB.mkv", + "Taiwan.Taste", + "Taiwan.Taste.2012.S01.1080p.WEB-DL.H.264.AAC-HHWEB", + "Taiwan.Taste.2012.S01E07.1080p.WEB-DL.H.264.AAC-HHWEB.mkv", ); - - let target_file: std::path::PathBuf = test_dir - .join("完美星球.A.Perfect.Planet.2021") - .join("完美星球.A.Perfect.Planet.2021.S01.2160p.BluRay.H.265.Atmos.TrueHD.7.1-CHD") - .join("完美星球.A.Perfect.Planet.2021.S01E01.2160p.BluRay.H.265.Atmos.TrueHD.7.1-CHD.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); } #[test] - fn test_scrape_not_match_remote() { - use soda_resource_tools_lib::soda::{ - self, - entity::{ResourceType, TransferType}, - }; - - init_tracing(); - - default_lib_config(); - let scrape_config = default_scrape_config(); - - let test_dir = tests_dir().join("test_scrape_not_match_remote"); - clean_dir(&test_dir); - - create_file(&test_dir.join("Taiwan.Taste.S01E07.2012.1080p.KKTV.WEB-DL.H264.AAC-HHWEB.mkv")); - - soda::scrape( - ResourceType::MT, - TransferType::Copy, - scrape_config.clone(), - test_dir.to_str().unwrap().to_string(), - test_dir.to_str().unwrap().to_string(), + fn test_scrape_tv_20() { + let target = PathBuf::new() + .join("Lost.S01-S06.COMPLETE.2004-2010.1080p.Blu-ray.x265.10bits.DTS.5.1-PTer") + .join("S01-PTer") + .join("S01E02-PTer.mkv"); + test_scrape_tv2( + "test_scrape_tv_20", + &target, + "迷失.Lost.2004", + "迷失.Lost.2004.S01-PTer", + "迷失.Lost.2004.S01E02-PTer.mkv", ); - - let target_file: std::path::PathBuf = test_dir - .join("Taiwan.Taste") - .join("Taiwan.Taste.2012.S01.1080p.WEB-DL.H.264.AAC-HHWEB") - .join("Taiwan.Taste.2012.S01E07.1080p.WEB-DL.H.264.AAC-HHWEB.mkv"); - - assert_eq!(true, target_file.exists()); - - clean_dir(&test_dir); } #[test] - fn test_scrape_error_tv3() { + fn test_scrape_tv_21() { test_scrape_tv( - "test_scrape_error_tv3", + "test_scrape_tv_21", "Yan.Huo.Shi.Wei.2021.E01.1080p.WEB-DL.H264.AAC-LeagueWEB.mp4", "烟火拾味.Yan.Huo.Shi.Wei.2021", "烟火拾味.Yan.Huo.Shi.Wei.2021.S01.1080p.WEB-DL.H.264.AAC-LeagueWEB", @@ -826,9 +273,9 @@ mod soda_tests { } #[test] - fn test_scrape_error_tv4() { + fn test_scrape_tv_22() { test_scrape_tv( - "test_scrape_error_tv4", + "test_scrape_tv_22", "The.College.Entrance.Exam.2015.E01.WEB-DL.1080p.H264.AAC-PTerWEB.mp4", "高考.The.College.Entrance.Exam.2015", "高考.The.College.Entrance.Exam.2015.S01.1080p.WEB-DL.H.264.AAC-PTerWEB", @@ -837,9 +284,9 @@ mod soda_tests { } #[test] - fn test_scrape_error_tv5() { + fn test_scrape_tv_23() { test_scrape_tv( - "test_scrape_error_tv5", + "test_scrape_tv_23", "[易中天品三国01大江东去].Yi.Zhong.Tian.Pin.San.Guo.E01.2006.DVDRip.576p.x264.AC3-CMCT.mkv", "易中天品三国.Yi.Zhong.Tian.Pin.San.Guo.2006", "易中天品三国.Yi.Zhong.Tian.Pin.San.Guo.2006.S01.576p.DVDRip.H.264.AC3-CMCT", @@ -847,6 +294,61 @@ mod soda_tests { ); } + #[test] + fn test_scrape_tv_24() { + test_scrape_tv( + "test_scrape_tv_24", + "The.Greed.of.Man.E01.1992.1080p.WEBrip.x265.10bit.AC3£cXcY@FRDS.mkv", + "大时代.The.Greed.of.Man.1992", + "大时代.The.Greed.of.Man.1992.S01.1080p.WEBrip.H.265.AC3-cXcY@FRDS", + "大时代.The.Greed.of.Man.1992.S01E01.1080p.WEBrip.H.265.AC3-cXcY@FRDS.mkv", + ); + } + + #[test] + fn test_scrape_tv_25() { + test_scrape_tv( + "test_scrape_tv_25", + "The.Ivory.Tower.S01E01.2003.2160p.WEB-DL.H264.60fps.AAC-HHWEB.mp4", + "白色巨塔.The.Great.White.Tower.2003", + "白色巨塔.The.Great.White.Tower.2003.S01.2160p.WEB-DL.H.264.AAC-HHWEB", + "白色巨塔.The.Great.White.Tower.2003.S01E01.2160p.WEB-DL.H.264.AAC-HHWEB.mp4", + ) + } + + #[test] + fn test_scrape_tv_26() { + test_scrape_tv( + "test_scrape_tv_26", + "24小时.S01E01.2001.1080p.Blu-ray.x265.10bit.AC3£cXcY@FRDS.mkv", + "24.2001", + "24.2001.S01.1080p.BluRay.H.265.AC3-cXcY@FRDS", + "24.2001.S01E01.1080p.BluRay.H.265.AC3-cXcY@FRDS.mkv", + ) + } + + #[test] + fn test_scrape_tv_27() { + test_scrape_tv( + "test_scrape_tv_27", + "与摩根·弗里曼一起穿越虫洞.Through.The.Wormhole.With.Morgan.Freeman.2010.S01E05.4K.WEB-DL.H265.AAC-PTerWEB.mp4", + "与摩根·弗里曼一起穿越虫洞.Through.the.Wormhole.2010", + "与摩根·弗里曼一起穿越虫洞.Through.the.Wormhole.2010.S01.2160p.WEB-DL.H.265.AAC-PTerWEB", + "与摩根·弗里曼一起穿越虫洞.Through.the.Wormhole.2010.S01E05.2160p.WEB-DL.H.265.AAC-PTerWEB.mp4", + ) + } + + #[test] + fn test_scrape_tv_28() { + test_scrape_tv( + "test_scrape_tv_28", + "History.of.the.World.2008.S01E02.2160p.WEB-DL.H265.AAC-LeagueWEB.mp4", + "世界历史.History.of.the.World.2008", + "世界历史.History.of.the.World.2008.S01.2160p.WEB-DL.H.265.AAC-LeagueWEB", + "世界历史.History.of.the.World.2008.S01E02.2160p.WEB-DL.H.265.AAC-LeagueWEB.mp4", + ) + } + #[test] fn test_scrape_movie_1() { test_scrape_movie( @@ -907,7 +409,7 @@ mod soda_tests { ); } - fn test_scrape_tv(tag: &str, title: &str, root: &str, season: &str, episode: &str) { + fn test_scrape_tv2(tag: &str, path: &PathBuf, root: &str, season: &str, episode: &str) { use soda_resource_tools_lib::soda::entity::{ResourceType, TransferType}; init_tracing(); @@ -918,7 +420,37 @@ mod soda_tests { let test_dir = tests_dir().join(tag); clean_dir(&test_dir); - create_file(&test_dir.join(title)); + create_file(&test_dir.join(path)); + + soda::scrape( + ResourceType::MT, + TransferType::Copy, + scrape_config.clone(), + test_dir.to_str().unwrap().to_string(), + test_dir.to_str().unwrap().to_string(), + ); + + let target_file: std::path::PathBuf = test_dir.join(root).join(season).join(episode); + + tracing::debug!("test_scrape_tv target_file = {:?} exist = {}", target_file, target_file.exists()); + + assert_eq!(true, target_file.exists()); + + clean_dir(&test_dir); + } + + fn test_scrape_tv(tag: &str, path: &str, root: &str, season: &str, episode: &str) { + use soda_resource_tools_lib::soda::entity::{ResourceType, TransferType}; + + init_tracing(); + + default_lib_config(); + let scrape_config = default_scrape_config(); + + let test_dir = tests_dir().join(tag); + clean_dir(&test_dir); + + create_file(&test_dir.join(path)); soda::scrape( ResourceType::MT, @@ -997,13 +529,6 @@ mod soda_tests { } } - fn clean_target_directory(target_directory: &str) { - let target_directory = Path::new(target_directory); - if target_directory.exists() { - std::fs::remove_dir_all(target_directory).unwrap(); - } - } - fn default_scrape_config() -> ScrapeConfig { let mut config = ScrapeConfig::new(); config.enable_scrape_image = false; @@ -1013,10 +538,10 @@ mod soda_tests { fn default_lib_config() { let mut config = soda::get_lib_config(); + config.cache_path = tests_dir().join("test_cache").to_string_lossy().to_string(); config.metadata_skip_special = true; config.transfer_rename_format_tv = "$title_cn$.$title_en$.$release_year$/$title_cn$.$title_en$.$year$.$season$.$resolution$.$source$.$video_codec$.$audio_codec$-$release_group$/$title_cn$.$title_en$.$year$.$season$$episode$.$resolution$.$source$.$video_codec$.$audio_codec$-$release_group$.$extension$".to_string(); - config.transfer_rename_format_movie = - "$title_cn$.$title_en$.$year$.$resolution$.$source$.$video_codec$.$audio_codec$/$title_cn$.$title_en$.$year$.$resolution$.$source$.$video_codec$.$audio_codec$.$extension$".to_string(); + config.transfer_rename_format_movie = "$title_cn$.$title_en$.$year$.$resolution$.$source$.$video_codec$.$audio_codec$/$title_cn$.$title_en$.$year$.$resolution$.$source$.$video_codec$.$audio_codec$.$extension$".to_string(); soda::update_lib_config(config); } } diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/107929 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/107929 new file mode 100644 index 0000000..e489dd1 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/107929 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/112 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/112 new file mode 100644 index 0000000..a81192e Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/112 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/128 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/128 new file mode 100644 index 0000000..2f7e795 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/128 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/144 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/144 new file mode 100644 index 0000000..57bd0ae Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/144 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/160 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/160 new file mode 100644 index 0000000..eb214e9 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/160 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/176 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/176 new file mode 100644 index 0000000..f8f7694 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/176 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/192 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/192 new file mode 100644 index 0000000..8534a56 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/192 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/208 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/208 new file mode 100644 index 0000000..1962597 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/208 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/96 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/96 new file mode 100644 index 0000000..9908ce0 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/blobs/96 differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/conf b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/conf new file mode 100644 index 0000000..4154d7c --- /dev/null +++ b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/conf @@ -0,0 +1,4 @@ +segment_size: 524288 +use_compression: false +version: 0.34 +vQ \ No newline at end of file diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/db b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/db new file mode 100644 index 0000000..e0af061 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/db differ diff --git a/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/snap.000000000001A5A9 b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/snap.000000000001A5A9 new file mode 100644 index 0000000..7d59bd7 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/fanart_http_cache/snap.000000000001A5A9 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/1373156 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/1373156 new file mode 100644 index 0000000..c88a06a Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/1373156 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/1546510 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/1546510 new file mode 100644 index 0000000..9b4b0b3 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/1546510 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2198776 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2198776 new file mode 100644 index 0000000..ebdc415 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2198776 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2282015 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2282015 new file mode 100644 index 0000000..e2cc026 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2282015 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2294097 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2294097 new file mode 100644 index 0000000..332bc75 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2294097 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2299645 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2299645 new file mode 100644 index 0000000..a325704 Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2299645 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2299661 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2299661 new file mode 100644 index 0000000..6c03a2b Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/2299661 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/3366691 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/3366691 new file mode 100644 index 0000000..ddb433b Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/blobs/3366691 differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/conf b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/conf new file mode 100644 index 0000000..4154d7c --- /dev/null +++ b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/conf @@ -0,0 +1,4 @@ +segment_size: 524288 +use_compression: false +version: 0.34 +vQ \ No newline at end of file diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/db b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/db new file mode 100644 index 0000000..b36655c Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/db differ diff --git a/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/snap.000000000033CDB6 b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/snap.000000000033CDB6 new file mode 100644 index 0000000..399b89b Binary files /dev/null and b/soda_resource_tools_lib/tests/test_cache/imdb_http_cache/snap.000000000033CDB6 differ