Changeset View
Changeset View
Standalone View
Standalone View
swh/model/tests/test_model.py
| Show First 20 Lines • Show All 450 Lines • ▼ Show 20 Lines | def test_revision_extra_headers_with_headers(): | ||||
| rev_dict = attr.asdict(rev, recurse=False) | rev_dict = attr.asdict(rev, recurse=False) | ||||
| rev_dict["metadata"] = { | rev_dict["metadata"] = { | ||||
| "something": "somewhere", | "something": "somewhere", | ||||
| "some other thing": "stranger", | "some other thing": "stranger", | ||||
| } | } | ||||
| extra_headers = ( | extra_headers = ( | ||||
| (b"header1", b"value1"), | (b"header1", b"value1"), | ||||
| (b"header2", b"42"), | (b"header2", b"42"), | ||||
| (b"header3", b"should I?\u0000"), | (b"header3", b"should I?\x00"), | ||||
| (b"header1", b"again"), | (b"header1", b"again"), | ||||
| ) | ) | ||||
| rev_dict["extra_headers"] = extra_headers | rev_dict["extra_headers"] = extra_headers | ||||
| rev_model = Revision(**rev_dict) | rev_model = Revision(**rev_dict) | ||||
| assert "extra_headers" not in rev_model.metadata | assert "extra_headers" not in rev_model.metadata | ||||
| assert rev_model.extra_headers == extra_headers | assert rev_model.extra_headers == extra_headers | ||||
| def test_revision_extra_headers_in_metadata(): | def test_revision_extra_headers_in_metadata(): | ||||
| rev_dict = revision_example.copy() | rev_dict = revision_example.copy() | ||||
| rev_dict.pop("id") | rev_dict.pop("id") | ||||
| rev = Revision.from_dict(rev_dict) | rev = Revision.from_dict(rev_dict) | ||||
| rev_dict = attr.asdict(rev, recurse=False) | rev_dict = attr.asdict(rev, recurse=False) | ||||
| rev_dict["metadata"] = { | rev_dict["metadata"] = { | ||||
| "something": "somewhere", | "something": "somewhere", | ||||
| "some other thing": "stranger", | "some other thing": "stranger", | ||||
| } | } | ||||
| extra_headers = ( | extra_headers = ( | ||||
| (b"header1", b"value1"), | (b"header1", b"value1"), | ||||
| (b"header2", b"42"), | (b"header2", b"42"), | ||||
| (b"header3", b"should I?\u0000"), | (b"header3", b"should I?\x00"), | ||||
| (b"header1", b"again"), | (b"header1", b"again"), | ||||
| ) | ) | ||||
| # check the bw-compat init hook does the job | # check the bw-compat init hook does the job | ||||
| # ie. extra_headers are given in the metadata field | # ie. extra_headers are given in the metadata field | ||||
| rev_dict["metadata"]["extra_headers"] = extra_headers | rev_dict["metadata"]["extra_headers"] = extra_headers | ||||
| rev_model = Revision(**rev_dict) | rev_model = Revision(**rev_dict) | ||||
| assert "extra_headers" not in rev_model.metadata | assert "extra_headers" not in rev_model.metadata | ||||
| assert rev_model.extra_headers == extra_headers | assert rev_model.extra_headers == extra_headers | ||||
| def test_revision_extra_headers_as_lists(): | def test_revision_extra_headers_as_lists(): | ||||
| rev_dict = revision_example.copy() | rev_dict = revision_example.copy() | ||||
| rev_dict.pop("id") | rev_dict.pop("id") | ||||
| rev = Revision.from_dict(rev_dict) | rev = Revision.from_dict(rev_dict) | ||||
| rev_dict = attr.asdict(rev, recurse=False) | rev_dict = attr.asdict(rev, recurse=False) | ||||
| rev_dict["metadata"] = {} | rev_dict["metadata"] = {} | ||||
| extra_headers = ( | extra_headers = ( | ||||
| (b"header1", b"value1"), | (b"header1", b"value1"), | ||||
| (b"header2", b"42"), | (b"header2", b"42"), | ||||
| (b"header3", b"should I?\u0000"), | (b"header3", b"should I?\x00"), | ||||
| (b"header1", b"again"), | (b"header1", b"again"), | ||||
| ) | ) | ||||
| # check Revision.extra_headers tuplify does the job | # check Revision.extra_headers tuplify does the job | ||||
| rev_dict["extra_headers"] = [list(x) for x in extra_headers] | rev_dict["extra_headers"] = [list(x) for x in extra_headers] | ||||
| rev_model = Revision(**rev_dict) | rev_model = Revision(**rev_dict) | ||||
| assert "extra_headers" not in rev_model.metadata | assert "extra_headers" not in rev_model.metadata | ||||
| assert rev_model.extra_headers == extra_headers | assert rev_model.extra_headers == extra_headers | ||||
| ▲ Show 20 Lines • Show All 607 Lines • Show Last 20 Lines | |||||