From cf19036ce6f17ce16bdc733d460a60b064a9d5c5 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Tue, 6 Dec 2022 12:00:39 +0100 Subject: [PATCH] docs: extend dependency documentation --- docs/admin/Installation.md | 9 +++++++++ docs/develop/Development-Environment.md | 10 +++++++++- docs/develop/Testing.md | 8 +++----- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/docs/admin/Installation.md b/docs/admin/Installation.md index 73fb3dae..4d78fd1b 100644 --- a/docs/admin/Installation.md +++ b/docs/admin/Installation.md @@ -61,6 +61,15 @@ For running continuous updates: * [pyosmium](https://osmcode.org/pyosmium/) +For running the experimental Python frontend: + + * [SQLAlchemy](https://www.sqlalchemy.org/) (1.4+ with greenlet support) + * one of the following web frameworks: + * [falcon](https://falconframework.org/) (3.0+) + * [sanic](https://sanic.dev) + * [starlette](https://www.starlette.io/) + * [uvicorn](https://www.uvicorn.org/) (only with falcon and starlette framworks) + For dependencies for running tests and building documentation, see the [Development section](../develop/Development-Environment.md). diff --git a/docs/develop/Development-Environment.md b/docs/develop/Development-Environment.md index c6515d2c..0e1bbf61 100644 --- a/docs/develop/Development-Environment.md +++ b/docs/develop/Development-Environment.md @@ -37,6 +37,13 @@ It has the following additional requirements: * [Python Typing Extensions](https://github.com/python/typing_extensions) (for Python < 3.9) * [pytest](https://pytest.org) +For testing the Python search frontend, you need to install extra dependencies +depending on your choice of webserver framework: + +* [sanic-testing](https://sanic.dev/en/plugins/sanic-testing/getting-started.html) (sanic only) +* [httpx](https://www.python-httpx.org/) (starlette only) +* [asgi-lifespan](https://github.com/florimondmanca/asgi-lifespan) (starlette only) + The documentation is built with mkdocs: * [mkdocs](https://www.mkdocs.org/) >= 1.1.2 @@ -56,7 +63,8 @@ sudo apt install php-cgi phpunit php-codesniffer \ python3-pip python3-setuptools python3-dev pip3 install --user behave mkdocs mkdocstrings pytest pylint \ - mypy types-PyYAML types-jinja2 types-psycopg2 types-psutil + mypy types-PyYAML types-jinja2 types-psycopg2 types-psutil \ + sanic-testing httpx asgi-lifespan ``` The `mkdocs` executable will be located in `.local/bin`. You may have to add diff --git a/docs/develop/Testing.md b/docs/develop/Testing.md index 20c9d165..be13d949 100644 --- a/docs/develop/Testing.md +++ b/docs/develop/Testing.md @@ -84,6 +84,8 @@ The tests can be configured with a set of environment variables (`behave -D key= * `TEST_DB` - name of test database (db tests) * `API_TEST_DB` - name of the database containing the API test data (api tests) * `API_TEST_FILE` - OSM file to be imported into the API test database (api tests) + * `API_ENGINE` - webframe to use for running search queries, same values as + `nominatim serve --engine` parameter * `DB_HOST` - (optional) hostname of database host * `DB_PORT` - (optional) port of database on host * `DB_USER` - (optional) username of database login @@ -120,7 +122,7 @@ and compromises the following data: API tests should only be testing the functionality of the website PHP code. Most tests should be formulated as BDD DB creation tests (see below) instead. -#### Code Coverage +#### Code Coverage (PHP engine only) The API tests also support code coverage tests. You need to install [PHP_CodeCoverage](https://github.com/sebastianbergmann/php-code-coverage). @@ -153,7 +155,3 @@ needs superuser rights for postgres. These tests check that data is imported correctly into the place table. They use the same template database as the DB Creation tests, so the same remarks apply. - -Note that most testing of the gazetteer output of osm2pgsql is done in the tests -of osm2pgsql itself. The BDD tests are just there to ensure compatibility of -the osm2pgsql and Nominatim code. -- 2.39.5