def test_populate_CCBY(self): self.testcase.populate() # Test the correct licences for 5 random entries. This test currently # fails on journal names with non-english characters. i = 0 while i < 3: random.seed() index = random.randint(1, len(self.testcase.journal_list)) test_journal = self.testcase.journal_list[index] print test_journal.name doaj_journal = Journal(test_journal.name) if doaj_journal.get_licence_from_doaj(): self.assertEqual(test_journal.licence, doaj_journal.licence) i += 1
def process_journal(self, tag, verbose = False): """Process a DOAJ journal record from within the list page""" journal = Journal(tag.string) issn_tag = tag.findNext('b').nextSibling issn = issn_tag.lstrip(": ").strip() journal.issn = issn licence_tag = tag.findNext('a', href=(re.compile("legalcode$"))) journal.licence = licence_tag['href'] if verbose: print "\n\nJournal:", journal.name print "ISSN:", issn print "Licence:", journal.licence next_tag = licence_tag.findNext('br').findNext('br').findNext('a') if next_tag.get('class', None) == 'page': next_tag = False return journal, next_tag
class DOAJTest(unittest.TestCase): def setUp(self): self.pone = Journal("PLoS ONE") self.actamaz = Journal("Acta Amazonica") def test_doaj_plosone(self): self.pone.get_licence_from_doaj() self.assertEqual(self.pone.licence, "http://creativecommons.org/licenses/by/3.0/legalcode") self.assertTrue(self.pone.isCCBY()) self.assertFalse(self.pone.isCCBYNC()) def test_actam_plosone(self): self.actamaz.get_licence_from_doaj() self.assertEqual(self.actamaz.licence, "http://creativecommons.org/licenses/by-nc/3.0/legalcode") self.assertFalse(self.actamaz.isCCBY()) self.assertTrue(self.actamaz.isCCBYNC())
def setUp(self): self.pone = Journal("PLoS ONE") self.actamaz = Journal("Acta Amazonica")