def test_settings_recipients(self): """ Ensure that the contact list consists of site manager email addresses """ Recipient.objects.all().delete() managers = (('Bubba', '*****@*****.**'),) mix = RecipientsMixin() with override_settings(MANAGERS=managers): self.assertEqual(mix.recipient_list(), ['*****@*****.**'])
def test_setting_comes_back_after_context_manager(self): """ Deleted options should return after the context manager is finished. """ self.assertEqual(settings.DUMMY_OPTION, 42) with override_settings(DUMMY_OPTION=SETTING_DELETED): self.assertRaises(AttributeError, getattr, settings, "DUMMY_OPTION") self.assertEqual(settings.DUMMY_OPTION, 42)
def test_setting_comes_back_after_context_manager(self): """ Deleted options should return after the context manager is finished. """ self.assertEqual(settings.DUMMY_OPTION, 42) with override_settings(DUMMY_OPTION=SETTING_DELETED): self.assertRaises(AttributeError, getattr, settings, 'DUMMY_OPTION') self.assertEqual(settings.DUMMY_OPTION, 42)
def test_dummy_option_exists(self): """ Deleted options should return after the context manager is finished. """ self.assertEqual(settings.DUMMY_OPTION, 42) with override_settings(DUMMY_OPTION=SETTING_DELETED): self.assertRaises(AttributeError, getattr, settings, 'DUMMY_OPTION') self.assertEqual(settings.DUMMY_OPTION, 42)
def test_set_user_id_in_context_manager(self): """ settings.USER_ID only exists in the context manager. Kind of a mirror image of TestSettingsDeleted.test_dummy_option_exists. """ self.assertRaises(AttributeError, getattr, settings, "USER_ID") with override_settings(USER_ID=1): self.assertEqual(settings.USER_ID, 1) self.assertRaises(AttributeError, getattr, settings, "USER_ID")
def test_override_settings_context_manager(self): """ Context managers overwrite method and class level decorations. """ with override_settings(FOO="xyz"): self.assertEqual(settings.FOO, "xyz")
def test_override_settings_as_context_manager(self): """ Can use override_settings as a context manager. """ with override_settings(FOO="321"): self.assertEqual(settings.FOO, "321")
def test_context_manager(self): self.assertRaises(AttributeError, getattr, settings, "FOO2") with override_settings(FOO2="abc"): self.assertEqual(settings.FOO2, "abc") self.assertRaises(AttributeError, getattr, settings, "FOO2")
def test_multiple_options(self): self.assertEqual(settings.OPTION_A, True) with override_settings(OPTION_B="abc", OPTION_A=False): self.assertEqual(settings.OPTION_A, False) self.assertEqual(settings.OPTION_B, "abc") self.assertEqual(settings.OPTION_A, True)
def test_phased(self): context = Context({'test_var': 'TEST'}) first_render = compile_string(self.test_template, None).render(context) original_context = unpickle_context(first_render) self.assertNotEqual(flatten_context(context), original_context) pickled_context = pickle_context(Context({'csrf_token': 'NOTPROVIDED'})) self.assertEqual(first_render, '%(delimiter)s{%% if 1 %%}test{%% endif %%}%(pickled_context)s%(delimiter)sTEST' % dict(delimiter=settings.PHASED_SECRET_DELIMITER, pickled_context=pickled_context)) def test_second_pass(self): request = self.factory.get('/') first_render = compile_string(self.test_template, None).render(Context({'test_var': 'TEST'})) second_render = second_pass_render(request, first_render) self.assertEqual(second_render, 'testTEST') TwoPhaseTestCase = override_settings(PHASED_KEEP_CONTEXT=False)(TwoPhaseTestCase) class FancyTwoPhaseTestCase(TwoPhaseTestCase): def test_phased(self): context = Context({'test_var': 'TEST'}) first_render = compile_string(self.test_template, None).render(context) self.assertEqual(first_render, 'fancydelimiter{%% if 1 %%}test{%% endif %%}%sfancydelimiterTEST' % pickle_context(backup_csrf_token(context))) def test_second_pass(self): request = self.factory.get('/') first_render = compile_string(self.test_template, None).render(Context({'test_var': 'TEST'})) second_render = second_pass_render(request, first_render) self.assertEqual(second_render, 'testTEST') FancyTwoPhaseTestCase = override_settings(PHASED_SECRET_DELIMITER="fancydelimiter")(FancyTwoPhaseTestCase)