177 lines
6.6 KiB
Python
177 lines
6.6 KiB
Python
import sys
|
|
import os
|
|
|
|
# getting the name of the directory
|
|
# where the this file is present.
|
|
current = os.path.dirname(os.path.realpath(__file__))
|
|
|
|
# Getting the parent directory name
|
|
# where the current directory is present.
|
|
parent = os.path.dirname(current)
|
|
|
|
# adding the parent directory to
|
|
# the sys.path.
|
|
sys.path.append(parent)
|
|
|
|
from src.main import cleanup_watched
|
|
|
|
tv_shows_watched_list_1 = {
|
|
frozenset({("tvdb", "75710"), ("title", "Criminal Minds"), ("imdb", "tt0452046"), ("locations", ("Criminal Minds",)), ("tmdb", "4057")}): {
|
|
"Season 1": [
|
|
{'imdb': 'tt0550489', 'tmdb': '282843', 'tvdb': '176357', 'locations': ('Criminal Minds S01E01 Extreme Aggressor WEBDL-720p.mkv',)},
|
|
{'imdb': 'tt0550487', 'tmdb': '282861', 'tvdb': '300385', 'locations': ('Criminal Minds S01E02 Compulsion WEBDL-720p.mkv',)}
|
|
]
|
|
},
|
|
frozenset({("title", "Test"), ("locations", ("Test",))}): {
|
|
"Season 1": [
|
|
{'locations': ('Test S01E01.mkv',)},
|
|
{'locations': ('Test S01E02.mkv',)}
|
|
]
|
|
}
|
|
}
|
|
|
|
movies_watched_list_1 = [
|
|
{"imdb":"tt2380307", "tmdb":"354912", 'title': 'Coco', 'locations': ('Coco (2017) Remux-1080p.mkv',)},
|
|
{"tmdbcollection":"448150", "imdb":"tt1431045", "tmdb":"293660", 'title': 'Deadpool', 'locations': ('Deadpool (2016) Remux-1080p.mkv',)},
|
|
]
|
|
|
|
tv_shows_watched_list_2 = {
|
|
frozenset({("tvdb", "75710"), ("title", "Criminal Minds"), ("imdb", "tt0452046"), ("locations", ("Criminal Minds",)), ("tmdb", "4057")}): {
|
|
"Season 1": [
|
|
{'imdb': 'tt0550487', 'tmdb': '282861', 'tvdb': '300385', 'locations': ('Criminal Minds S01E02 Compulsion WEBDL-720p.mkv',)},
|
|
{'imdb': 'tt0550498', 'tmdb': '282865', 'tvdb': '300474', 'locations': ("Criminal Minds S01E03 Won't Get Fooled Again WEBDL-720p.mkv",)}
|
|
]
|
|
},
|
|
frozenset({("title", "Test"), ("locations", ("Test",))}): {
|
|
"Season 1": [
|
|
{'locations': ('Test S01E02.mkv',)},
|
|
{'locations': ('Test S01E03.mkv',)}
|
|
]
|
|
}
|
|
}
|
|
|
|
movies_watched_list_2 = [
|
|
{"imdb":"tt2380307", "tmdb":"354912", 'title': 'Coco', 'locations': ('Coco (2017) Remux-1080p.mkv',)},
|
|
{'imdb': 'tt0384793', 'tmdb': '9788', 'tvdb': '9103', 'title': 'Accepted', 'locations': ('Accepted (2006) Remux-1080p.mkv',)}
|
|
]
|
|
|
|
# Test to see if objects get deleted all the way up to the root.
|
|
tv_shows_2_watched_list_1 = {
|
|
frozenset({("tvdb", "75710"), ("title", "Criminal Minds"), ("imdb", "tt0452046"), ("locations", ("Criminal Minds",)), ("tmdb", "4057")}): {
|
|
"Season 1": [
|
|
{'imdb': 'tt0550489', 'tmdb': '282843', 'tvdb': '176357', 'locations': ('Criminal Minds S01E01 Extreme Aggressor WEBDL-720p.mkv',)},
|
|
]
|
|
}
|
|
}
|
|
|
|
expected_tv_show_watched_list_1 = {
|
|
frozenset({("tvdb", "75710"), ("title", "Criminal Minds"), ("imdb", "tt0452046"), ("locations", ("Criminal Minds",)), ("tmdb", "4057")}): {
|
|
"Season 1": [
|
|
{'imdb': 'tt0550489', 'tmdb': '282843', 'tvdb': '176357', 'locations': ('Criminal Minds S01E01 Extreme Aggressor WEBDL-720p.mkv',)}
|
|
]
|
|
},
|
|
frozenset({("title", "Test"), ("locations", ("Test",))}): {
|
|
"Season 1": [
|
|
{'locations': ('Test S01E01.mkv',)}
|
|
]
|
|
}
|
|
}
|
|
|
|
expected_movie_watched_list_1 = [
|
|
{"tmdbcollection":"448150", "imdb":"tt1431045", "tmdb":"293660", 'title': 'Deadpool', 'locations': ('Deadpool (2016) Remux-1080p.mkv',)}
|
|
]
|
|
|
|
expected_tv_show_watched_list_2 = {
|
|
frozenset({("tvdb", "75710"), ("title", "Criminal Minds"), ("imdb", "tt0452046"), ("locations", ("Criminal Minds",)), ("tmdb", "4057")}): {
|
|
"Season 1": [
|
|
{'imdb': 'tt0550498', 'tmdb': '282865', 'tvdb': '300474', 'locations': ("Criminal Minds S01E03 Won't Get Fooled Again WEBDL-720p.mkv",)}
|
|
]
|
|
},
|
|
frozenset({("title", "Test"), ("locations", ("Test",))}): {
|
|
"Season 1": [
|
|
{'locations': ('Test S01E03.mkv',)}
|
|
]
|
|
}
|
|
}
|
|
|
|
expected_movie_watched_list_2 = [
|
|
{'imdb': 'tt0384793', 'tmdb': '9788', 'tvdb': '9103', 'title': 'Accepted', 'locations': ('Accepted (2006) Remux-1080p.mkv',)}
|
|
]
|
|
|
|
|
|
def test_simple_cleanup_watched():
|
|
user_watched_list_1 = {
|
|
"user1": {
|
|
"TV Shows": tv_shows_watched_list_1,
|
|
"Movies": movies_watched_list_1,
|
|
"Other Shows": tv_shows_2_watched_list_1
|
|
},
|
|
}
|
|
user_watched_list_2 = {
|
|
"user1": {
|
|
"TV Shows": tv_shows_watched_list_2,
|
|
"Movies": movies_watched_list_2,
|
|
"Other Shows": tv_shows_2_watched_list_1
|
|
}
|
|
}
|
|
|
|
expected_watched_list_1 = {
|
|
"user1": {
|
|
"TV Shows": expected_tv_show_watched_list_1
|
|
, "Movies": expected_movie_watched_list_1
|
|
}
|
|
}
|
|
|
|
expected_watched_list_2 = {
|
|
"user1": {
|
|
"TV Shows": expected_tv_show_watched_list_2
|
|
, "Movies": expected_movie_watched_list_2
|
|
}
|
|
}
|
|
|
|
return_watched_list_1 = cleanup_watched(user_watched_list_1, user_watched_list_2)
|
|
return_watched_list_2 = cleanup_watched(user_watched_list_2, user_watched_list_1)
|
|
|
|
assert return_watched_list_1 == expected_watched_list_1
|
|
assert return_watched_list_2 == expected_watched_list_2
|
|
|
|
|
|
def test_mapping_cleanup_watched():
|
|
user_watched_list_1 = {
|
|
"user1": {
|
|
"TV Shows": tv_shows_watched_list_1,
|
|
"Movies": movies_watched_list_1,
|
|
"Other Shows": tv_shows_2_watched_list_1
|
|
},
|
|
}
|
|
user_watched_list_2 = {
|
|
"user2": {
|
|
"Shows": tv_shows_watched_list_2,
|
|
"Movies": movies_watched_list_2,
|
|
"Other Shows": tv_shows_2_watched_list_1
|
|
}
|
|
}
|
|
|
|
expected_watched_list_1 = {
|
|
"user1": {
|
|
"TV Shows": expected_tv_show_watched_list_1
|
|
, "Movies": expected_movie_watched_list_1
|
|
}
|
|
}
|
|
|
|
expected_watched_list_2 = {
|
|
"user2": {
|
|
"Shows": expected_tv_show_watched_list_2
|
|
, "Movies": expected_movie_watched_list_2
|
|
}
|
|
}
|
|
|
|
user_mapping = { "user1": "user2" }
|
|
library_mapping = { "TV Shows": "Shows" }
|
|
|
|
return_watched_list_1 = cleanup_watched(user_watched_list_1, user_watched_list_2, user_mapping=user_mapping, library_mapping=library_mapping)
|
|
return_watched_list_2 = cleanup_watched(user_watched_list_2, user_watched_list_1, user_mapping=user_mapping, library_mapping=library_mapping)
|
|
|
|
assert return_watched_list_1 == expected_watched_list_1
|
|
assert return_watched_list_2 == expected_watched_list_2
|