예제 #1
0
 def setUp(self):
     dirname = os.path.dirname(os.path.realpath(__file__))
     fixture = os.path.join(dirname, 'fixtures', 'afp.xml')
     provider = {'name': 'Test'}
     with open(fixture) as f:
         self.item = NewsMLOneFeedParser().parse(etree.fromstring(f.read()), provider)
예제 #2
0
class TestCase(unittest.TestCase):
    def setUp(self):
        dirname = os.path.dirname(os.path.realpath(__file__))
        fixture = os.path.join(dirname, 'fixtures', 'afp.xml')
        provider = {'name': 'Test'}
        with open(fixture) as f:
            self.item = NewsMLOneFeedParser().parse(etree.fromstring(f.read()), provider)

    def test_headline(self):
        self.assertEquals(self.item.get('headline'), 'Sweden court accepts receivership for Saab carmaker')

    def test_dateline(self):
        self.assertEquals(self.item.get('dateline', {}).get('text'), 'STOCKHOLM, Aug 29, 2014 (AFP) -')

    def test_slugline(self):
        self.assertEquals(self.item.get('slugline'), 'Sweden-SAAB')

    def test_byline(self):
        self.assertEquals(self.item.get('byline'), '')

    def test_language(self):
        self.assertEquals(self.item.get('language'), 'en')

    def test_guid(self):
        self.assertEquals(self.item.get('guid'), 'urn:newsml:afp.com:20140829T135002Z:TX-PAR-FXW86:1')

    def test_coreitemvalues(self):
        self.assertEquals(self.item.get('type'), 'text')
        self.assertEquals(self.item.get('urgency'), 4)
        self.assertEquals(self.item.get('version'), '1')
        self.assertEquals(self.item.get('versioncreated'), datetime.datetime(2014, 8, 29, 13, 49, 51))
        self.assertEquals(self.item.get('firstcreated'), datetime.datetime(2014, 8, 29, 13, 49, 51))
        self.assertEquals(self.item.get('pubstatus'), 'usable')

    def test_subjects(self):
        self.assertEquals(len(self.item.get('subject')), 5)
        self.assertIn({'name': 'automotive equipment', 'qcode': '04011002'}, self.item.get('subject'))
        self.assertIn({'name': 'bankruptcy', 'qcode': '04016007'}, self.item.get('subject'))
        self.assertIn({'name': 'economy, business and finance', 'qcode': '04000000'}, self.item.get('subject'))
        self.assertIn({'name': 'quarterly or semiannual financial statement', 'qcode': '04016038'},
                      self.item.get('subject'))
        self.assertIn({'name': 'manufacturing and engineering', 'qcode': '04011000'}, self.item.get('subject'))

    def test_usageterms(self):
        self.assertEquals(self.item.get('usageterms'), 'NO ARCHIVAL USE')

    def test_genre(self):
        self.assertIn({'name': 'business'}, self.item.get('genre'))
        self.assertIn({'name': 'bankruptcy'}, self.item.get('genre'))

    def test_content_is_text(self):
        self.assertIsInstance(self.item.get('body_html'), type(''))
        self.assertNotRegex(self.item.get('body_html'), '<body.content>')