remove tests for HTML output

This commit is contained in:
Sarah Hoffmann 2020-10-27 11:24:25 +01:00
parent c0d21d0bd3
commit d86cf6801f
6 changed files with 8 additions and 83 deletions

View File

@ -30,7 +30,6 @@ unit tests (using PHPUnit). It has the following additional requirements:
* [behave test framework](https://behave.readthedocs.io) >= 1.2.5
* [nose](https://nose.readthedocs.io)
* [pytidylib](http://countergram.com/open-source/pytidylib)
* [phpunit](https://phpunit.de) >= 7.3
* [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)

View File

@ -43,10 +43,10 @@ Feature: Object details
Then the result is valid json
Scenario Outline: HTML Details with keywords
When sending html details query for <osmid>
When sending json details query for <osmid>
| keywords |
| 1 |
Then the result is valid html
Then the result is valid json
Examples:
| osmid |

View File

@ -8,13 +8,9 @@ Feature: Object details
Examples:
| format | object |
| html | 492887 |
| json | 492887 |
| html | N4267356889 |
| json | N4267356889 |
| html | W230804120 |
| json | W230804120 |
| html | R123924 |
| json | R123924 |
Scenario Outline: Details via unknown OSM id
@ -23,21 +19,19 @@ Feature: Object details
Examples:
| format | object |
| html | 1 |
| json | 1 |
| html | R1 |
| json | R1 |
Scenario: Details with keywords
When sending details query for W78099902
| keywords |
| 1 |
Then the result is valid html
Then the result is valid json
# ticket #1343
Scenario: Details of a country with keywords
When sending details query for R287072
| keywords |
| 1 |
Then the result is valid html
Then the result is valid json

View File

@ -13,8 +13,6 @@ Feature: Simple Reverse Tests
Then the result is valid json
When sending geojson reverse coordinates <lat>,<lon>
Then the result is valid geojson
When sending html reverse coordinates <lat>,<lon>
Then the result is valid html
Examples:
| lat | lon |
@ -28,10 +26,6 @@ Feature: Simple Reverse Tests
| param | value |
| <parameter> | <value> |
Then the result is valid xml
When sending html reverse coordinates 53.603,10.041
| param | value |
| <parameter> | <value> |
Then the result is valid html
When sending xml reverse coordinates 53.603,10.041
| param | value |
| <parameter> | <value> |
@ -100,7 +94,6 @@ Feature: Simple Reverse Tests
| json |
| jsonv2 |
| geojson |
| html |
| xml |
Scenario: Missing lon parameter

View File

@ -7,10 +7,6 @@ Feature: Simple Tests
| param | value |
| <parameter> | <value> |
Then at least 1 result is returned
When sending html search query "Hamburg"
| param | value |
| <parameter> | <value> |
Then at least 1 result is returned
When sending xml search query "Hamburg"
| param | value |
| <parameter> | <value> |
@ -65,9 +61,7 @@ Feature: Simple Tests
Scenario Outline: Simple Searches
When sending search query "<query>"
Then the result is valid html
When sending html search query "<query>"
Then the result is valid html
Then the result is valid json
When sending xml search query "<query>"
Then the result is valid xml
When sending json search query "<query>"
@ -185,10 +179,6 @@ Feature: Simple Tests
| json_callback |
| 234 |
Then the result is valid xml
When sending html search query "Malibu"
| json_callback |
| 234 |
Then the result is valid html
Scenario: Empty JSON search
When sending json search query "YHlERzzx"
@ -209,14 +199,3 @@ Feature: Simple Tests
Then result header contains
| attr | value |
| more_url | .*&countrycodes=pl%2Cbo&.* |
Scenario Outline: Search with debug prints valid HTML
When sending html search query "<query>"
| extratags | addressdetails | namedetails | debug |
| 1 | 1 | 1 | 1 |
Then the result is valid html
Examples:
| query |
| 10, Alvierweg, 9490, Vaduz |
| Hamburg |

View File

@ -9,7 +9,6 @@ import os
import io
import re
import logging
from tidylib import tidy_document
import xml.etree.ElementTree as ET
import subprocess
from urllib.parse import urlencode
@ -119,23 +118,6 @@ class SearchResponse(GenericResponse):
if self.result is not None:
self.result = [r['geocoding'] for r in self.result]
def parse_html(self):
content, errors = tidy_document(self.page,
options={'char-encoding' : 'utf8'})
#eq_(len(errors), 0 , "Errors found in HTML document:\n%s" % errors)
self.result = []
b = content.find('nominatim_results =')
e = content.find('</script>')
if b >= 0 and e >= 0:
content = content[b:e]
b = content.find('[')
e = content.rfind(']')
if b >= 0 and e >= 0:
self.result = json.JSONDecoder(object_pairs_hook=OrderedDict)\
.decode(content[b:e+1])
def parse_xml(self):
et = ET.fromstring(self.page)
@ -176,19 +158,6 @@ class ReverseResponse(GenericResponse):
if errorcode == 200:
getattr(self, 'parse_' + fmt)()
def parse_html(self):
content, errors = tidy_document(self.page,
options={'char-encoding' : 'utf8'})
#eq_(len(errors), 0 , "Errors found in HTML document:\n%s" % errors)
b = content.find('nominatim_results =')
e = content.find('</script>')
content = content[b:e]
b = content.find('[')
e = content.rfind(']')
self.result = json.JSONDecoder(object_pairs_hook=OrderedDict).decode(content[b:e+1])
def parse_json(self):
m = re.fullmatch(r'([\w$][^(]*)\((.*)\)', self.page)
if m is None:
@ -251,11 +220,6 @@ class DetailsResponse(GenericResponse):
if errorcode == 200:
getattr(self, 'parse_' + fmt)()
def parse_html(self):
content, errors = tidy_document(self.page,
options={'char-encoding' : 'utf8'})
self.result = {}
def parse_json(self):
self.result = [json.JSONDecoder(object_pairs_hook=OrderedDict).decode(self.page)]
@ -408,9 +372,7 @@ def website_search_request(context, fmt, query, addr):
outp, status = send_api_query('search', params, fmt, context)
if fmt is None:
outfmt = 'html'
elif fmt == 'jsonv2 ':
if fmt is None or fmt == 'jsonv2 ':
outfmt = 'json'
else:
outfmt = fmt.strip()
@ -447,7 +409,7 @@ def website_details_request(context, fmt, query):
outp, status = send_api_query('details', params, fmt, context)
if fmt is None:
outfmt = 'html'
outfmt = 'json'
else:
outfmt = fmt.strip()
@ -508,9 +470,7 @@ def check_page_error(context, fmt):
context.execute_steps("Then a HTTP 400 is returned")
eq_(context.response.format, fmt)
if fmt == 'html':
assert_is_not_none(re.search(r'<html( |>).+</html>', context.response.page, re.DOTALL))
elif fmt == 'xml':
if fmt == 'xml':
assert_is_not_none(re.search(r'<error>.+</error>', context.response.page, re.DOTALL))
else:
assert_is_not_none(re.search(r'({"error":)', context.response.page, re.DOTALL))