def test_valid_insertion(self): pub1 = get_publication(544590) pub2 = get_publication(67040491) doc = {'series': 'I', 'supplement': None, 'number': '1/2000', 'dre_id': 1} save_publication(pub1, doc) save_publication(pub2, doc) self.assertEqual(2, Document.objects.count()) self.assertEqual(1, Type.objects.filter(name='Portaria', dr_series='I').count()) pub = Document.objects.get(dre_doc_id=67040491) self.assertEqual(1, pub.references.count())
def test_69982738(self): """ This document caused an error because it contained a reserved token for an itemization. """ publication = get_publication(69982738) self._test(publication)
def test_simple(self): """ Test failing due to DocumentObserver catching EU laws. """ publication = get_publication(67040491) result = self._test(publication) # test recursive search for references: 15 unique references self.assertEqual(15, len(result.get_doc_refs()))
def test_invalid_insertion(self): pub = get_publication(544590) doc = { 'series': 'I' * 30, 'supplement': None, 'number': '1', 'dre_id': 1 } with self.assertRaises(ValueError): save_publication(pub, doc)
def test_valid_insertion(self): pub1 = get_publication(544590) pub2 = get_publication(67040491) doc = { 'series': 'I', 'supplement': None, 'number': '1/2000', 'dre_id': 1 } save_publication(pub1, doc) save_publication(pub2, doc) self.assertEqual(2, Document.objects.count()) self.assertEqual( 1, Type.objects.filter(name='Portaria', dr_series='I').count()) pub = Document.objects.get(dre_doc_id=67040491) self.assertEqual(1, pub.references.count())
def test_638275(self): """ This is an edge case, thus we test it explicitly. """ pub = get_publication(638275) doc = {'series': 'I', 'supplement': None, 'number': '1', 'dre_id': 1} save_publication(pub, doc) pub = Document.objects.get(dre_doc_id=638275) self.assertEqual('4/93', pub.number)
def _test(self, publication_id): publication = get_publication(publication_id) result = analyse(parse(normalize(publication['text']))) toc = html_toc(result) toc = valid_html(toc.as_html()) toc = toc.replace('<li', '\n<li').replace('<ul', '\n<ul') # useful to store the result #with open('toc.html', 'w') as f: # f.write(toc) self.assertEqual(_expected('%d_toc.html' % publication_id), toc)
def test_get_publication(self): result = get_publication(583605) self.assertTrue( result['summary'].startswith('Exonera, sob proposta do Governo')) self.assertTrue(result['text'].startswith( '<?xml version="1.0" encoding="UTF-8"?>')) del result['summary'] del result['text'] expected = { 'dre_id': 583605, 'date': datetime.date(2000, 12, 13), 'type': 'Decreto do Presidente da República', 'number': '58/2000', 'creator': 'Presidência da República', 'pages': '7082 - 7082', 'pdf_id': 583537 } self.assertEqual(expected, result)
def test_638275(self): """ This publication has a problem on its number: it is `4/93, de 13 de Setembro` instead of `4/93`. We have changed the code to account for this special case, and thus have a test for it. """ result = get_publication(638275) del result['summary'] del result['text'] expected = { 'dre_id': 638275, 'date': datetime.date(1993, 9, 13), 'type': 'Decreto do Ministro da República', 'number': '4/93', 'creator': 'Gabinete do Ministro da República para a Região Autónoma dos Açores', 'pages': '4920-(2) a 4920-(2)', 'pdf_id': 638180 } self.assertEqual(expected, result)
def _add_document(pub_id): pub = get_publication(pub_id) doc = {'series': 'I', 'supplement': None, 'number': '1', 'dre_id': 1} save_publication(pub, doc)
def test_invalid_insertion(self): pub = get_publication(544590) doc = {'series': 'I'*30, 'supplement': None, 'number': '1', 'dre_id': 1} with self.assertRaises(ValueError): save_publication(pub, doc)
def test_annex(self): """ Tests document with an annex without number. """ publication = get_publication(455149) self._test(publication)