def test_expand_db_attributes_for_editor(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='http://test/thumbnail.url', width=1000, height=1000, ) result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'} ) self.assertIn( ( '<div class="embed-placeholder" contenteditable="false" data-embedtype="media"' ' data-url="http://www.youtube.com/watch/">' ), result ) self.assertIn('<h3>test title</h3>', result) self.assertIn('<p>URL: http://www.youtube.com/watch/</p>', result) self.assertIn('<p>Provider: test provider name</p>', result) self.assertIn('<p>Author: test author name</p>', result) self.assertIn('<img src="http://test/thumbnail.url" alt="test title">', result)
def test_expand_db_attributes_catches_embed_not_found(self, get_embed): get_embed.side_effect = EmbedNotFoundException result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, False) self.assertEqual(result, '')
def test_expand_db_attributes_for_editor(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='http://test/thumbnail.url', width=1000, height=1000, ) result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, True) self.assertIn(( '<div class="embed-placeholder" contenteditable="false" data-embedtype="media"' ' data-url="http://www.youtube.com/watch/">'), result) self.assertIn('<h3>test title</h3>', result) self.assertIn('<p>URL: http://www.youtube.com/watch/</p>', result) self.assertIn('<p>Provider: test provider name</p>', result) self.assertIn('<p>Author: test author name</p>', result) self.assertIn('<img src="http://test/thumbnail.url" alt="test title">', result)
def test_expand_db_attributes_for_frontend_catches_embed_not_found(self, get_embed): get_embed.side_effect = EmbedNotFoundException result = FrontendMediaEmbedHandler.expand_db_attributes( { "url": "http://www.youtube.com/watch/", } ) self.assertEqual(result, "")
def test_test_expand_db_attributes_for_editor_catches_embed_not_found(self, get_embed): get_embed.side_effect = EmbedNotFoundException result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, ) self.assertEqual(result, '')
def test_expand_db_attributes(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='htto://test/thumbnail.url', width=1000, height=1000, ) result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, False) self.assertIn('test html', result)
def test_expand_db_attributes_for_frontend_nonresponsive(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='http://test/thumbnail.url', width=1000, height=1000, ) result = FrontendMediaEmbedHandler.expand_db_attributes({ 'url': 'http://www.youtube.com/watch/', }) self.assertIn('test html', result) self.assertNotIn('class="responsive-object"', result)
def test_expand_db_attributes(self, get_embed): get_embed.return_value = Embed( url='http://www.youtube.com/watch/', max_width=None, type='video', html='test html', title='test title', author_name='test author name', provider_name='test provider name', thumbnail_url='htto://test/thumbnail.url', width=1000, height=1000, ) result = MediaEmbedHandler.expand_db_attributes( {'url': 'http://www.youtube.com/watch/'}, False ) self.assertIn('test html', result)
def test_expand_db_attributes_for_frontend_responsive(self, get_embed): get_embed.return_value = Embed( url="http://www.youtube.com/watch/", max_width=None, type="video", html="test html", title="test title", author_name="test author name", provider_name="test provider name", thumbnail_url="http://test/thumbnail.url", width=1000, height=1000, ) result = FrontendMediaEmbedHandler.expand_db_attributes({ "url": "http://www.youtube.com/watch/", }) self.assertIn("test html", result) self.assertIn('class="responsive-object"', result)
def test_get_db_attributes(self): soup = BeautifulSoup('<b data-url="test-url">foo</b>', 'html5lib') tag = soup.b result = MediaEmbedHandler.get_db_attributes(tag) self.assertEqual(result, {'url': 'test-url'})