def test_actor_schema_load(actor_schema: ActorSchema): schema = actor_schema load = schema.load({"name": "name", "photo": "photo", "role": "role"}) assert load == Actor(name="name", photo="photo", role="role") load = schema.load({"name": None, "photo": None, "role": None}) assert load == Actor() load = schema.load({}) assert load == Actor()
def test_actor_strict_schema_load(actor_strict_schema: ActorStrictSchema): schema = actor_strict_schema load = schema.load({"name": "name", "photo": "photo", "role": "role"}) assert load == Actor(name="name", photo="photo", role="role") load = schema.load({"name": "name", "role": "role"}) assert load == Actor(name="name", role="role") with pytest.raises(ValidationError): schema.load({"name": None, "photo": None, "role": None}) with pytest.raises(ValidationError): schema.load({})
def test_movie_schema_load(movie_schema: MovieSchema): schema = movie_schema load = schema.load({ "title": "title", "sort_title": "sort_title", "original_title": "original_title", "content_rating": "content_rating", "tagline": ["tagline"], "studio": ["studio"], "aired": "2018-01-01", "summary": "summary", "rating": 1, "genres": ["genres"], "collections": ["collections"], "actors": [{ "name": "name", "role": "role" }], "writers": ["person"], "directors": ["person"] }) assert load == Movie(title="title", sort_title="sort_title", original_title="original_title", content_rating="content_rating", tagline=["tagline"], studio=["studio"], aired=date(2018, 1, 1), summary="summary", rating=1, genres=["genres"], collections=["collections"], actors=[Actor(name="name", role="role")], writers=[Person(name="person")], directors=[Person(name="person")]) load = schema.load({ "title": "", "sort_title": "", "original_title": None, "content_rating": "", "tagline": [""], "studio": [None], "aired": None, "summary": None, "rating": None, "genres": [], "collections": None, "actors": [], "writers": [""], "directors": None }) assert load == Movie() load = schema.load({}) assert load == Movie()
def test_movie_strict_schema_dump(movie_strict_schema: MovieStrictSchema): schema = movie_strict_schema dump = schema.dump( Movie(title="title", sort_title="sort_title", original_title="original_title", content_rating="content_rating", tagline=["tagline"], studio=["studio"], aired=date(2018, 1, 1), summary="summary", rating=1, genres=["genres"], collections=["collections"], actors=[Actor(name="name", role="role")], writers=[Person(name="person")], directors=[Person(name="person")])) assert dump == { "title": "title", "sort_title": "sort_title", "original_title": "original_title", "content_rating": "content_rating", "tagline": ["tagline"], "studio": ["studio"], "aired": "2018-01-01", "summary": "summary", "rating": 1, "genres": ["genres"], "collections": ["collections"], "actors": [{ "name": "name", "role": "role", "photo": None }], "writers": ["person"], "directors": ["person"] } dump = schema.dump(Movie()) assert dump == { "title": None, "sort_title": None, "original_title": None, "content_rating": None, "tagline": [], "studio": [], "aired": None, "summary": None, "rating": None, "genres": [], "collections": [], "actors": [], "writers": [], "directors": [] }
def test_show_schema_load(show_schema: ShowSchema): schema = show_schema load = schema.load({ "title": "title", "sort_title": "sort_title", "original_title": "original_title", "content_rating": "content_rating", "tagline": ["tagline"], "studio": ["studio"], "aired": "2018-01-01", "summary": "summary", "rating": 1, "genres": ["genres"], "collections": ["collections"], "actors": [{ "name": "name", "role": "role" }], "season_summary": { 1: "Season 1 Summary" } }) assert load == Show(title="title", sort_title="sort_title", original_title="original_title", content_rating="content_rating", tagline=["tagline"], studio=["studio"], aired=date(2018, 1, 1), summary="summary", rating=1, genres=["genres"], collections=["collections"], actors=[Actor(name="name", role="role")], season_summary={1: "Season 1 Summary"}) load = schema.load({ "title": "", "sort_title": "", "original_title": None, "content_rating": "", "tagline": [""], "studio": [None], "aired": None, "summary": None, "rating": None, "genres": [], "collections": None, "actors": [], "season_summary": {} }) assert load == Show() load = schema.load({}) assert load == Show()
def test_show_strict_schema_dump(show_strict_schema: ShowStrictSchema): schema = show_strict_schema dump = schema.dump( Show(title="title", sort_title="sort_title", original_title="original_title", content_rating="content_rating", tagline=["tagline"], studio=["studio"], aired=date(2018, 1, 1), summary="summary", rating=1, genres=["genres"], collections=["collections"], actors=[Actor(name="name", role="role")], season_summary={1: "Season 1 Summary"})) assert dump == { "title": "title", "sort_title": "sort_title", "original_title": "original_title", "content_rating": "content_rating", "tagline": ["tagline"], "studio": ["studio"], "aired": "2018-01-01", "summary": "summary", "rating": 1, "genres": ["genres"], "collections": ["collections"], "actors": [{ "name": "name", "role": "role", "photo": None }], "season_summary": { 1: "Season 1 Summary" } } dump = schema.dump(Show()) assert dump == { "title": None, "sort_title": None, "original_title": None, "content_rating": None, "tagline": [], "studio": [], "aired": None, "summary": None, "rating": None, "genres": [], "collections": [], "actors": [], "season_summary": {} }
def test_actor_strict_schema_dump(actor_strict_schema: ActorStrictSchema): schema = actor_strict_schema dump = schema.dump(Actor(name="name", photo="photo", role="role")) assert dump == {"name": "name", "photo": "photo", "role": "role"} dump = schema.dump(Actor()) assert dump == {"name": None, "photo": None, "role": None}