Пример #1
0
class TestReadability(object):

    def setup_class(self):
        if not os.environ.get('REALHTTP'):
            HTTPretty.enable()
        self.readability = Readability()

    def teardown_class(self):
        if not os.environ.get('REALHTTP'):
            HTTPretty.disable()

    def test_resources(self):
        HTTPretty.register_uri(HTTPretty.GET, rdd_url('/'),
                               body=fixture('resources.json'))
        resources = self.readability.resources()
        assert resources['urls/:id']['href'] == '/api/shortener/v1/urls/:id'
        assert resources['urls']['href'] == '/api/shortener/v1/urls'

    def test_shorten(self):
        full_url = 'http://www.paulgraham.com/gh.html'
        url_id = 'ga4qf47t'
        HTTPretty.register_uri(HTTPretty.POST, rdd_url('/urls'),
                               body=fixture('shorten.json'))
        meta = self.readability.shorten(full_url)
        assert meta['url'] == '/api/shortener/v1/urls/%s' % url_id
        assert meta['rdd_url'] == 'http://rdd.me/%s' % url_id
        assert meta['id'] == url_id

    def test_metadata(self):
        url_id = 'ga4qf47t'
        HTTPretty.register_uri(HTTPretty.GET, rdd_url('/urls/%s' % url_id),
                               body=fixture('metadata.json'))
        meta = self.readability.metadata(url_id)
        assert meta['article']['url'] == 'http://www.paulgraham.com/gh.html'
        assert meta['article']['title'] == 'Great Hackers'
        assert meta['article']['excerpt'].startswith('Want to start a startup?')
        assert meta['article']['word_count'] == 5147
        assert meta['article']['author'] is None
        assert meta['rdd_url'] == 'http://rdd.me/%s' % url_id
        assert meta['id'] == url_id
        assert meta['full_url'] == 'http://readability.com/articles/%s' % url_id
Пример #2
0
 def setup_class(self):
     if not os.environ.get('REALHTTP'):
         HTTPretty.enable()
     self.readability = Readability()