示例#1
0
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()
示例#2
0
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({})
示例#3
0
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()
示例#4
0
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": []
    }
示例#5
0
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()
示例#6
0
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": {}
    }
示例#7
0
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}