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())
예제 #2
0
 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)
예제 #3
0
    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()))
예제 #4
0
 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)
예제 #5
0
    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())
예제 #6
0
    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_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)
예제 #8
0
    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)
예제 #9
0
    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)
예제 #10
0
    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)
예제 #11
0
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)
예제 #13
0
 def test_annex(self):
     """
     Tests document with an annex without number.
     """
     publication = get_publication(455149)
     self._test(publication)
예제 #14
0
def _add_document(pub_id):
        pub = get_publication(pub_id)
        doc = {'series': 'I', 'supplement': None, 'number': '1', 'dre_id': 1}
        save_publication(pub, doc)