Ejemplo n.º 1
0
    def test_services_remains_empty_on_failed_http(self, MockHttp):
        MockHttp.return_value.request.return_value = ({'status': 500}, "")

        client = Embedly(self.key)
        client.get_services()

        self.assertFalse(client.services)
        self.assertTrue(MockHttp.return_value.request.called)
Ejemplo n.º 2
0
    def test_services_remains_empty_on_failed_http(self, MockHttp):
        MockHttp.return_value.request.return_value = ({'status': 500}, "")

        client = Embedly(self.key)
        client.get_services()

        self.assertFalse(client.services)
        self.assertTrue(MockHttp.return_value.request.called)
Ejemplo n.º 3
0
    def test_error(self):
        http = Embedly(self.key)

        obj = http.oembed('http://www.embedly.com/this/is/a/bad/url')
        self.assertTrue(obj['error'])
        obj = http.oembed('http://blog.embed.ly/lsbsdlfldsf/asdfkljlas/klajsdlfkasdf')
        self.assertTrue(obj['error'])
        obj = http.oembed('http://twitpic/nothing/to/see/here')
        self.assertTrue(obj['error'])
Ejemplo n.º 4
0
    def test_too_many_urls(self):
        http = Embedly(self.key)

        urls = ['http://embed.ly'] * 21
        try:
            http.oembed(urls)
            self.fail('too many urls, should have thrown an error')
        except Exception as e:
            self.assertTrue(type(e), ValueError)
Ejemplo n.º 5
0
    def test_error(self):
        http = Embedly(self.key)

        obj = http.oembed('http://www.embedly.com/this/is/a/bad/url')
        self.assertTrue(obj['error'])
        obj = http.oembed('http://blog.embed.ly/lsbsdlfldsf/asdfkljlas/klajsdlfkasdf')
        self.assertTrue(obj['error'])
        obj = http.oembed('http://twitpic/nothing/to/see/here')
        self.assertTrue(obj['error'])
Ejemplo n.º 6
0
    def test_too_many_urls(self):
        http = Embedly(self.key)

        urls = ['http://embed.ly'] * 21
        try:
            http.oembed(urls)
            self.fail('too many urls, should have thrown an error')
        except Exception as e:
            self.assertTrue(type(e), ValueError)
Ejemplo n.º 7
0
    def test_raw_content_in_request(self):
        client = Embedly(self.key)
        response = client.oembed('http://www.scribd.com/doc/13994900/Easter',
                                 raw=True)

        self.assertEqual(response['raw'], response.data['raw'])

        parsed = json.loads(response['raw'].decode('utf-8'))
        self.assertEqual(response['type'], parsed['type'])
Ejemplo n.º 8
0
 def test_error(self):
     http = Embedly(self.key)
     
     obj = http.oembed('http://www.youtube.com/this/is/a/bad/url')
     self.assert_(obj.error is True, obj.dict)
     obj = http.oembed('http://blog.embed.ly/lsbsdlfldsf/asdfkljlas/klajsdlfkasdf')
     self.assert_(obj.error is True, obj.dict)
     obj = http.oembed('http://twitpic/nothing/to/see/here')
     self.assert_(obj.error is True, obj.dict)
Ejemplo n.º 9
0
    def test_error(self):
        http = Embedly(self.key)

        obj = http.oembed('http://www.youtube.com/this/is/a/bad/url')
        self.assert_(obj.error is True, obj.dict)
        obj = http.oembed(
            'http://blog.embed.ly/lsbsdlfldsf/asdfkljlas/klajsdlfkasdf')
        self.assert_(obj.error is True, obj.dict)
        obj = http.oembed('http://twitpic/nothing/to/see/here')
        self.assert_(obj.error is True, obj.dict)
Ejemplo n.º 10
0
    def test_raw_content_in_request(self):
        client = Embedly(self.key)
        response = client.oembed(
            'http://www.scribd.com/doc/13994900/Easter',
            raw=True)

        self.assertEqual(response['raw'], response.data['raw'])

        parsed = json.loads(response['raw'].decode('utf-8'))
        self.assertEqual(response['type'], parsed['type'])
