From d5f46a1c6f78fde4dfd5e60879fe5eaa1137ec50 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 10 May 2020 14:12:03 -0700 Subject: [PATCH] more openlibrary connector tests --- fedireads/connectors/openlibrary.py | 2 +- fedireads/tests/test_connector_openlibrary.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/fedireads/connectors/openlibrary.py b/fedireads/connectors/openlibrary.py index 4dc1353e3..e4ee74b43 100644 --- a/fedireads/connectors/openlibrary.py +++ b/fedireads/connectors/openlibrary.py @@ -35,7 +35,7 @@ class Connector(AbstractConnector): def is_work_data(self, data): - return not re.match(r'^OL\d+M$', data['key']) + return bool(re.match(r'^[\/\w]+OL\d+W$', data['key'])) def get_edition_from_work_data(self, data): diff --git a/fedireads/tests/test_connector_openlibrary.py b/fedireads/tests/test_connector_openlibrary.py index 38e2b818c..68bace67a 100644 --- a/fedireads/tests/test_connector_openlibrary.py +++ b/fedireads/tests/test_connector_openlibrary.py @@ -8,6 +8,7 @@ import pytz from fedireads import models from fedireads.connectors.openlibrary import Connector from fedireads.connectors.openlibrary import get_languages, get_description +from fedireads.connectors.openlibrary import pick_default_edition from fedireads.connectors.abstract_connector import SearchResult, get_date @@ -29,8 +30,21 @@ class Openlibrary(TestCase): 'data/ol_work.json') edition_file = pathlib.Path(__file__).parent.joinpath( 'data/ol_edition.json') + edition_list_file = pathlib.Path(__file__).parent.joinpath( + 'data/ol_edition_list.json') self.work_data = json.loads(work_file.read_bytes()) self.edition_data = json.loads(edition_file.read_bytes()) + self.edition_list_data = json.loads(edition_list_file.read_bytes()) + + + def test_is_work_data(self): + self.assertEqual(self.connector.is_work_data(self.work_data), True) + self.assertEqual(self.connector.is_work_data(self.edition_data), False) + + + def test_pick_default_edition(self): + edition = pick_default_edition(self.edition_list_data['entries']) + self.assertEqual(edition['key'], '/books/OL9952943M') def test_format_search_result(self):