X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/f8bca4fbcb739daa6a89dd52c219713dd1173287..261e0cfd5a084dc5de333eda1093a9e7635c4859:/test/bdd/steps/steps_api_queries.py diff --git a/test/bdd/steps/steps_api_queries.py b/test/bdd/steps/steps_api_queries.py index 550cf531..3d3b16c7 100644 --- a/test/bdd/steps/steps_api_queries.py +++ b/test/bdd/steps/steps_api_queries.py @@ -111,7 +111,8 @@ def send_api_query_php(endpoint, params, context): LOG.debug("Environment:" + json.dumps(env, sort_keys=True, indent=2)) if hasattr(context, 'http_headers'): - env.update(context.http_headers) + for k, v in context.http_headers.items(): + env['HTTP_' + k.upper().replace('-', '_')] = v cmd = ['/usr/bin/env', 'php-cgi', '-f'] if context.nominatim.code_coverage_path: @@ -148,8 +149,7 @@ def add_http_header(context): context.http_headers = {} for h in context.table.headings: - envvar = 'HTTP_' + h.upper().replace('-', '_') - context.http_headers[envvar] = context.table[0][h] + context.http_headers[h] = context.table[0][h] @when(u'sending (?P\S+ )?search query "(?P.*)"(?P with address)?') @@ -265,7 +265,10 @@ def check_page_error(context, fmt): @then(u'result header contains') def check_header_attr(context): + context.execute_steps("Then a HTTP 200 is returned") for line in context.table: + assert line['attr'] in context.response.header, \ + f"Field '{line['attr']}' missing in header. Full header:\n{context.response.header}" value = context.response.header[line['attr']] assert re.fullmatch(line['value'], value) is not None, \ f"Attribute '{line['attr']}': expected: '{line['value']}', got '{value}'"