From 2dce8bc1c13c19d4ba05305459d9d98af439acaa Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Fri, 26 Oct 2018 13:18:40 +0200 Subject: [PATCH] Make EmbedBlock tests work offline As of 42caa586b445fa154c835802e3dbdee52c8b72d7 the embed endpoint is checked on EmbedBlock.clean, so we need to mock get_embed during these tests to avoid a live HTTP request. --- wagtail/embeds/tests.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/wagtail/embeds/tests.py b/wagtail/embeds/tests.py index 04d8fe113..f396557f3 100644 --- a/wagtail/embeds/tests.py +++ b/wagtail/embeds/tests.py @@ -518,7 +518,10 @@ class TestEmbedBlock(TestCase): self.assertIsInstance(block5.get_default(), EmbedValue) self.assertEqual(block5.get_default().url, 'http://www.example.com/foo') - def test_clean_required(self): + @patch('wagtail.embeds.embeds.get_embed') + def test_clean_required(self, get_embed): + get_embed.return_value = Embed(html='

Hello world!

') + block = EmbedBlock() cleaned_value = block.clean( @@ -530,7 +533,10 @@ class TestEmbedBlock(TestCase): with self.assertRaisesMessage(ValidationError, ''): block.clean(None) - def test_clean_non_required(self): + @patch('wagtail.embeds.embeds.get_embed') + def test_clean_non_required(self, get_embed): + get_embed.return_value = Embed(html='

Hello world!

') + block = EmbedBlock(required=False) cleaned_value = block.clean( @@ -542,7 +548,10 @@ class TestEmbedBlock(TestCase): cleaned_value = block.clean(None) self.assertIsNone(cleaned_value) - def test_clean_invalid_url(self): + @patch('wagtail.embeds.embeds.get_embed') + def test_clean_invalid_url(self, get_embed): + get_embed.side_effect = EmbedNotFoundException + non_required_block = EmbedBlock(required=False) with self.assertRaises(ValidationError):