diff options
author | Andrew Godwin | 2022-12-11 00:25:48 -0700 |
---|---|---|
committer | Andrew Godwin | 2022-12-12 11:56:49 -0700 |
commit | 3e062aed360ca54c26733b175d00d0d4671f3591 (patch) | |
tree | 6109169ac8886a4e38cf0e9816e56e74417a5ade /tests | |
parent | 1017c71ba1d80a1690e357a938ad46f246a456ae (diff) | |
download | takahe-3e062aed360ca54c26733b175d00d0d4671f3591.tar.gz takahe-3e062aed360ca54c26733b175d00d0d4671f3591.tar.bz2 takahe-3e062aed360ca54c26733b175d00d0d4671f3591.zip |
Timelines working
Diffstat (limited to 'tests')
-rw-r--r-- | tests/api/test_accounts.py | 12 | ||||
-rw-r--r-- | tests/api/test_instance.py | 11 | ||||
-rw-r--r-- | tests/conftest.py | 21 |
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 |