Ejemplo n.º 11
0
 def set_embedly_data(self, field_name):
     original_field_value = getattr(self, 'original_{0}'.format(field_name))
     new_field_value = getattr(self, field_name)
     if new_field_value != original_field_value:
         embedly_key = getattr(settings, 'EMBEDLY_KEY')
         if embedly_key:
             client = Embedly(embedly_key)
             data_field_name = '{0}_data'.format(field_name)
             setattr(self, data_field_name, client.oembed(new_field_value)._data)
     setattr(self, 'original_{0}'.format(field_name), new_field_value)
Ejemplo n.º 12
0
 def set_embedly_data(self, field_name):
     original_field_value = getattr(self, 'original_{0}'.format(field_name))
     new_field_value = getattr(self, field_name)
     if new_field_value != original_field_value:
         embedly_key = getattr(settings, 'EMBEDLY_KEY')
         if embedly_key:
             client = Embedly(embedly_key)
             data_field_name = '{0}_data'.format(field_name)
             setattr(self, data_field_name,
                     client.oembed(new_field_value)._data)
     setattr(self, 'original_{0}'.format(field_name), new_field_value)
Ejemplo n.º 13
0
 def test_providers(self):
     http = Embedly(self.key)
     
     objs = http.oembed(['http://www.scribd.com/doc/13994900/Easter',
                         'http://www.scribd.com/doc/28452730/Easter-Cards'])
     self.assert_(objs[0].provider_url == 'http://www.scribd.com/')
     self.assert_(objs[1].provider_url == 'http://www.scribd.com/')
     
     objs = http.oembed(['http://www.youtube.com/watch?v=Zk7dDekYej0',
                         'http://yfrog.com/h22eu4'])
     self.assert_(objs[0].provider_url == 'http://www.youtube.com/')
     self.assert_(objs[1].provider_url == 'http://yfrog.com/')
Ejemplo n.º 14
0
    def test_providers(self):
        http = Embedly(self.key)

        objs = list(http.oembed(['http://www.scribd.com/doc/13994900/Easter',
                                 'http://www.scribd.com/doc/28452730/Easter-Cards']))

        self.assertEqual(objs[0]['provider_url'], 'http://www.scribd.com/')
        self.assertEqual(objs[1]['provider_url'], 'http://www.scribd.com/')

        objs = list(http.oembed(['http://www.youtube.com/watch?v=Zk7dDekYej0',
                                 'http://yfrog.com/h22eu4']))
        self.assertEqual(objs[0]['provider_url'], 'http://www.youtube.com/')
        self.assertEqual(objs[1]['provider_url'], 'http://yfrog.com')
Ejemplo n.º 15
0
    def test_provider(self):
        http = Embedly(self.key)

        obj = http.oembed('http://www.scribd.com/doc/13994900/Easter')
        self.assertTrue(obj.provider_url == 'http://www.scribd.com/')

        obj = http.oembed('http://www.scribd.com/doc/28452730/Easter-Cards')
        self.assertTrue(obj.provider_url == 'http://www.scribd.com/')

        obj = http.oembed('http://www.youtube.com/watch?v=Zk7dDekYej0')
        self.assertTrue(obj.provider_url == 'http://www.youtube.com/')

        obj = http.oembed('http://yfrog.com/h22eu4j')
        self.assertTrue(obj.provider_url == 'http://yfrog.com')
Ejemplo n.º 16
0
    def test_provider(self):
        http = Embedly(self.key)

        obj = http.oembed("http://www.scribd.com/doc/13994900/Easter")
        self.assert_(obj.provider_url == "http://www.scribd.com/")

        obj = http.oembed("http://www.scribd.com/doc/28452730/Easter-Cards")
        self.assert_(obj.provider_url == "http://www.scribd.com/")

        obj = http.oembed("http://www.youtube.com/watch?v=Zk7dDekYej0")
        self.assert_(obj.provider_url == "http://www.youtube.com/")

        obj = http.oembed("http://yfrog.com/h22eu4j")
        self.assert_(obj.provider_url == "http://yfrog.com")
