code: def test_details():
      url = "http://api.geonames.org/getJSON?geonameId=6094817&username=mock&style=full"
      data_file = "tests/results/geonames_details.json"
      with requests_mock.Mocker() as mocker, open(
          data_file, "r"
      ) as input:
          mocker.get(url, text=input.read())
          g = geocoder.geonames(6094817, method="details", key="mock")
  
          assert g.lat == "45.41117"
          assert g.lng == "-75.69812"
          assert g.geonames_id == 6094817
          assert g.address == "Ottawa"
          assert g.feature_class == "P"
          assert g.class_description == "city, village,..."
          assert g.code == "PPLC"
          assert g.description == "capital of a political entity"
          assert g.continent == "NA"
          assert g.country_geonames_id == "6251999"
          assert g.country_code == "CA"
          assert g.country == "Canada"
          assert g.state == "Ontario"
          assert g.state_code == "08"
          assert g.state_geonames_id == "6093943"
          assert g.admin2 == ""
          assert g.admin3 == ""
          assert g.admin4 == ""
          assert g.admin5 == ""
          assert g.population == 812129
          assert g.srtm3 == 71
          assert g.wikipedia == "en.wikipedia.org/wiki/Ottawa"
          assert g.timeZoneId == "America/Toronto"
          assert g.timeZoneName == "America/Toronto"
          assert g.rawOffset == -5
          assert g.dstOffset == -4
          assert g.bbox == {
              "northeast": [45.58753415000007, -75.07957784899992],
              "southwest": [44.962202955000066, -76.35400795899994],
          }
  
file_path: geocoder/tests/test_geonames.py
imports: import json
  import pytest
  import geocoder
  import requests_mock
label_desc: Use image node_id 9 for calling a global function with example usage: test_details() without return types