def test_films(): """ Test API call to /films """ lbxd = Letterboxd() films_request = { "perPage": 25, "sort": "ReleaseDateEarliestFirst", # "filmId": ["2bbs", "imdb:tt0087469", "tmdb:89"], # "genre": "9a", # Science Fiction # "decade": 1980, # "year": 1989, # "service": "amazon", # Amazon # "where": ["NotReleased", "InWatchlist"], "member": "3P", "memberRelationship": "Favorited", "includeFriends": "All", # "tagCode": "stubs", # "tagger": "11Ht", # "includeTaggerFriends": "Only", } films = lbxd.films() films_response = films.films(films_request=films_request) logging.debug(f"films_response: {films_response}") assert isinstance(films_response, dict) assert set(films_response_keys()).issubset( films_response.keys() ), "All keys should be in FilmsResponse" # Debug print a simple list of the movies film_num = 1 for film in films_response["items"]: logging.debug(f"{film_num}. {film['name']}") film_num += 1
def test_films_genres(): """ Test API call to /films/genres """ lbxd = Letterboxd() films = lbxd.films() genres_response = films.genres() logging.debug(f"genres_response: {genres_response}") assert isinstance(genres_response, dict) assert set(genres_response_keys()).issubset( genres_response.keys() ), "All keys should be in GenresResponse" genre = genres_response["items"][0] logging.debug(f"genre: {genre}") assert set(genre_keys()).issubset(genre.keys()), "All keys should be in the Genre"
def test_films_services(): """ Test API call to /films/film-services """ lbxd = Letterboxd() # login, so that we can see all of the services available to this member LBXD_USERNAME, LBXD_PASSWORD = load_user_pass() lbxd.user(LBXD_USERNAME, LBXD_PASSWORD) films = lbxd.films() film_services_response = films.services() logging.debug(f"film_services_response: {film_services_response}") assert isinstance(film_services_response, dict) assert set(film_services_response_keys()).issubset( film_services_response.keys() ), "All keys should be in FilmServicesResponse" assert isinstance(film_services_response["items"], list) service = film_services_response["items"][0] assert set(service_keys()).issubset(service.keys()), "All keys should be in Service"