def test_get_xml_data_creates_SPS_Package_instance(self, mk_etree, MockSPS_Package): xml_content = XML_FILE_CONTENT MockXML = Mock() mk_etree.XML.return_value = MockXML get_xml_data(xml_content, None) MockSPS_Package.assert_called_once_with(MockXML, None)
def test_get_xml_data_returns_supplement_when_it_is_in_xml_content(self): xml_content = XML_FILE_CONTENT result = get_xml_data(xml_content, "1806-907X-rba-53-01-1-8") self.assertIsNone(result.get("supplement")) xml_file = etree.XML(XML_FILE_CONTENT) issue_tag = xml_file.find(".//article-meta/issue") issue_tag.text = "suppl 2" result = get_xml_data(etree.tostring(xml_file), "1806-907X-rba-53-01-1-8") self.assertEqual(result.get("supplement"), "02")
def test_get_xml_data_does_not_return_number_when_it_is_not_in_xml_content(self): xml_file = etree.XML(XML_FILE_CONTENT) number_tag = xml_file.find(".//article-meta/issue") number_tag.text = "suppl 2" result = get_xml_data(etree.tostring(xml_file), "1806-907X-rba-53-01-1-8") self.assertNotIn("number", result.keys()) number_tag.getparent().remove(number_tag) result = get_xml_data(etree.tostring(xml_file), "1806-907X-rba-53-01-1-8") self.assertNotIn("number", result.keys())
def test_get_xml_data_returns_xml_metadata(self): xml_content = XML_FILE_CONTENT result = get_xml_data(xml_content, "1806-907X-rba-53-01-1-8") self.assertEqual(result["xml_package_name"], "1806-907X-rba-53-01-1-8") self.assertEqual(result["scielo_id"], "FX6F3cbyYmmwvtGmMB7WCgr") self.assertEqual(result["issn"], "1806-907X") self.assertEqual(result["volume"], "53") self.assertEqual(result["number"], "01") self.assertEqual( result["assets"], [ { "asset_id": "1806-907X-rba-53-01-1-8-g01.jpg" }, { "asset_id": "1806-907X-rba-53-01-1-8-g02.jpg" }, ], ) self.assertEqual( result["pdfs"], [ { "lang": "en", "filename": "1806-907X-rba-53-01-1-8.pdf", "mimetype": "application/pdf", }, { "lang": "pt", "filename": "1806-907X-rba-53-01-1-8-pt.pdf", "mimetype": "application/pdf", }, ], )
def test_get_xml_data_does_not_return_volume_when_it_is_not_in_xml_content( self): xml_file = etree.XML(XML_FILE_CONTENT) volume_tag = xml_file.find(".//article-meta/volume") volume_tag.getparent().remove(volume_tag) result = get_xml_data(etree.tostring(xml_file), "1806-907X-rba-53-01-1-8") self.assertNotIn("volume", result.keys())
def test_get_xml_data_returns_order_with_order_when_there_is_order_in_xml_content(self): article_id = etree.Element("article-id") article_id.set("pub-id-type", "other") article_id.text = "00200" xml_file = etree.XML(XML_FILE_CONTENT) am_tag = xml_file.find(".//article-meta") am_tag.append(article_id) result = get_xml_data(etree.tostring(xml_file), "1806-907X-rba-53-01-1-8") self.assertEqual(result.get("order"), "00200")
def test_get_xml_data_creates_etree_xml(self, mk_etree, MockSPS_Package): xml_content = XML_FILE_CONTENT MockParser = Mock() mk_etree.XMLParser.return_value = MockParser get_xml_data(xml_content, None) mk_etree.XML.assert_called_once_with(xml_content, MockParser)
def test_get_xml_data_creates_etree_parser(self, mk_etree, MockSPS_Package): get_xml_data(XML_FILE_CONTENT, None) mk_etree.XMLParser.assert_called_once_with(remove_blank_text=True, no_network=True)
def test_get_xml_data_returns_order_with_fpage_when_there_is_no_order_in_xml_content( self): xml_content = XML_FILE_CONTENT result = get_xml_data(xml_content, "1806-907X-rba-53-01-1-8") self.assertEqual(result.get("order"), "00001")