def test_route_passage_without_urn_xslt(self): nemo = Nemo( api_url=NemoTestControllers.endpoint, inventory="annotsrc", transform={"urn:cts:latinLit:phi1294.phi002.perseus-lat3": NemoTestControllers.body_xsl}, ) with patch("requests.get", return_value=self.getPassage_Route) as patched: view = nemo.r_passage("latinLit", "phi1294", "phi002", "perseus-lat2", "1.pr.1") # Reparsing xml xml = etree.fromstring(str(view["text_passage"])) self.assertEqual(len(xml.xpath("//tei:body", namespaces={"tei": "http://www.tei-c.org/ns/1.0"})), 1)
def test_route_passage_with_transform(self): """ Try with a non xslt just to be sure """ urn = "urn:cts:latinLit:phi1294.phi002.perseus-lat2" def transformer(version, text): self.assertEqual(str(version.urn), "urn:cts:latinLit:phi1294.phi002.perseus-lat2") self.assertIsInstance(text, etree._Element) return "<a>Hello</a>" nemo = Nemo(api_url=NemoTestControllers.endpoint, inventory="annotsrc", transform={"default": transformer}) with patch("requests.get", return_value=self.getPassage_Route) as patched: view = nemo.r_passage("latinLit", "phi1294", "phi002", "perseus-lat2", "1.pr.1") self.assertEqual(view["text_passage"], Markup("<a>Hello</a>"))
def test_route_passage_with_xslt(self): nemo = Nemo( api_url=NemoTestControllers.endpoint, inventory="annotsrc", transform={"default": NemoTestControllers.body_xsl}, ) with patch("requests.get", return_value=self.getPassage_Route) as patched: view = nemo.r_passage("latinLit", "phi1294", "phi002", "perseus-lat2", "1.pr.1") self.assertEqual(view["template"], "main::text.html") self.assertIsInstance(view["version"], MyCapytain.resources.inventory.Text) self.assertEqual(str(view["version"].urn), "urn:cts:latinLit:phi1294.phi002.perseus-lat2") self.assertEqual(view["prev"], "1.1.1") self.assertEqual(view["next"], "1.1.3") self.assertIsInstance(view["text_passage"], Markup) # Reparsing xml xml = etree.fromstring(str(view["text_passage"])) self.assertEqual(len(xml.xpath("//tei:notbody", namespaces={"tei": "http://www.tei-c.org/ns/1.0"})), 1)