From ddb3436275d3f02183f515c38cd3193cd1dfe2f4 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sun, 13 Nov 2022 18:42:47 -0700 Subject: Boosting! Incoming, anyway. --- activities/tests/__init__.py | 0 activities/tests/models/__init__.py | 0 activities/tests/models/test_post.py | 31 +++++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 activities/tests/__init__.py create mode 100644 activities/tests/models/__init__.py create mode 100644 activities/tests/models/test_post.py (limited to 'activities/tests') diff --git a/activities/tests/__init__.py b/activities/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/activities/tests/models/__init__.py b/activities/tests/models/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/activities/tests/models/test_post.py b/activities/tests/models/test_post.py new file mode 100644 index 0000000..5c7fca2 --- /dev/null +++ b/activities/tests/models/test_post.py @@ -0,0 +1,31 @@ +import pytest +from pytest_httpx import HTTPXMock + +from activities.models import Post + + +@pytest.mark.django_db +def test_fetch_post(httpx_mock: HTTPXMock): + """ + Tests that a post we don't have locally can be fetched by by_object_uri + """ + httpx_mock.add_response( + url="https://example.com/test-post", + json={ + "@context": [ + "https://www.w3.org/ns/activitystreams", + ], + "id": "https://example.com/test-post", + "type": "Note", + "published": "2022-11-13T23:20:16Z", + "url": "https://example.com/test-post", + "attributedTo": "https://example.com/test-actor", + "content": "BEEEEEES", + }, + ) + # Fetch with a HTTP access + post = Post.by_object_uri("https://example.com/test-post", fetch=True) + assert post.content == "BEEEEEES" + assert post.author.actor_uri == "https://example.com/test-actor" + # Fetch again with a DB hit + assert Post.by_object_uri("https://example.com/test-post").id == post.id -- cgit v1.2.3