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 |