diff --git a/app/main.py b/app/main.py index 62d4d6e..1545a77 100644 --- a/app/main.py +++ b/app/main.py @@ -6,7 +6,7 @@ from app.app import create_app from app.default_values import DEFAULT_ARGUMENTS as DEFARGS -def main(): +def get_args(): parser = argparse.ArgumentParser( description="LibreTranslate - Free and Open Source Translation API" ) @@ -106,13 +106,18 @@ def main(): "--suggestions", default=DEFARGS['SUGGESTIONS'], action="store_true", help="Allow user suggestions" ) parser.add_argument( - "--disable-files-translation", default=DEFARGS['DISABLE_FILES_TRANSLATION'], action="store_true", help="Disable files translation" + "--disable-files-translation", default=DEFARGS['DISABLE_FILES_TRANSLATION'], action="store_true", + help="Disable files translation" ) parser.add_argument( "--disable-web-ui", default=DEFARGS['DISABLE_WEB_UI'], action="store_true", help="Disable web ui" ) - args = parser.parse_args() + return parser.parse_args() + + +def main(): + args = get_args() app = create_app(args) if sys.argv[0] == '--wsgi': diff --git a/tests/test_api.py b/tests/test_api.py new file mode 100644 index 0000000..5663e19 --- /dev/null +++ b/tests/test_api.py @@ -0,0 +1,25 @@ +import pytest +import sys +import json +from app.app import create_app +from app.main import get_args + +@pytest.fixture() +def app(): + sys.argv=[''] + app = create_app(get_args()) + + yield app + + +@pytest.fixture() +def client(app): + return app.test_client() + +def test_api_get_languages(client): + response = client.get("/languages") + response_json = json.loads(response.data) + + assert "code" in response_json[0] and "name" in response_json[0] + assert len(response_json) >= 1 + assert response.status_code == 200