def test_info(self): reader = CkanReader('bonn') info = { 'name': 'bonn_harvester', 'title': 'opendata.bonn.de', 'description': '' } assert reader.info() == info
def test_muenchen(self): httpretty.register_uri( httpretty.GET, "http://www.opengov-muenchen.de/api/3/action/package_list", body='{"result": []}', content_type="application/json") reader = CkanReader('muenchen') reader.gather() assert (httpretty.has_request())
def test_rostock(self): httpretty.register_uri( httpretty.GET, "http://opendata-hro.de/api/3/action/package_list", body='{"result": []}', content_type="application/json") reader = CkanReader('rostock') reader.gather() assert (httpretty.has_request())
def test_gelsenkirchen(self): httpretty.register_uri( httpretty.GET, "https://opendata.gelsenkirchen.de/api/3/action/package_list", body='{"result": []}', content_type="application/json") reader = CkanReader('gelsenkirchen') reader.gather() assert (httpretty.has_request())
def test_berlin(self): httpretty.register_uri( httpretty.POST, "http://datenregister.berlin.de/api/3/action/current_package_list_with_resources", body='{"result": []}', content_type="application/json") reader = CkanReader('berlin') reader.gather('1234') assert (httpretty.has_request())
def test_moers(self): httpretty.register_uri( httpretty.GET, "https://www.offenesdatenportal.de/api/action/organization_show?include_datasets=true&id=moers", body='{"result": {"packages": []}}', content_type="application/json") reader = CkanReader('moers') reader.gather() assert (httpretty.has_request())
def test_hamburg(self): httpretty.register_uri( httpretty.GET, "http://suche.transparenz.hamburg.de/api/3/action/package_list", body='{"result": []}', content_type="application/json") reader = CkanReader('hamburg') reader.gather() assert (httpretty.has_request())
def test_koeln(self): httpretty.register_uri( httpretty.GET, "https://offenedaten-koeln.de/api/3/action/package_list", body='{"result": []}', content_type="application/json") reader = CkanReader('koeln') reader.gather() assert (httpretty.has_request())
def test_is_open_import(self): ckan_result = { "name": "test", "license_id": "dl-de-zero-2.0", "private": "", "title": "Test", "groups": [] } reader = CkanReader('moers') d = reader.import_data(ckan_result) print(d) assert d['open'] == 'Offen'
def test_meerbusch_import(self): data = { "private": False, "resources": [], "title": "Meerbusch", "name": "meerbusch", "groups": "", "notes": "" } reader = CkanReader('meerbusch') d = reader.import_data(data) assert d['city'] == 'meerbusch'
def test_koeln_detail(self): httpretty.register_uri( httpretty.GET, "https://offenedaten-koeln.de/api/3/action/package_list", body=package_list_result, content_type="application/json") httpretty.register_uri( httpretty.GET, "https://offenedaten-koeln.de/api/3/action/package_show?id=haushaltsplan-entwurf-koeln-2018", body="{}", content_type="application/json") reader = CkanReader('koeln') reader.gather() assert (httpretty.has_request())
def test_is_open_import(self): ckan_result = { "name": "test", "license_id": "dl-de-zero-2.0", "private": "", "title": "Test", "groups": [{ 'title': 'Wahlen' }] } reader = CkanReader('moers') d = reader.import_data(ckan_result) print(d) assert d['categories'] == ['Politik und Wahlen']
def test_bonn_detail(self): httpretty.register_uri( httpretty.GET, "https://opendata.bonn.de/api/3/action/package_list", body=package_list_result, content_type="application/json") httpretty.register_uri( httpretty.GET, "https://opendata.bonn.de/api/3/action/package_show?id=haushaltsplan-entwurf-koeln-2018", body=package_show_result_dkan, content_type="application/json") reader = CkanReader('bonn') data = reader.gather() assert len(data) == 1 assert (httpretty.has_request())
def test_german_codes(self): datasetId = u'bürgeranträge-gem-§-24-go-nrw' httpretty.register_uri( httpretty.GET, "https://opendata.bonn.de/api/3/action/package_list", body='{"result": ["bürgeranträge-gem-§-24-go-nrw"]}', content_type="application/json") httpretty.register_uri( httpretty.GET, "https://opendata.bonn.de/api/3/action/package_show?id=" + datasetId, body='{"success": true, "result": [{}]}', content_type="application/json") reader = CkanReader('bonn') result = reader.gather() assert (httpretty.has_request()) assert len(result) == 1
def test_gelsenkirchen_import(self): data = { "name": "name", "title": "title", "maintainer": "Offene Daten Gelsenkirchen", "license_title": "cc-zero", "private": "Veroffentlicht", "resources": [{ "url": "" }], "tags": [{ "name": "Bevolkerung" }] } reader = CkanReader('gelsenkirchen') d = reader.import_data(data) assert d['publisher'] == 'Offene Daten Gelsenkirchen'
def test_failure(self): with pytest.raises(SystemExit) as pytest_wrapped_e: reader = CkanReader('non included') assert pytest_wrapped_e.type == SystemExit
def test_fetch(self): reader = CkanReader('bonn') assert reader.fetch('test') == 'test'
def test_bonn_special(self): data = { "id": "42db3b50-1904-4123-98a3-6e71d381362a", "name": "stellenangebote-der-stadtwerke-bonn", "title": "Stellenangebote der Stadtwerke Bonn", "author": "Stadtwerke Bonn", "author_email": "*****@*****.**", "maintainer": "Offene Daten Bonn", "maintainer_email": "*****@*****.**", "license_title": "cc-by", "notes": "Stellenangebote der Stadtwerke Bonn", "url": "https:\/\/opendata.bonn.de\/dataset\/stellenangebote-der-stadtwerke-bonn", "state": "Active", "log_message": "Update to resource \u0027Stellenangebote\u0027", "private": "Ver\u00f6ffentlicht", "revision_timestamp": "2016-03-02T17:34:05+01:00", "metadata_created": "2014-09-11T11:04:12+02:00", "metadata_modified": "2016-03-02T17:34:05+01:00", "creator_user_id": "4b64ff5b-02cf-45e6-afc4-3c2d01e8dad0", "type": "Dataset", "resources": [{ "id": "4377bb9d-ae1f-4acb-955a-399487fdff6e", "revision_id": "", "url": "https:\/\/opendata.bonn.de\/dataset\/4377bb9d-ae1f-4acb-955a-399487fdff6e\/resource\/4377bb9d-ae1f-4acb-955a-399487fdff6e", "description": "Die Stadtwerke Bonn sind t\u00e4tig im \u00f6ffentlichen Nahverkehr, in der Energie- und Wasserversorgung sowie der Abfallwirtschaft und bieten engagierten Mitarbeiterinnen und Mitarbeitern attraktive Arbeitspl\u00e4tze und Karrierem\u00f6glichkeiten.\n\nLizenz: Zu verwenden ist \u0022Stadtwerke Bonn\u0022 in der Namensnennung. \n", "format": "html", "state": "Active", "revision_timestamp": "2016-03-02T15:08:35+01:00", "name": "dataset\/4377bb9d-ae1f-4acb-955a-399487fdff6e\/resource\/4377bb9d-ae1f-4acb-955a-399487fdff6e", "mimetype": "html", "size": "", "created": "2014-09-11T11:05:11+02:00", "resource_group_id": "4174726c-a3d5-4fc9-acb2-f5dde64c2ec0", "last_modified": "Date changed\t2016-03-02T15:08:35+01:00" }], "tags": [{ "id": "ef69c05c-8275-4f07-8706-b6ef46fc2d98", "vocabulary_id": "2", "name": "Transport und Verkehr" }, { "id": "8d2f0d7b-1f4c-45f5-a9d0-260501f66378", "vocabulary_id": "2", "name": "Umwelt und Klima" }, { "id": "041068fd-b8d6-4a81-820b-4756d893b550", "vocabulary_id": "2", "name": "Wirtschaft und Arbeit" }], "groups": [{ "description": "Stadtwerke Bonn\u003Cbr \/\u003E\nTheaterstra\u00dfe 24\u003Cbr \/\u003E\n53111 Bonn\u003Cbr \/\u003E\u003Ca href=\u0022http:\/\/www.stadtwerke-bonn.de \u0022 title=\u0022http:\/\/www.stadtwerke-bonn.de \u0022\u003Ehttp:\/\/www.stadtwerke-bonn.de \u003C\/a\u003E", "id": "4174726c-a3d5-4fc9-acb2-f5dde64c2ec0", "image_display_url": "https:\/\/opendata.bonn.de\/sites\/default\/files\/swb-logo.png", "title": "Stadtwerke Bonn", "name": "group\/stadtwerke-bonn" }] } reader = CkanReader('bonn') d = reader.import_data(data)