mirror of
https://github.com/ihabunek/toot
synced 2024-12-23 07:27:12 +01:00
Extend instance tests
This commit is contained in:
parent
6c9b939175
commit
e5c8fc4f77
@ -24,9 +24,6 @@ from click.testing import CliRunner, Result
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from toot import api, App, User
|
from toot import api, App, User
|
||||||
from toot.cli import Context
|
from toot.cli import Context
|
||||||
from toot.console import run_command
|
|
||||||
from toot.exceptions import ApiError, ConsoleError
|
|
||||||
from toot.output import print_out
|
|
||||||
|
|
||||||
|
|
||||||
def pytest_configure(config):
|
def pytest_configure(config):
|
||||||
@ -36,6 +33,7 @@ def pytest_configure(config):
|
|||||||
|
|
||||||
# Mastodon database name, used to confirm user registration without having to click the link
|
# Mastodon database name, used to confirm user registration without having to click the link
|
||||||
DATABASE_DSN = os.getenv("TOOT_TEST_DATABASE_DSN")
|
DATABASE_DSN = os.getenv("TOOT_TEST_DATABASE_DSN")
|
||||||
|
TOOT_TEST_BASE_URL = os.getenv("TOOT_TEST_BASE_URL")
|
||||||
|
|
||||||
# Toot logo used for testing image upload
|
# Toot logo used for testing image upload
|
||||||
TRUMPET = str(Path(__file__).parent.parent.parent / "trumpet.png")
|
TRUMPET = str(Path(__file__).parent.parent.parent / "trumpet.png")
|
||||||
@ -74,12 +72,10 @@ def confirm_user(email):
|
|||||||
# DO NOT USE PUBLIC INSTANCES!!!
|
# DO NOT USE PUBLIC INSTANCES!!!
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
def base_url():
|
def base_url():
|
||||||
base_url = os.getenv("TOOT_TEST_BASE_URL")
|
if not TOOT_TEST_BASE_URL:
|
||||||
|
|
||||||
if not base_url:
|
|
||||||
pytest.skip("Skipping integration tests, TOOT_TEST_BASE_URL not set")
|
pytest.skip("Skipping integration tests, TOOT_TEST_BASE_URL not set")
|
||||||
|
|
||||||
return base_url
|
return TOOT_TEST_BASE_URL
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
@ -119,9 +115,9 @@ def runner():
|
|||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def run(app, user, runner):
|
def run(app, user, runner):
|
||||||
def _run(command, *params, as_user=None) -> Result:
|
def _run(command, *params, as_user=None, input=None) -> Result:
|
||||||
ctx = Context(app, as_user or user)
|
ctx = Context(app, as_user or user)
|
||||||
return runner.invoke(command, params, obj=ctx)
|
return runner.invoke(command, params, obj=ctx, input=input)
|
||||||
return _run
|
return _run
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
from tests.integration.conftest import TOOT_TEST_BASE_URL
|
||||||
from toot import api, cli
|
from toot import api, cli
|
||||||
from toot.entities import Account, Status, from_dict, from_dict_list
|
from toot.entities import Account, Status, from_dict, from_dict_list
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
|
|
||||||
def test_instance(app, run):
|
def test_instance_default(app, run):
|
||||||
result = run(cli.instance)
|
result = run(cli.instance)
|
||||||
assert result.exit_code == 0
|
assert result.exit_code == 0
|
||||||
|
|
||||||
@ -15,6 +16,15 @@ def test_instance(app, run):
|
|||||||
assert "running Mastodon" in result.stdout
|
assert "running Mastodon" in result.stdout
|
||||||
|
|
||||||
|
|
||||||
|
def test_instance_with_url(app, run):
|
||||||
|
result = run(cli.instance, TOOT_TEST_BASE_URL)
|
||||||
|
assert result.exit_code == 0
|
||||||
|
|
||||||
|
assert "Mastodon" in result.stdout
|
||||||
|
assert app.instance in result.stdout
|
||||||
|
assert "running Mastodon" in result.stdout
|
||||||
|
|
||||||
|
|
||||||
def test_instance_json(app, run):
|
def test_instance_json(app, run):
|
||||||
result = run(cli.instance, "--json")
|
result = run(cli.instance, "--json")
|
||||||
assert result.exit_code == 0
|
assert result.exit_code == 0
|
||||||
|
Loading…
Reference in New Issue
Block a user