def test_choose_backend_gets_higher_priority_option(self): e = Embed(url=self.url) with fudge.patched_context(Backend, '__init__', fake_backend_init): b1 = Backend.objects.create( name='b1', code_path='b1', regex='.*', priority=5) self.assertEqual(e.choose_backend(), b1) b2 = Backend.objects.create( name='b2', code_path='b2', regex='.*', priority=6) self.assertEqual(e.choose_backend(), b2)
def test_choose_backend_skips_non_matching_regex(self): e = Embed(url=self.url) with fudge.patched_context(Backend, '__init__', fake_backend_init): Backend.objects.create( name='b1', code_path='b1', regex='thiswontmatch', priority=5) self.assertEqual(e.choose_backend(), self.backend)
def test_choose_backend_returns_none_without_matching_regex(self): self.backend.regex = "thiswontmatch" self.backend.save() e = Embed(url=self.url) self.assertIsNone(e.choose_backend())
def test_choose_backend(self): e = Embed(url=self.url) b = e.choose_backend() self.assertTrue(isinstance(b, Backend)) self.assertTrue(isinstance(b._backend, self.backend_cls)) self.assertEqual(b, self.backend)
def test_choose_backend_returns_none_when_there_are_no_backends(self): Backend.objects.all().delete() e = Embed(url=self.url) self.assertIsNone(e.choose_backend())
def test_choose_backend_works_with_passed_url(self): e = Embed() self.assertEqual(e.choose_backend(self.url), self.backend)
def test_choose_backend_returns_none_when_there_is_no_url(self): e = Embed() self.assertIsNone(e.choose_backend())