summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/api/test_accounts.py12
-rw-r--r--tests/api/test_instance.py11
-rw-r--r--tests/conftest.py21
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/api/test_accounts.py b/tests/api/test_accounts.py
new file mode 100644
index 0000000..6ca37ae
--- /dev/null
+++ b/tests/api/test_accounts.py
@@ -0,0 +1,12 @@
+import pytest
+
+
+@pytest.mark.django_db
+def test_verify_credentials(api_token, identity, client):
+ response = client.get(
+ "/api/v1/accounts/verify_credentials",
+ HTTP_AUTHORIZATION=f"Bearer {api_token.token}",
+ HTTP_ACCEPT="application/json",
+ ).json()
+ assert response["id"] == str(identity.pk)
+ assert response["username"] == identity.username
diff --git a/tests/api/test_instance.py b/tests/api/test_instance.py
new file mode 100644
index 0000000..9fd0af2
--- /dev/null
+++ b/tests/api/test_instance.py
@@ -0,0 +1,11 @@
+import pytest
+
+
+@pytest.mark.django_db
+def test_instance(api_token, client):
+ response = client.get(
+ "/api/v1/instance",
+ HTTP_AUTHORIZATION=f"Bearer {api_token.token}",
+ HTTP_ACCEPT="application/json",
+ ).json()
+ assert response["uri"] == "example.com"
diff --git a/tests/conftest.py b/tests/conftest.py
index 283de76..f2b9d64 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -2,6 +2,7 @@ import time
import pytest
+from api.models import Application, Token
from core.models import Config
from stator.runner import StatorModel, StatorRunner
from users.models import Domain, Identity, User
@@ -172,6 +173,26 @@ def remote_identity2() -> Identity:
@pytest.fixture
+@pytest.mark.django_db
+def api_token(identity) -> Token:
+ """
+ Creates an API application, an identity, and a token for that identity
+ """
+ application = Application.objects.create(
+ name="Test App",
+ client_id="tk-test",
+ client_secret="mytestappsecret",
+ )
+ return Token.objects.create(
+ application=application,
+ user=identity.users.first(),
+ identity=identity,
+ token="mytestapitoken",
+ scopes=["read", "write", "follow", "push"],
+ )
+
+
+@pytest.fixture
def stator(config_system) -> StatorRunner:
"""
Return an initialized StatorRunner for tests that need state transitioning