See #890: review tweaks
This commit is contained in:
parent
92a1914ef8
commit
0600819b38
|
@ -695,7 +695,6 @@ class ManageReportSerializer(serializers.ModelSerializer):
|
||||||
"target_state",
|
"target_state",
|
||||||
"target_owner",
|
"target_owner",
|
||||||
"summary",
|
"summary",
|
||||||
# "notes",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_notes(self, o):
|
def get_notes(self, o):
|
||||||
|
|
|
@ -45,7 +45,6 @@ def test_user_filter_serializer_save(factories):
|
||||||
("music.Album", "album", "id", serializers.AlbumStateSerializer),
|
("music.Album", "album", "id", serializers.AlbumStateSerializer),
|
||||||
("music.Track", "track", "id", serializers.TrackStateSerializer),
|
("music.Track", "track", "id", serializers.TrackStateSerializer),
|
||||||
("music.Library", "library", "uuid", serializers.LibraryStateSerializer),
|
("music.Library", "library", "uuid", serializers.LibraryStateSerializer),
|
||||||
("playlists.Playlist", "playlist", "id", serializers.PlaylistStateSerializer),
|
|
||||||
(
|
(
|
||||||
"federation.Actor",
|
"federation.Actor",
|
||||||
"account",
|
"account",
|
||||||
|
@ -54,7 +53,7 @@ def test_user_filter_serializer_save(factories):
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_report_serializer_save(
|
def test_report_federated_entity_serializer_save(
|
||||||
factory_name, target_type, id_field, state_serializer, factories, mocker, settings
|
factory_name, target_type, id_field, state_serializer, factories, mocker, settings
|
||||||
):
|
):
|
||||||
target = factories[factory_name]()
|
target = factories[factory_name]()
|
||||||
|
@ -80,13 +79,50 @@ def test_report_serializer_save(
|
||||||
expected_state["_target"] = json.loads(
|
expected_state["_target"] = json.loads(
|
||||||
json.dumps(target_data, cls=DjangoJSONEncoder)
|
json.dumps(target_data, cls=DjangoJSONEncoder)
|
||||||
)
|
)
|
||||||
if hasattr(target, "fid"):
|
expected_state["domain"] = urllib.parse.urlparse(target.fid).hostname
|
||||||
expected_state["domain"] = urllib.parse.urlparse(target.fid).hostname
|
expected_state["is_local"] = (
|
||||||
expected_state["is_local"] = (
|
expected_state["domain"] == settings.FEDERATION_HOSTNAME
|
||||||
expected_state["domain"] == settings.FEDERATION_HOSTNAME
|
)
|
||||||
)
|
|
||||||
else:
|
assert report.target == target
|
||||||
expected_state["is_local"] = True
|
assert report.type == payload["type"]
|
||||||
|
assert report.summary == payload["summary"]
|
||||||
|
assert report.target_state == expected_state
|
||||||
|
assert report.target_owner == target_owner
|
||||||
|
get_target_owner.assert_called_once_with(target)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"factory_name, target_type, id_field, state_serializer",
|
||||||
|
[("playlists.Playlist", "playlist", "id", serializers.PlaylistStateSerializer)],
|
||||||
|
)
|
||||||
|
def test_report_local_entity_serializer_save(
|
||||||
|
factory_name, target_type, id_field, state_serializer, factories, mocker, settings
|
||||||
|
):
|
||||||
|
target = factories[factory_name]()
|
||||||
|
target_owner = factories["federation.Actor"]()
|
||||||
|
submitter = factories["federation.Actor"]()
|
||||||
|
target_data = {"type": target_type, id_field: getattr(target, id_field)}
|
||||||
|
payload = {
|
||||||
|
"summary": "Report content",
|
||||||
|
"type": "illegal_content",
|
||||||
|
"target": target_data,
|
||||||
|
}
|
||||||
|
serializer = serializers.ReportSerializer(
|
||||||
|
data=payload, context={"submitter": submitter}
|
||||||
|
)
|
||||||
|
get_target_owner = mocker.patch.object(
|
||||||
|
serializers, "get_target_owner", return_value=target_owner
|
||||||
|
)
|
||||||
|
assert serializer.is_valid(raise_exception=True) is True
|
||||||
|
|
||||||
|
report = serializer.save()
|
||||||
|
|
||||||
|
expected_state = state_serializer(target).data
|
||||||
|
expected_state["_target"] = json.loads(
|
||||||
|
json.dumps(target_data, cls=DjangoJSONEncoder)
|
||||||
|
)
|
||||||
|
expected_state["is_local"] = True
|
||||||
assert report.target == target
|
assert report.target == target
|
||||||
assert report.type == payload["type"]
|
assert report.type == payload["type"]
|
||||||
assert report.summary == payload["summary"]
|
assert report.summary == payload["summary"]
|
||||||
|
|
Loading…
Reference in New Issue