def test_get_domain_override(self, settings): """ Always use CLASSYMAIL_DOMAIN if CLASSYMAIL_OVERRIDE_DOMAIN is True. """ s = Site(domain='spam', name='spam') settings.CLASSYMAIL_OVERRIDE_DOMAIN = True settings.CLASSYMAIL_DOMAIN = 'eggs' assert utils.build_absolute_url(path='/bar/') == 'http://eggs/bar/' assert utils.build_absolute_url(path='/bar/', site=s) \ == 'http://eggs/bar/'
def test_generate_url_with_custom_function(self, m, settings): assert isinstance(m, mock.Mock) settings.CLASSYMAIL_URL_FUNCTION = 'tests.custom_url_function' m.return_value = '/test/' assert utils.build_absolute_url(foo='bar') == '/test/' m.assert_called_once_with( site=None, object=None, path=None, secure=False, builder=None, foo='bar', context=None)
def test_generate_url_with_default_generator(self, m, settings): assert isinstance(m, mock.Mock) if hasattr(settings, 'CLASSYMAIL_URL_FUNCTION'): del settings.CLASSYMAIL_URL_FUNCTION m.return_value = '/test/' assert utils.build_absolute_url(foo='bar') == '/test/' m.assert_called_once_with( site=None, object=None, path=None, secure=False, builder=None, foo='bar', context=None)
def build_absolute_url(context, object=None, path=None, **kwargs): """ Builds absolute urls in e-mail templates. """ if not (object or path): raise TypeError("One of 'object', 'path' arguments is required") kw = dict({ 'builder': context.get('builder'), 'request': context.get('request'), 'site': context.get('site'), 'context': context, 'object': object, 'path': path, }, **kwargs) return utils.build_absolute_url(**kw)