Esempio n. 1
0
 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/'
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)