Skip to content

Commit f74f1d3

Browse files
committed
Explicitly test mode setting
Closes #178.
1 parent e8bed66 commit f74f1d3

File tree

1 file changed

+11
-24
lines changed

1 file changed

+11
-24
lines changed

tests/database_test.py

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import ipaddress
77
import sys
88
import unittest
9+
from unittest.mock import patch, MagicMock
910

1011
sys.path.append("..")
1112

@@ -19,7 +20,7 @@
1920
maxminddb.extension = None # type: ignore
2021

2122

22-
class BaseTestReader(unittest.TestCase):
23+
class TestReader(unittest.TestCase):
2324
def test_language_list(self) -> None:
2425
reader = geoip2.database.Reader(
2526
"tests/data/test-data/GeoIP2-Country-Test.mmdb",
@@ -262,27 +263,13 @@ def test_context_manager(self) -> None:
262263
record = reader.country("81.2.69.160")
263264
self.assertEqual(record.traits.ip_address, "81.2.69.160")
264265

266+
@patch("maxminddb.open_database")
267+
def test_modes(self, mock_open) -> None:
268+
mock_open.return_value = MagicMock()
265269

266-
@unittest.skipUnless(maxminddb.extension, "No C extension module found. Skipping tests")
267-
class TestExtensionReader(BaseTestReader):
268-
mode = geoip2.database.MODE_MMAP_EXT
269-
270-
271-
class TestMMAPReader(BaseTestReader):
272-
mode = geoip2.database.MODE_MMAP
273-
274-
275-
class TestFileReader(BaseTestReader):
276-
mode = geoip2.database.MODE_FILE
277-
278-
279-
class TestMemoryReader(BaseTestReader):
280-
mode = geoip2.database.MODE_MEMORY
281-
282-
283-
class TestFDReader(unittest.TestCase):
284-
mode = geoip2.database.MODE_FD
285-
286-
287-
class TestAutoReader(BaseTestReader):
288-
mode = geoip2.database.MODE_AUTO
270+
path = "tests/data/test-data/GeoIP2-Country-Test.mmdb"
271+
with geoip2.database.Reader(
272+
path,
273+
mode=geoip2.database.MODE_MMAP_EXT,
274+
) as reader:
275+
mock_open.assert_called_once_with(path, geoip2.database.MODE_MMAP_EXT)

0 commit comments

Comments
 (0)