Ejemplo n.º 17
0
    def test_multi_errors(self):
        http = Embedly(self.key)

        objs = http.oembed(["http://www.youtube.com/this/is/a/bad/url", "http://blog.embed.ly/alsd/slsdlf/asdlfj"])
        self.assert_(objs[0].type == "error", objs[0].dict)
        self.assert_(objs[1].type == "error", objs[1].dict)

        objs = http.oembed(["http://blog.embed.ly/lsbsdlfldsf/asdf/kl", "http://twitpic.com/nothing/to/see/here"])
        self.assert_(objs[0].type == "error", objs[0].dict)
        self.assert_(objs[1].type == "error", objs[1].dict)

        objs = http.oembed(["http://blog.embed.ly/lsbsdlfldsf/asdf/kl", "http://yfrog.com/h22eu4j"])
        self.assert_(objs[0].type == "error", objs[0].dict)
        self.assert_(objs[1].type == "photo", objs[1].dict)

        objs = http.oembed(["http://yfrog.com/h22eu4j", "http://www.scribd.com/asdf/asdf/asdfasdf"])
        self.assert_(objs[0].type == "photo", objs[0].dict)
        self.assert_(objs[1].type == "error", objs[1].dict)
Ejemplo n.º 18
0
def init_api(domain, key_enabled):
    opts = {}

    if domain:
        opts['domain'] = domain

    if key_enabled:
        if not environ.get('EMBEDLY_KEY'):
            raise RuntimeError('Please set env variable $EMBEDLY_KEY')
        opts['key'] = environ["EMBEDLY_KEY"]

    scc.api = Embedly(**opts)
Ejemplo n.º 19
0
    def test_multi_errors(self):
        http = Embedly(self.key)

        objs = list(
            http.oembed([
                'http://www.embedly.com/this/is/a/bad/url',
                'http://blog.embed.ly/alsd/slsdlf/asdlfj'
            ]))

        self.assertEqual(objs[0]['type'], 'error')
        self.assertEqual(objs[1]['type'], 'error')

        objs = list(
            http.oembed([
                'http://blog.embed.ly/lsbsdlfldsf/asdf/kl',
                'http://twitpic.com/nothing/to/see/here'
            ]))
        self.assertEqual(objs[0]['type'], 'error')
        self.assertEqual(objs[1]['type'], 'error')

        objs = list(
            http.oembed([
                'http://blog.embed.ly/lsbsdlfldsf/asdf/kl',
                'http://yfrog.com/h22eu4j'
            ]))
        self.assertEqual(objs[0]['type'], 'error')
        self.assertEqual(objs[1]['type'], 'photo')

        objs = list(
            http.oembed([
                'http://yfrog.com/h22eu4j',
                'http://www.scribd.com/asdf/asdf/asdfasdf'
            ]))
        self.assertEqual(objs[0]['type'], 'photo')
        self.assertEqual(objs[1]['type'], 'error')
Ejemplo n.º 20
0
    def test_multi_errors(self):
        http = Embedly(self.key)

        objs = http.oembed([
            'http://www.youtube.com/this/is/a/bad/url',
            'http://blog.embed.ly/alsd/slsdlf/asdlfj'
        ])
        self.assert_(objs[0].type == 'error', objs[0].dict)
        self.assert_(objs[1].type == 'error', objs[1].dict)

        objs = http.oembed([
            'http://blog.embed.ly/lsbsdlfldsf/asdf/kl',
            'http://twitpic.com/nothing/to/see/here'
        ])
        self.assert_(objs[0].type == 'error', objs[0].dict)
        self.assert_(objs[1].type == 'error', objs[1].dict)

        objs = http.oembed([
            'http://blog.embed.ly/lsbsdlfldsf/asdf/kl',
            'http://yfrog.com/h22eu4j'
        ])
        self.assert_(objs[0].type == 'error', objs[0].dict)
        self.assert_(objs[1].type == 'photo', objs[1].dict)

        objs = http.oembed([
            'http://yfrog.com/h22eu4j',
            'http://www.scribd.com/asdf/asdf/asdfasdf'
        ])
        self.assert_(objs[0].type == 'photo', objs[0].dict)
        self.assert_(objs[1].type == 'error', objs[1].dict)
