From 13f9057fd8982877931d9e538156f676d4fa504b Mon Sep 17 00:00:00 2001 From: Mark Pittaway Date: Thu, 23 Jan 2025 13:36:04 +1100 Subject: [PATCH] fix unit tests --- tests/io/feed_parsers/dpanewsml_test.py | 100 ++++++++---------- .../formatters/newsml_g2_formatter_test.py | 2 +- 2 files changed, 44 insertions(+), 58 deletions(-) diff --git a/tests/io/feed_parsers/dpanewsml_test.py b/tests/io/feed_parsers/dpanewsml_test.py index a00adcdcd..1d13835d4 100644 --- a/tests/io/feed_parsers/dpanewsml_test.py +++ b/tests/io/feed_parsers/dpanewsml_test.py @@ -22,7 +22,8 @@ class DPANewsMLTestCase(TestCase): filename = "dpa.xml" - def setUp(self): + async def asyncSetUp(self): + await super().asyncSetUp() dirname = os.path.dirname(os.path.realpath(__file__)) fixture = os.path.normpath(os.path.join(dirname, "../fixtures", self.filename)) provider = {"name": "Test"} @@ -31,85 +32,70 @@ def setUp(self): self.item = self.parser.parse(etree.fromstring(self.nitf), provider)[0] def test_headline(self): - with self.app.app_context(): - self.assertEqual( - self.item.get("headline"), "Eintracht in London: Hintereggers Tränen und Attacke auf Reporter" - ) + self.assertEqual( + self.item.get("headline"), "Eintracht in London: Hintereggers Tränen und Attacke auf Reporter" + ) def test_slugline(self): - with self.app.app_context(): - self.assertEqual(self.item.get("slugline"), "") + self.assertEqual(self.item.get("slugline"), "") def test_byline(self): - with self.app.app_context(): - self.assertEqual(self.item.get("byline"), None) + self.assertEqual(self.item.get("byline"), None) def test_language(self): - with self.app.app_context(): - self.assertEqual(self.item.get("language"), "de") + self.assertEqual(self.item.get("language"), "de") def test_guid(self): - with self.app.app_context(): - self.assertEqual(self.item.get("guid"), "urn:newsml:dpa.com:20090101:221011-930-4303:1") + self.assertEqual(self.item.get("guid"), "urn:newsml:dpa.com:20090101:221011-930-4303:1") def test_coreitemvalues(self): - with self.app.app_context(): - print(self.item) - self.assertEqual(self.item.get("type"), "text") - self.assertEqual(self.item.get("urgency"), 4) - self.assertEqual(self.item.get("version"), "1") - self.assertEqual(self.item.get("versioncreated"), datetime.datetime(2022, 10, 11, 9, 14, 42, tzinfo=utc)) - self.assertEqual(self.item.get("firstcreated"), None) - self.assertEqual(self.item.get("pubstatus"), "usable") + self.assertEqual(self.item.get("type"), "text") + self.assertEqual(self.item.get("urgency"), 4) + self.assertEqual(self.item.get("version"), "1") + self.assertEqual(self.item.get("versioncreated"), datetime.datetime(2022, 10, 11, 9, 14, 42, tzinfo=utc)) + self.assertEqual(self.item.get("firstcreated"), None) + self.assertEqual(self.item.get("pubstatus"), "usable") def test_uri(self): - with self.app.app_context(): - self.assertEqual(self.item.get("uri"), "urn:newsml:dpa.com:20090101:221011-930-4303") + self.assertEqual(self.item.get("uri"), "urn:newsml:dpa.com:20090101:221011-930-4303") def test_authors(self): - with self.app.app_context(): - self.assertEqual(self.item.get("authors"), [{"uri": None, "name": "degenhardt.sandra"}]) + self.assertEqual(self.item.get("authors"), [{"uri": None, "name": "degenhardt.sandra"}]) def test_usageterms(self): - with self.app.app_context(): - self.assertEqual(self.item.get("usageterms"), "Nutzung nur nach schriftlicher Vereinbarung mit dpa") + self.assertEqual(self.item.get("usageterms"), "Nutzung nur nach schriftlicher Vereinbarung mit dpa") def test_renditions(self): - with self.app.app_context(): - self.assertEqual(self.item.get("renditions"), {}) + self.assertEqual(self.item.get("renditions"), {}) def test_word_count(self): - with self.app.app_context(): - self.assertEqual(self.item.get("word_count"), 226) + self.assertEqual(self.item.get("word_count"), 226) def test_body_html(self): - with self.app.app_context(): - self.assertIsInstance(self.item.get("body_html"), str) - expected_output = ( - '

2019 gab es bittere Tränen in der Kurve" - ", 2022 erst mächtig Wut auf englische Fans und eine Woche später ausgelassenen Jubel:" - " Für Eintracht Frankfurt ist London in den vergangenen Jahren zu einem Standard-Reiseziel" - " im europäischen Fußball-Wettbewerb geworden. Bevor es am Mittwochabend (21.00 Uhr/DAZN) " - "bei Tottenham Hotspur um wichtige Punkte in der Champions League geht, wird sich die Reisegruppe " - "um Torhüter Kevin Trapp und Routinier Makoto Hasebe bestimmt an die vergangenen London-Reisen erinnern." - "

Beim Topclub FC Chelsea wollte die damals von Adi Hütter trainierte Eintracht in der Saison 2018/19 " - "ihre Erfolgsserie fortsetzen und nach Inter Mailand und Schachtjor Donezk auch die «Blues» aus der Europa League werfen. " - "Nach zwei 1:1 ging es an der Stamford Bridge in die Verlängerung und ins Elfmeterschießen. Der inzwischen abgetretene" - " Martin Hinteregger vergab vom Punkt, vergoss nach dem bitteren Aus Tränen und wurde anschließend in der Fankurve getröstet." - "

Sportlich weckt der 2:1-Erfolg im Halbfinal-Hinspiel bei West Ham United Ende April positive Erinnerungen " - "- schließlich war er der Grundstein für den späteren Triumph in Sevilla. Doch eine Attacke von englischen Fans gegen " - "zwei Journalisten des Hessischen Rundfunks trübte das Bild. Die Rundfunk-Reporter bekamen nach eigenen Angaben «mehrfach Faustschläge an den Hinterkopf" - ", in den Nacken, in den Rücken». West Ham United machte die Täter später ausfindig. Eine Woche später gewann die Eintracht" - " auch das Rückspiel und zog ins Endspiel ein.

 

" - ) - - self.assertEqual(self.item.get("body_html").strip(), expected_output.strip()) + self.assertIsInstance(self.item.get("body_html"), str) + expected_output = ( + '

2019 gab es bittere Tränen in der Kurve" + ", 2022 erst mächtig Wut auf englische Fans und eine Woche später ausgelassenen Jubel:" + " Für Eintracht Frankfurt ist London in den vergangenen Jahren zu einem Standard-Reiseziel" + " im europäischen Fußball-Wettbewerb geworden. Bevor es am Mittwochabend (21.00 Uhr/DAZN) " + "bei Tottenham Hotspur um wichtige Punkte in der Champions League geht, wird sich die Reisegruppe " + "um Torhüter Kevin Trapp und Routinier Makoto Hasebe bestimmt an die vergangenen London-Reisen erinnern." + "

Beim Topclub FC Chelsea wollte die damals von Adi Hütter trainierte Eintracht in der Saison 2018/19 " + "ihre Erfolgsserie fortsetzen und nach Inter Mailand und Schachtjor Donezk auch die «Blues» aus der Europa League werfen. " + "Nach zwei 1:1 ging es an der Stamford Bridge in die Verlängerung und ins Elfmeterschießen. Der inzwischen abgetretene" + " Martin Hinteregger vergab vom Punkt, vergoss nach dem bitteren Aus Tränen und wurde anschließend in der Fankurve getröstet." + "

Sportlich weckt der 2:1-Erfolg im Halbfinal-Hinspiel bei West Ham United Ende April positive Erinnerungen " + "- schließlich war er der Grundstein für den späteren Triumph in Sevilla. Doch eine Attacke von englischen Fans gegen " + "zwei Journalisten des Hessischen Rundfunks trübte das Bild. Die Rundfunk-Reporter bekamen nach eigenen Angaben «mehrfach Faustschläge an den Hinterkopf" + ", in den Nacken, in den Rücken». West Ham United machte die Täter später ausfindig. Eine Woche später gewann die Eintracht" + " auch das Rückspiel und zog ins Endspiel ein.

 

" + ) + + self.assertEqual(self.item.get("body_html").strip(), expected_output.strip()) def test_priority(self): - with self.app.app_context(): - self.assertEqual(self.item.get("priority"), 5) + self.assertEqual(self.item.get("priority"), 5) def test_keywords(self): - with self.app.app_context(): - self.assertEqual(self.item.get("keywords"), ["Champions League", "Frankfurt", "London"]) + self.assertEqual(self.item.get("keywords"), ["Champions League", "Frankfurt", "London"]) diff --git a/tests/publish/formatters/newsml_g2_formatter_test.py b/tests/publish/formatters/newsml_g2_formatter_test.py index 0311111b7..cc9682202 100644 --- a/tests/publish/formatters/newsml_g2_formatter_test.py +++ b/tests/publish/formatters/newsml_g2_formatter_test.py @@ -1141,7 +1141,7 @@ async def test_lang_fr(self): self.assertEqual("gen fr", genre.find("name", NSMAP).text) self.assertEqual("fr", genre.find("name", NSMAP).attrib[XML_LANG]) - def test_null_anpa_category(self): + async def test_null_anpa_category(self): item = self.format( { "headline": "foo",