X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/86b43dc605cd7e02e08b8c63c90ffe41ab26e3d2..247065ff6f6f096c609729080b83896235aedfc8:/test/bdd/steps/steps_api_queries.py?ds=inline diff --git a/test/bdd/steps/steps_api_queries.py b/test/bdd/steps/steps_api_queries.py index 550cf531..aa1b43b8 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)?') @@ -243,7 +243,7 @@ def step_impl(context, fmt): try: tree = ET.fromstring(context.response.page) except Exception as ex: - assert False, f"Could not parse page:\n{context.response.page}" + assert False, f"Could not parse page: {ex}\n{context.response.page}" assert tree.tag == 'html' body = tree.find('./body') @@ -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}'"