Ejemplo n.º 21
0
    def test_multi_errors(self):
        http = Embedly(self.key)

        objs = list(http.oembed(['http://www.embedly.com/this/is/a/bad/url',
                                 'http://blog.embed.ly/alsd/slsdlf/asdlfj']))
        self.assertTrue(objs[0].type == 'error', objs[0].dict)
        self.assertTrue(objs[1].type == 'error', objs[1].dict)

        objs = list(http.oembed(['http://blog.embed.ly/lsbsdlfldsf/asdf/kl',
                                 'http://twitpic.com/nothing/to/see/here']))
        self.assertTrue(objs[0].type == 'error',objs[0].dict)
        self.assertTrue(objs[1].type == 'error',objs[1].dict)

        objs = list(http.oembed(['http://blog.embed.ly/lsbsdlfldsf/asdf/kl',
                                 'http://yfrog.com/h22eu4j']))
        self.assertTrue(objs[0].type == 'error',objs[0].dict)
        self.assertTrue(objs[1].type == 'photo',objs[1].dict)

        objs = list(http.oembed(['http://yfrog.com/h22eu4j',
                                 'http://www.scribd.com/asdf/asdf/asdfasdf']))
        self.assertTrue(objs[0].type == 'photo',objs[0].dict)
        self.assertTrue(objs[1].type == 'error',objs[1].dict)
Ejemplo n.º 22
0
    def test_regex_url_matches(self):
        regex = [
            'http://.*youtube\\.com/watch.*', 'http://www\\.vimeo\\.com/.*'
        ]
        client = Embedly(self.key)
        client._regex = re.compile('|'.join(regex))

        self.assertTrue(
            client.is_supported('http://www.youtube.com/watch?v=Zk7dDekYej0'))
        self.assertTrue(client.is_supported('http://www.vimeo.com/18150336'))
        self.assertFalse(client.is_supported('http://vimeo.com/18150336'))
        self.assertFalse(client.is_supported('http://yfrog.com/h22eu4j'))
Ejemplo n.º 23
0
    def test_provider(self):
        http = Embedly(self.key)

        obj = http.oembed('http://www.scribd.com/doc/13994900/Easter')
        self.assert_(obj.provider_url == 'http://www.scribd.com/')

        obj = http.oembed('http://www.scribd.com/doc/28452730/Easter-Cards')
        self.assert_(obj.provider_url == 'http://www.scribd.com/')

        obj = http.oembed('http://www.youtube.com/watch?v=Zk7dDekYej0')
        self.assert_(obj.provider_url == 'http://www.youtube.com/')

        obj = http.oembed('http://yfrog.com/h22eu4j')
        self.assert_(obj.provider_url == 'http://yfrog.com')
Ejemplo n.º 24
0
    def test_regex_url_matches(self):
        regex = [
            'http://.*youtube\\.com/watch.*',
            'http://www\\.vimeo\\.com/.*']
        client = Embedly(self.key)
        client._regex = re.compile('|'.join(regex))

        self.assertTrue(
            client.is_supported('http://www.youtube.com/watch?v=Zk7dDekYej0'))
        self.assertTrue(
            client.is_supported('http://www.vimeo.com/18150336'))
        self.assertFalse(
            client.is_supported('http://vimeo.com/18150336'))
        self.assertFalse(
            client.is_supported('http://yfrog.com/h22eu4j'))
