def test_search_gziptext_cache(self, gziptext_cache): """Test the search method with strange character in the output. Test whether the output has the correct encoding, both with and without using the cache. Parameters ---------- gziptext_cache : pytest.fixture providing pydov.util.caching.GzipTextFileCache GzipTextFileCache using a temporary directory and a maximum age of 1 second. """ boringsearch = BoringSearch() query = PropertyIsEqualTo( propertyname='pkey_boring', literal=build_dov_url('data/boring/1928-031159')) df = boringsearch.search(query=query, return_fields=('pkey_boring', 'uitvoerder', 'mv_mtaw')) assert df.uitvoerder[0] == u'Societé Belge des Bétons' assert os.path.exists(os.path.join( gziptext_cache.cachedir, 'boring', '1928-031159.xml.gz')) df = boringsearch.search(query=query, return_fields=('pkey_boring', 'uitvoerder', 'mv_mtaw')) assert df.uitvoerder[0] == u'Societé Belge des Bétons'
def test_wfs_only(self, force_rebuild_wfs, test_hook_count): """Test the search method providing both a location and a query. Test whether a dataframe is returned. Parameters ---------- force_rebuild_wfs : pytest.fixture Fixture removing cached WFS capabilities document. test_hook_count : pytest.fixture Fixture removing default hooks and installing HookCounter. """ query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() boringsearch.search(query=query, return_fields=('pkey_boring', 'x', 'y')) assert pydov.hooks[0].count_wfs_search_init == 1 assert pydov.hooks[0].count_wfs_search_result == 1 assert pydov.hooks[0].count_wfs_search_result_received == 1 assert pydov.hooks[0].count_inject_wfs_getfeature_response == 1 assert pydov.hooks[0].count_xml_received == 0 assert pydov.hooks[0].count_inject_xml_response == 0 assert pydov.hooks[0].count_xml_cache_hit == 0 assert pydov.hooks[0].count_xml_downloaded == 0 assert pydov.hooks[0].count_meta_received > 0 assert pydov.hooks[0].count_inject_meta_response > 0
def test_hooks(self, test_hook_types): """Test the argument types of the hook events. Parameters ---------- test_hook_types : pytest.fixture Fixture removing default hooks and installing HookTester. """ query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() boringsearch.search(query=query)
def test_wfs_and_xml_cache(self, test_hook_count, plaintext_cache): """Test the search method providing both a location and a query. Test whether a dataframe is returned. Parameters ---------- test_hook_count : pytest.fixture Fixture removing default hooks and installing HookCounter. plaintext_cache : pytest.fixture Fixture temporarily setting up a testcache with max_age of 1 second. """ query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() boringsearch.search(query=query, return_fields=('pkey_boring', 'mv_mtaw')) assert pydov.hooks[0].count_wfs_search_init == 1 assert pydov.hooks[0].count_wfs_search_result == 1 assert pydov.hooks[0].count_wfs_search_result_received == 1 assert pydov.hooks[0].count_inject_wfs_getfeature_response == 1 assert pydov.hooks[0].count_xml_received == 1 assert pydov.hooks[0].count_inject_xml_response == 2 assert pydov.hooks[0].count_xml_cache_hit == 0 assert pydov.hooks[0].count_xml_downloaded == 1 assert pydov.hooks[0].count_meta_received > 0 assert pydov.hooks[0].count_inject_meta_response > 0 boringsearch.search(query=query, return_fields=('pkey_boring', 'mv_mtaw')) assert pydov.hooks[0].count_wfs_search_init == 2 assert pydov.hooks[0].count_wfs_search_result == 2 assert pydov.hooks[0].count_wfs_search_result_received == 2 assert pydov.hooks[0].count_inject_wfs_getfeature_response == 2 assert pydov.hooks[0].count_xml_received == 2 assert pydov.hooks[0].count_inject_xml_response == 3 assert pydov.hooks[0].count_xml_cache_hit == 1 assert pydov.hooks[0].count_xml_downloaded == 1 assert pydov.hooks[0].count_meta_received > 0 assert pydov.hooks[0].count_inject_meta_response > 0
def test_wfs_only(self, temp_hooks): """Test the search method providing both a location and a query. Test whether a dataframe is returned. Parameters ---------- mp_remote_describefeaturetype : pytest.fixture Monkeypatch the call to a remote DescribeFeatureType of the dov-pub:Boringen layer. mp_remote_wfs_feature : pytest.fixture Monkeypatch the call to get WFS features. temp_hooks : pytest.fixture Fixture removing default hooks and installing HookCounter. """ query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() df = boringsearch.search(query=query, return_fields=('pkey_boring', 'x', 'y')) assert pydov.hooks[0].count_wfs_search_init == 1 assert pydov.hooks[0].count_wfs_search_result == 1 assert pydov.hooks[0].count_xml_requested == 0 assert pydov.hooks[0].count_xml_cache_hit == 0 assert pydov.hooks[0].count_xml_downloaded == 0
def test_default_hooks(self, nocache): """Test the default hooks by performing a simple search. Test whether no exceptions are raised. Parameters ---------- nocache : pytest.fixture Fixture temporarily disabling caching. """ pydov.hooks = Hooks((SimpleStatusHook(), )) query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() boringsearch.search(query=query)
def test_hooks_inject(self, test_hook_inject): """Test the of the hook inject events. Test whether the requests are intercepted correctly. Parameters ---------- test_hook_types : pytest.fixture Fixture removing default hooks and installing HookTester. """ query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() boringsearch.search(query=query) df = boringsearch.search(query=query) assert df.iloc[0].gemeente == 'Bevergem' assert df.iloc[0].boormethode == 'De Pypere 106 T'
def test_search(self, nocache): """Test the search method with strange character in the output. Test whether the output has the correct encoding. """ boringsearch = BoringSearch() query = PropertyIsEqualTo( propertyname='pkey_boring', literal='https://www.dov.vlaanderen.be/data/boring/1928-031159') df = boringsearch.search(query=query, return_fields=('pkey_boring', 'uitvoerder')) assert df.uitvoerder[0] == u'Societé Belge des Bétons'
def test_hooks(self, force_rebuild_wfs, test_hook_types): """Test the argument types of the hook events. Parameters ---------- force_rebuild_wfs : pytest.fixture Fixture removing cached WFS capabilities document. test_hook_types : pytest.fixture Fixture removing default hooks and installing HookTester. """ query = PropertyIsEqualTo(propertyname='boornummer', literal='GEO-04/169-BNo-B1') boringsearch = BoringSearch() df = boringsearch.search(query=query)
def test_search(self, nocache): """Test the search method with strange character in the output. Test whether the output has the correct encoding. Parameters ---------- nocache : pytest.fixture Fixture to disable caching. """ boringsearch = BoringSearch() query = PropertyIsEqualTo( propertyname='pkey_boring', literal=build_dov_url('data/boring/1928-031159')) df = boringsearch.search(query=query, return_fields=('pkey_boring', 'uitvoerder')) assert df.uitvoerder[0] == u'Societé Belge des Bétons'