2017-10-22 11:40:12 +00:00
|
|
|
import pytest
|
2019-05-12 17:17:40 +00:00
|
|
|
from freezegun import freeze_time
|
2017-10-22 11:40:12 +00:00
|
|
|
|
2019-03-20 20:50:43 +00:00
|
|
|
from federation.entities.activitypub.entities import (
|
2019-07-20 22:29:58 +00:00
|
|
|
ActivitypubPost, ActivitypubAccept, ActivitypubFollow, ActivitypubProfile, ActivitypubComment,
|
2019-08-04 22:15:11 +00:00
|
|
|
ActivitypubRetraction, ActivitypubShare)
|
2019-03-03 01:09:25 +00:00
|
|
|
from federation.entities.base import Profile
|
2017-10-22 11:40:12 +00:00
|
|
|
from federation.entities.diaspora.entities import (
|
2018-07-31 20:22:33 +00:00
|
|
|
DiasporaPost, DiasporaComment, DiasporaLike, DiasporaProfile, DiasporaRetraction,
|
2017-10-22 11:40:12 +00:00
|
|
|
DiasporaContact, DiasporaReshare,
|
|
|
|
)
|
|
|
|
from federation.tests.factories.entities import ShareFactory
|
2019-03-20 20:50:43 +00:00
|
|
|
from federation.tests.fixtures.keys import PUBKEY
|
2017-10-22 11:40:12 +00:00
|
|
|
from federation.tests.fixtures.payloads import DIASPORA_PUBLIC_PAYLOAD
|
|
|
|
|
2019-03-03 01:09:25 +00:00
|
|
|
|
2019-08-04 22:15:11 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def activitypubannounce():
|
|
|
|
with freeze_time("2019-08-05"):
|
|
|
|
return ActivitypubShare(
|
|
|
|
activity_id="http://127.0.0.1:8000/post/123456/#create",
|
|
|
|
actor_id="http://127.0.0.1:8000/profile/123456/",
|
|
|
|
target_id="http://127.0.0.1:8000/post/012345/",
|
|
|
|
)
|
|
|
|
|
2019-06-29 22:09:47 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def activitypubcomment():
|
|
|
|
with freeze_time("2019-04-27"):
|
|
|
|
return ActivitypubComment(
|
|
|
|
raw_content="raw_content",
|
|
|
|
public=True,
|
|
|
|
provider_display_name="Socialhome",
|
|
|
|
id=f"http://127.0.0.1:8000/post/123456/",
|
|
|
|
activity_id=f"http://127.0.0.1:8000/post/123456/#create",
|
|
|
|
actor_id=f"http://127.0.0.1:8000/profile/123456/",
|
|
|
|
target_id="http://127.0.0.1:8000/post/012345/",
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-03-20 20:04:11 +00:00
|
|
|
@pytest.fixture
|
2019-06-28 21:13:20 +00:00
|
|
|
def activitypubfollow():
|
|
|
|
return ActivitypubFollow(
|
|
|
|
activity_id="https://localhost/follow",
|
2019-03-20 20:04:11 +00:00
|
|
|
actor_id="https://localhost/profile",
|
2019-06-28 21:13:20 +00:00
|
|
|
target_id="https://example.com/profile",
|
2019-03-20 20:04:11 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-03-20 20:38:09 +00:00
|
|
|
@pytest.fixture
|
2019-06-28 21:13:20 +00:00
|
|
|
def activitypubaccept(activitypubfollow):
|
|
|
|
return ActivitypubAccept(
|
|
|
|
activity_id="https://localhost/accept",
|
2019-03-20 20:38:09 +00:00
|
|
|
actor_id="https://localhost/profile",
|
2019-06-28 21:13:20 +00:00
|
|
|
target_id="https://example.com/follow/1234",
|
|
|
|
object=activitypubfollow.to_as2(),
|
2019-03-20 20:38:09 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-03-20 20:50:43 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def activitypubpost():
|
2019-05-12 17:17:40 +00:00
|
|
|
with freeze_time("2019-04-27"):
|
|
|
|
return ActivitypubPost(
|
|
|
|
raw_content="raw_content",
|
|
|
|
public=True,
|
|
|
|
provider_display_name="Socialhome",
|
|
|
|
id=f"http://127.0.0.1:8000/post/123456/",
|
|
|
|
activity_id=f"http://127.0.0.1:8000/post/123456/#create",
|
|
|
|
actor_id=f"http://127.0.0.1:8000/profile/123456/",
|
|
|
|
)
|
2019-03-20 20:50:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def activitypubprofile():
|
|
|
|
return ActivitypubProfile(
|
|
|
|
id="https://example.com/bob", raw_content="foobar", name="Bob Bobertson", public=True,
|
|
|
|
tag_list=["socialfederation", "federation"], image_urls={
|
|
|
|
"large": "urllarge", "medium": "urlmedium", "small": "urlsmall"
|
|
|
|
}, inboxes={
|
|
|
|
"private": "https://example.com/bob/private",
|
|
|
|
"public": "https://example.com/public",
|
|
|
|
}, public_key=PUBKEY, url="https://example.com/bob-bobertson"
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-07-20 22:29:58 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def activitypubretraction():
|
|
|
|
with freeze_time("2019-04-27"):
|
|
|
|
return ActivitypubRetraction(
|
|
|
|
target_id="http://127.0.0.1:8000/post/123456/",
|
|
|
|
activity_id="http://127.0.0.1:8000/post/123456/#delete",
|
|
|
|
actor_id="http://127.0.0.1:8000/profile/123456/",
|
|
|
|
entity_type="Post",
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-08-06 21:05:49 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def activitypubretraction_announce():
|
|
|
|
with freeze_time("2019-04-27"):
|
|
|
|
return ActivitypubRetraction(
|
|
|
|
target_id="http://127.0.0.1:8000/post/123456/activity",
|
|
|
|
activity_id="http://127.0.0.1:8000/post/123456/#delete",
|
|
|
|
actor_id="http://127.0.0.1:8000/profile/123456/",
|
|
|
|
entity_type="Share",
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-06-28 22:21:33 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def activitypubundofollow():
|
|
|
|
return ActivitypubFollow(
|
|
|
|
activity_id="https://localhost/undo",
|
|
|
|
actor_id="https://localhost/profile",
|
|
|
|
target_id="https://example.com/profile",
|
|
|
|
following=False,
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-03-03 01:09:25 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def profile():
|
|
|
|
return Profile(
|
|
|
|
raw_content="foobar", name="Bob Bobertson", public=True,
|
|
|
|
tag_list=["socialfederation", "federation"], image_urls={
|
|
|
|
"large": "urllarge", "medium": "urlmedium", "small": "urlsmall"
|
|
|
|
},
|
|
|
|
id="https://example.com/alice",
|
|
|
|
handle="alice@example.com",
|
|
|
|
guid="guid",
|
2019-03-20 20:38:09 +00:00
|
|
|
inboxes={
|
2019-03-20 20:50:43 +00:00
|
|
|
"private": "https://example.com/bob/private",
|
2019-03-20 20:38:09 +00:00
|
|
|
"public": "https://example.com/public",
|
2019-03-20 20:50:43 +00:00
|
|
|
}, public_key=PUBKEY,
|
2019-03-03 01:09:25 +00:00
|
|
|
)
|
2017-10-22 11:40:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diaspora_public_payload():
|
|
|
|
return DIASPORA_PUBLIC_PAYLOAD
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diasporacomment():
|
|
|
|
return DiasporaComment(
|
2018-07-31 20:30:21 +00:00
|
|
|
raw_content="raw_content",
|
|
|
|
signature="signature",
|
2018-09-02 20:59:53 +00:00
|
|
|
id="guid",
|
|
|
|
guid="guid",
|
|
|
|
actor_id="alice@example.com",
|
|
|
|
handle="alice@example.com",
|
|
|
|
target_id="target_guid",
|
|
|
|
target_guid="target_guid",
|
2017-10-22 11:40:12 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
2019-07-14 21:09:53 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def diasporanestedcomment():
|
|
|
|
return DiasporaComment(
|
|
|
|
raw_content="raw_content",
|
|
|
|
signature="signature",
|
|
|
|
id="guid",
|
|
|
|
guid="guid",
|
|
|
|
actor_id="alice@example.com",
|
|
|
|
handle="alice@example.com",
|
|
|
|
target_id="thread_target_guid",
|
|
|
|
target_guid="thread_target_guid",
|
|
|
|
root_target_id="target_guid",
|
|
|
|
root_target_guid="target_guid",
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2017-10-22 11:40:12 +00:00
|
|
|
@pytest.fixture
|
|
|
|
def diasporacontact():
|
2018-07-31 20:30:21 +00:00
|
|
|
return DiasporaContact(
|
2018-09-02 20:59:53 +00:00
|
|
|
actor_id="alice@example.com",
|
|
|
|
handle="alice@example.com",
|
|
|
|
target_id="bob@example.org",
|
|
|
|
target_handle="bob@example.org",
|
2018-07-31 20:30:21 +00:00
|
|
|
following=True,
|
|
|
|
)
|
2017-10-22 11:40:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diasporalike():
|
2018-07-31 20:30:21 +00:00
|
|
|
return DiasporaLike(
|
2018-09-02 20:59:53 +00:00
|
|
|
id="guid",
|
|
|
|
guid="guid",
|
|
|
|
actor_id="alice@example.com",
|
|
|
|
handle="alice@example.com",
|
|
|
|
target_id="target_guid",
|
|
|
|
target_guid="target_guid",
|
2018-07-31 20:30:21 +00:00
|
|
|
signature="signature",
|
|
|
|
)
|
2017-10-22 11:40:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diasporapost():
|
|
|
|
return DiasporaPost(
|
2018-07-31 20:30:21 +00:00
|
|
|
raw_content="raw_content",
|
|
|
|
public=True,
|
|
|
|
provider_display_name="Socialhome",
|
2018-09-02 20:59:53 +00:00
|
|
|
id="guid",
|
|
|
|
guid="guid",
|
|
|
|
actor_id="alice@example.com",
|
|
|
|
handle="alice@example.com",
|
2017-10-22 11:40:12 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diasporaprofile():
|
|
|
|
return DiasporaProfile(
|
2018-07-31 20:30:21 +00:00
|
|
|
raw_content="foobar", name="Bob Bobertson", public=True,
|
2017-10-22 11:40:12 +00:00
|
|
|
tag_list=["socialfederation", "federation"], image_urls={
|
|
|
|
"large": "urllarge", "medium": "urlmedium", "small": "urlsmall"
|
2018-07-31 20:30:21 +00:00
|
|
|
},
|
2018-09-02 20:59:53 +00:00
|
|
|
id="alice@example.com",
|
2018-08-22 20:00:15 +00:00
|
|
|
handle="alice@example.com",
|
2018-09-02 20:59:53 +00:00
|
|
|
guid="guid",
|
2017-10-22 11:40:12 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diasporareshare():
|
|
|
|
base_entity = ShareFactory()
|
|
|
|
return DiasporaReshare.from_base(base_entity)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def diasporaretraction():
|
2018-07-31 20:30:21 +00:00
|
|
|
return DiasporaRetraction(
|
2018-09-02 20:59:53 +00:00
|
|
|
actor_id="alice@example.com",
|
|
|
|
handle="alice@example.com",
|
|
|
|
target_id="target_guid",
|
|
|
|
target_guid="target_guid",
|
2018-07-31 20:30:21 +00:00
|
|
|
entity_type="Post",
|
|
|
|
)
|