kopia lustrzana https://gitlab.com/jaywink/federation
Fix missing handle and guids in Diaspora mappers
rodzic
89ba3f345b
commit
7687bdd69e
|
@ -175,20 +175,25 @@ def transform_attributes(attrs, cls):
|
||||||
# Diaspora Profile XML message contains no GUID. We need the guid. Fetch it.
|
# Diaspora Profile XML message contains no GUID. We need the guid. Fetch it.
|
||||||
profile = retrieve_and_parse_profile(value)
|
profile = retrieve_and_parse_profile(value)
|
||||||
transformed["id"] = profile.id
|
transformed["id"] = profile.id
|
||||||
transformed["handle"] = value
|
transformed["guid"] = profile.guid
|
||||||
else:
|
else:
|
||||||
transformed["actor_id"] = generate_diaspora_profile_id(value)
|
transformed["actor_id"] = generate_diaspora_profile_id(value, attrs.get('guid'))
|
||||||
|
transformed["guid"] = attrs.get('guid')
|
||||||
|
transformed["handle"] = value
|
||||||
elif key == 'guid':
|
elif key == 'guid':
|
||||||
if cls != DiasporaProfile:
|
if cls != DiasporaProfile:
|
||||||
transformed["id"] = generate_diaspora_id(attrs.get('author'), cls._tag_name, value)
|
transformed["id"] = generate_diaspora_id(attrs.get('author'), cls._tag_name, value)
|
||||||
|
transformed["guid"] = value
|
||||||
elif key == "recipient":
|
elif key == "recipient":
|
||||||
transformed["target_id"] = generate_diaspora_profile_id(value)
|
transformed["target_id"] = generate_diaspora_profile_id(value)
|
||||||
elif key == "root_author":
|
elif key == "root_author":
|
||||||
transformed["target_id"] = generate_diaspora_id(value, cls._tag_name, attrs.get('root_guid'))
|
transformed["target_id"] = generate_diaspora_id(value, cls._tag_name, attrs.get('root_guid'))
|
||||||
elif key == "parent_guid":
|
elif key == "parent_guid":
|
||||||
transformed["target_id"] = generate_diaspora_id("", cls._tag_name, value)
|
transformed["target_id"] = generate_diaspora_id("", cls._tag_name, value)
|
||||||
|
transformed["target_guid"] = value
|
||||||
elif key == "target_guid":
|
elif key == "target_guid":
|
||||||
transformed["target_id"] = generate_diaspora_id(attrs.get("author"), cls._tag_name, value)
|
transformed["target_id"] = generate_diaspora_id(attrs.get("author"), cls._tag_name, value)
|
||||||
|
transformed["target_guid"] = value
|
||||||
elif key in ("first_name", "last_name"):
|
elif key in ("first_name", "last_name"):
|
||||||
values = [attrs.get('first_name'), attrs.get('last_name')]
|
values = [attrs.get('first_name'), attrs.get('last_name')]
|
||||||
values = [v for v in values if v]
|
values = [v for v in values if v]
|
||||||
|
|
|
@ -209,7 +209,9 @@ class TestDiasporaEntityMappersReceive:
|
||||||
def test_element_to_objects_calls_sender_key_fetcher(self, mock_validate):
|
def test_element_to_objects_calls_sender_key_fetcher(self, mock_validate):
|
||||||
mock_fetcher = Mock()
|
mock_fetcher = Mock()
|
||||||
message_to_objects(DIASPORA_POST_COMMENT, "diaspora://alice@alice.diaspora.example.org/profile/", mock_fetcher)
|
message_to_objects(DIASPORA_POST_COMMENT, "diaspora://alice@alice.diaspora.example.org/profile/", mock_fetcher)
|
||||||
mock_fetcher.assert_called_once_with("diaspora://alice@alice.diaspora.example.org/profile/")
|
mock_fetcher.assert_called_once_with(
|
||||||
|
"diaspora://alice@alice.diaspora.example.org/profile/((guidguidguidguidguidguid))",
|
||||||
|
)
|
||||||
|
|
||||||
@patch("federation.entities.diaspora.mappers.DiasporaComment._validate_signatures")
|
@patch("federation.entities.diaspora.mappers.DiasporaComment._validate_signatures")
|
||||||
@patch("federation.entities.diaspora.mappers.retrieve_and_parse_profile")
|
@patch("federation.entities.diaspora.mappers.retrieve_and_parse_profile")
|
||||||
|
|
Ładowanie…
Reference in New Issue