diff options
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  | 
