Example #1
0
def test_geonames_validate_errors(mocker, test_input):
    def get_none(*args, **kwargs):
        return None

    mocker.patch('nmnh_ms_tools.bots.core.Bot.delete_cached_url', get_none)
    with pytest.raises(SystemExit):
        GeoNamesBot().validate(FakeGeoNamesResponse(test_input))
Example #2
0
def test_geonames_validate(mocker, test_input, expected):
    def get_none(*args, **kwargs):
        return None

    mocker.patch('nmnh_ms_tools.bots.core.Bot.delete_cached_url', get_none)
    result = GeoNamesBot().validate(FakeGeoNamesResponse(test_input))
    assert result if expected else not result
Example #3
0
def test_geonames_get_country():
    response = GeoNamesBot().get_country('United States')
    assert response['countryCode'] == 'US'
Example #4
0
def test_geonames_get_state():
    response = GeoNamesBot().get_state('Washington', 'US')
    assert response['adminCode1'] == 'WA'
Example #5
0
def test_geonames_ocean_json():
    response = GeoNamesBot().ocean_json(20.307, -157.858)
    assert response['ocean']['name'] == 'North Pacific Ocean'
Example #6
0
def test_geonames_country_subdivision_json():
    response = GeoNamesBot().country_subdivision_json(46.997, -120.548)
    assert response['adminCode1'] == 'WA'
    assert response['countryCode'] == 'US'
Example #7
0
def test_geonames_find_nearby():
    response = GeoNamesBot().find_nearby_json(46.997, -120.548, dec_places=3)
    assert 5793639 in {r['geonameId'] for r in response}
Example #8
0
def test_geonames_search_json_too_many_names():
    with pytest.raises(ValueError):
        GeoNamesBot().search_json(name='a', name_equals='b', q='c')
Example #9
0
def test_geonames_search_json_illegal_param():
    with pytest.raises(ValueError):
        GeoNamesBot().search_json(country_code='US')
Example #10
0
def test_geonames_search_json():
    kwargs = {'adminCode1': 'WA', 'featureCode': 'PPLA2'}
    response = GeoNamesBot().search_json('Ellensburg', **kwargs)
    assert {r['geonameId'] for r in response} == {5793639}
Example #11
0
def test_geonames_get_json():
    response = GeoNamesBot().get_json(5793639)
    assert response['geonameId'] == 5793639
    assert response['name'] == 'Ellensburg'