mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-27 00:49:55 +03:00
a263e54b94
The tokenizer to be used can be choosen with -DTOKENIZER. Adapt all tests, so that they work with legacy_icu tokenizer. Move lookup in word table to a function in the tokenizer. Special phrases are temporarily imported from the wiki until we have an implementation that can import from file. TIGER tests do not work yet.
52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
from pathlib import Path
|
|
|
|
from behave import *
|
|
|
|
from steps.geometry_factory import GeometryFactory
|
|
from steps.nominatim_environment import NominatimEnvironment
|
|
|
|
TEST_BASE_DIR = Path(__file__) / '..' / '..'
|
|
|
|
userconfig = {
|
|
'BUILDDIR' : (TEST_BASE_DIR / '..' / 'build').resolve(),
|
|
'REMOVE_TEMPLATE' : False,
|
|
'KEEP_TEST_DB' : False,
|
|
'DB_HOST' : None,
|
|
'DB_PORT' : None,
|
|
'DB_USER' : None,
|
|
'DB_PASS' : None,
|
|
'TEMPLATE_DB' : 'test_template_nominatim',
|
|
'TEST_DB' : 'test_nominatim',
|
|
'API_TEST_DB' : 'test_api_nominatim',
|
|
'API_TEST_FILE' : (TEST_BASE_DIR / 'testdb' / 'apidb-test-data.pbf').resolve(),
|
|
'SERVER_MODULE_PATH' : None,
|
|
'TOKENIZER' : None, # Test with a custom tokenizer
|
|
'PHPCOV' : False, # set to output directory to enable code coverage
|
|
}
|
|
|
|
use_step_matcher("re")
|
|
|
|
def before_all(context):
|
|
# logging setup
|
|
context.config.setup_logging()
|
|
# set up -D options
|
|
for k,v in userconfig.items():
|
|
context.config.userdata.setdefault(k, v)
|
|
# Nominatim test setup
|
|
context.nominatim = NominatimEnvironment(context.config.userdata)
|
|
context.osm = GeometryFactory()
|
|
|
|
|
|
def before_scenario(context, scenario):
|
|
if 'DB' in context.tags:
|
|
context.nominatim.setup_db(context)
|
|
elif 'APIDB' in context.tags:
|
|
context.nominatim.setup_api_db()
|
|
elif 'UNKNOWNDB' in context.tags:
|
|
context.nominatim.setup_unknown_db()
|
|
context.scene = None
|
|
|
|
def after_scenario(context, scenario):
|
|
if 'DB' in context.tags:
|
|
context.nominatim.teardown_db(context)
|