def test_params(): request = MockRequest() request.matchdict.update({ 'flavour': 'REDUCED', 'format': 'XML', 'param1': 'SomeEGRID' }) request.params.update({ 'WITHIMAGES': '', 'LANG': 'de', 'TOPICS': 'top_A,top_B,top_C' }) service = PlrWebservice(request) params = service.__validate_extract_params__() expected = { 'flavour': 'reduced', 'format': 'xml', 'geometry': False, 'images': True, 'egrid': 'SomeEGRID', 'language': 'de', 'topics': ['top_A', 'top_B', 'top_C'] } for k, v in expected.items(): assert getattr(params, k) == v
def test_matchdict(params, expected): request = MockRequest() request.matchdict.update(params) service = PlrWebservice(request) params = service.__validate_extract_params__() for k, v in expected.items(): assert getattr(params, k) == v
def test_process(): request = MockRequest() request.matchdict.update(request_matchdict) processor = create_processor() webservice = PlrWebservice(request) params = webservice.__validate_extract_params__() real_estate = processor.real_estate_reader.read(params, egrid=u'TEST') extract = processor.process(real_estate[0], params, 'http://test.ch') assert isinstance(extract, ExtractRecord)
def test_process_geometry_testing(): request = MockRequest() request.matchdict.update(request_matchdict) processor = create_processor() webservice = PlrWebservice(request) params = webservice.__validate_extract_params__() real_estate = processor.real_estate_reader.read(params, egrid=u'TEST') extract = processor.process(real_estate[0], params, 'http://test.ch') for plr in extract.real_estate.public_law_restrictions: for g in plr.geometries: assert g._test_passed
def test_processor_without_images(): request = MockRequest() request.matchdict.update(request_matchdict) request.params.update({'LANG': 'de'}) processor = create_processor() webservice = PlrWebservice(request) params = webservice.__validate_extract_params__() real_estate = processor.real_estate_reader.read(params, egrid=u'TEST') extract = processor.process(real_estate[0], params, 'http://test.ch') assert extract.real_estate.plan_for_land_register.image is None for plr in extract.real_estate.public_law_restrictions: assert plr.view_service.image is None
def test_filter_published_documents(): request = MockRequest() request.matchdict.update(request_matchdict) processor = create_processor() webservice = PlrWebservice(request) params = webservice.__validate_extract_params__() real_estate = processor.real_estate_reader.read(params, egrid=u'TEST') extract = processor.process(real_estate[0], params, 'http://test.ch') for plr in extract.real_estate.public_law_restrictions: if plr.theme.code == u'MotorwaysBuildingLines': assert len(plr.documents) == 1 assert len(plr.documents[0].references) == 1
def test_processor_without_images(): request = MockRequest() request.matchdict.update(request_matchdict) request.params.update({'LANG': 'de'}) processor = request.pyramid_oereb_processor real_estate = processor.real_estate_reader.read(egrid=u'TEST') webservice = PlrWebservice(request) params = webservice.__validate_extract_params__() extract = processor.process(real_estate[0], params, 'http://test.ch') # TODO: uncomment this when issue GSOREB-194 is solved. # assert extract.real_estate.plan_for_land_register.image is None for plr in extract.real_estate.public_law_restrictions: assert plr.view_service.image is None
def test_invalid_flavour(params): request = MockRequest() request.matchdict.update(params) service = PlrWebservice(request) with pytest.raises(HTTPBadRequest): service.__validate_extract_params__()