Ejemplo n.º 25
0
    def test_services_can_be_manually_configured(self):
        client = Embedly(self.key)
        client.services = ['nothing', 'like', 'real', 'response', 'data']

        self.assertTrue('nothing' in client.get_services())
        self.assertEqual(len(client.get_services()), 5)
Ejemplo n.º 26
0
    def test_regex_access_triggers_get_services(self, mock_services):
        client = Embedly(self.key)
        client.regex

        self.assertTrue(mock_services.called)
        self.assertIsNone(client._regex)
Ejemplo n.º 27
0
    def test_exception_on_too_many_urls(self):
        http = Embedly(self.key)
        urls = ['http://embed.ly'] * 21

        with self.assertRaises(ValueError):
            http.oembed(urls)
Ejemplo n.º 28
0
    def test_exception_on_too_many_urls(self):
        http = Embedly(self.key)
        urls = ['http://embed.ly'] * 21

        with self.assertRaises(ValueError):
            http.oembed(urls)
Ejemplo n.º 29
0
    def test_preview(self):
        client = Embedly(self.key)
        response = client.preview('http://vimeo.com/18150336')

        self.assertEqual(response.method, 'preview')
        self.assertEqual(response['provider_name'], 'Vimeo')
Ejemplo n.º 30
0
    def test_objectify(self):
        client = Embedly(self.key)
        response = client.objectify('http://vimeo.com/18150336')

        self.assertEqual(response.method, 'objectify')
        self.assertEqual(response['provider_name'], 'Vimeo')
Ejemplo n.º 31
0
    def test_extract(self):
        client = Embedly(self.key)
        response = client.extract('http://vimeo.com/18150336')

        self.assertEqual(response.method, 'extract')
        self.assertEqual(response['provider_name'], 'Vimeo')
Ejemplo n.º 32
0
    def test_services_can_be_manually_configured(self):
        client = Embedly(self.key)
        client.services = ['nothing', 'like', 'real', 'response', 'data']

        self.assertTrue('nothing' in client.get_services())
        self.assertEqual(len(client.get_services()), 5)
Ejemplo n.º 33
0
    def test_get_services_retrieves_data_and_builds_regex(self):
        client = Embedly(self.key)
        client.get_services()

        self.assertGreater(len(client.services), 0)
        self.assertTrue(client.regex.match('http://yfrog.com/h22eu4j'))
Ejemplo n.º 34
0
    def test_extract(self):
        client = Embedly(self.key)
        response = client.extract('http://vimeo.com/18150336')

        self.assertEqual(response.method, 'extract')
        self.assertEqual(response['provider_name'], 'Vimeo')
Ejemplo n.º 35
0
    def test_get_services_retrieves_data_and_builds_regex(self):
        client = Embedly(self.key)
        client.get_services()

        self.assertGreater(len(client.services), 0)
        self.assertTrue(client.regex.match('http://yfrog.com/h22eu4j'))
Ejemplo n.º 36
0
 def test_requires_url(self):
     with self.assertRaises(ValueError):
         Embedly(self.key)._get(1, "test", None)
Ejemplo n.º 37
0
    def test_preview(self):
        client = Embedly(self.key)
        response = client.preview('http://vimeo.com/18150336')

        self.assertEqual(response.method, 'preview')
        self.assertEqual(response['provider_name'], 'Vimeo')
Ejemplo n.º 38
0
 def test_exception_on_too_many_urls(self):
     urls = ['http://embed.ly'] * 21
     with self.assertRaises(ValueError):
         Embedly(self.key)._get(1, "test", urls)
Ejemplo n.º 39
0
 def test_requires_api_key(self):
     with self.assertRaises(ValueError):
         Embedly()._get(1, "test", "http://fake")
Ejemplo n.º 40
0
    def test_objectify(self):
        client = Embedly(self.key)
        response = client.objectify('http://vimeo.com/18150336')

        self.assertEqual(response.method, 'objectify')
        self.assertEqual(response['provider_name'], 'Vimeo')