Пример #1
0
def test_send_set_password_email(staff_user, site_settings):
    site = site_settings.site
    uid = urlsafe_base64_encode(force_bytes(staff_user.pk)).decode()
    token = default_token_generator.make_token(staff_user)
    logo_url = build_absolute_uri(static('images/logo-light.svg'))
    password_set_url = build_absolute_uri(
        reverse(
            'account:reset-password-confirm',
            kwargs={'token': token, 'uidb64': uid}))
    ctx = {
        'logo_url': logo_url,
        'password_set_url': password_set_url,
        'site_name': site.name}
    send_templated_mail(
        template_name='dashboard/staff/set_password',
        from_email=DEFAULT_FROM_EMAIL,
        recipient_list=[staff_user.email],
        context=ctx)
    assert len(mail.outbox) == 1
    generated_link = reverse(
        'account:reset-password-confirm',
        kwargs={
            'uidb64': uid,
            'token': token})
    absolute_generated_link = build_absolute_uri(generated_link)
    sended_message = mail.outbox[0].body
    assert absolute_generated_link in sended_message
Пример #2
0
def test_send_set_password_email(staff_user, site_settings):
    site = site_settings.site
    uid = urlsafe_base64_encode(force_bytes(staff_user.pk))
    token = default_token_generator.make_token(staff_user)
    logo_url = build_absolute_uri(static("images/logo-light.svg"))
    password_set_url = build_absolute_uri(
        reverse(
            "account:reset-password-confirm", kwargs={"token": token, "uidb64": uid}
        )
    )
    ctx = {
        "logo_url": logo_url,
        "password_set_url": password_set_url,
        "site_name": site.name,
    }
    send_templated_mail(
        template_name="dashboard/staff/set_password",
        from_email=DEFAULT_FROM_EMAIL,
        recipient_list=[staff_user.email],
        context=ctx,
    )
    assert len(mail.outbox) == 1
    generated_link = reverse(
        "account:reset-password-confirm", kwargs={"uidb64": uid, "token": token}
    )
    absolute_generated_link = build_absolute_uri(generated_link)
    sended_message = mail.outbox[0].body
    assert absolute_generated_link in sended_message
Пример #3
0
def test_build_absolute_uri(site_settings, settings):
    # Case when we are using external service for storing static files,
    # eg. Amazon s3
    url = "https://example.com/static/images/image.jpg"
    assert build_absolute_uri(location=url) == url

    # Case when static url is resolved to relative url
    logo_url = build_absolute_uri(static("images/logo-light.svg"))
    protocol = "https" if settings.ENABLE_SSL else "http"
    current_url = "%s://%s" % (protocol, site_settings.site.domain)
    logo_location = urljoin(current_url, static("images/logo-light.svg"))
    assert logo_url == logo_location
Пример #4
0
def test_sitemap(client, product):
    product_url = build_absolute_uri(product.get_absolute_url())
    category_url = build_absolute_uri(
        product.category.get_absolute_url())
    expected_urls = [product_url, category_url]

    language_codes = [lang_code for lang_code, lang_name in settings.LANGUAGES]
    expected_urls_i18n = [
        translate_url(url, language_code)
        for url in expected_urls
        for language_code in language_codes]
    response = client.get(reverse('django.contrib.sitemaps.views.sitemap'))
    sitemap_links = [url['location'] for url in response.context['urlset']]
    assert sorted(sitemap_links) == sorted(expected_urls_i18n)
Пример #5
0
def test_get_email_base_context(site_settings):
    site = site_settings.site
    logo_url = build_absolute_uri(static('images/logo-light.svg'))
    proper_context = {
        'domain': site.domain,
        'logo_url': logo_url,
        'site_name': site.name}

    received_context = get_email_base_context()
    assert proper_context == received_context
Пример #6
0
def test_get_email_base_context(site_settings):
    site = site_settings.site
    logo_url = build_absolute_uri(static("images/logo-light.svg"))
    proper_context = {
        "domain": site.domain,
        "logo_url": logo_url,
        "site_name": site.name,
    }

    received_context = get_email_base_context()
    assert proper_context == received_context
Пример #7
0
def test_get_email_context(order, site_settings):
    site = site_settings.site
    order_url = build_absolute_uri(
        reverse('order:details', kwargs={'token': order.token}))
    proper_context = {
        'protocol': 'https' if settings.ENABLE_SSL else 'http',
        'site_name': site.name,
        'domain': site.domain,
        'url': order_url}

    received_context = emails.get_email_context(order.token)
    assert proper_context == received_context
Пример #8
0
def test_send_set_password_customer_email(customer_user, site_settings):
    site = site_settings.site
    uid = urlsafe_base64_encode(force_bytes(customer_user.pk)).decode()
    token = default_token_generator.make_token(customer_user)
    logo_url = build_absolute_uri(static('images/logo-document.svg'))
    password_set_url = build_absolute_uri(
        reverse('account:reset-password-confirm',
                kwargs={
                    'token': token,
                    'uidb64': uid
                }))
    ctx = {
        'logo_url': logo_url,
        'password_set_url': password_set_url,
        'site_name': site.name
    }
    send_templated_mail(template_name='dashboard/customer/set_password',
                        from_email=DEFAULT_FROM_EMAIL,
                        recipient_list=[customer_user.email],
                        context=ctx)
    assert len(mail.outbox) == 1
    sended_message = mail.outbox[0].body
    assert password_set_url in sended_message
Пример #9
0
def get_email_base_context():
    # 内置功能:获取当前网站相关信息

    site = Site.objects.get_current()

    # static 输入相对路径,输出绝对路径

    # build_absolute_uri, 域名路径+资源路径, 并且将中文之类的unicode编码,编码为url
    logo_url = build_absolute_uri(static('images/logo-document.svg'))

    return {
        'domain': site.domain,
        'logo_url': logo_url,
        'site_name': site.name
    }
Пример #10
0
def test_send_set_password_email(staff_user, site_settings):
    site = site_settings.site
    ctx = {
        'protocol': 'http',
        'domain': site.domain,
        'site_name': site.name,
        'uid': urlsafe_base64_encode(force_bytes(staff_user.pk)).decode(),
        'token': default_token_generator.make_token(staff_user)}
    send_templated_mail(
        template_name='dashboard/staff/set_password',
        from_email=DEFAULT_FROM_EMAIL,
        recipient_list=[staff_user.email],
        context=ctx)
    assert len(mail.outbox) == 1
    generated_link = reverse(
        'account:reset-password-confirm',
        kwargs={
            'uidb64': ctx['uid'],
            'token': ctx['token']})
    absolute_generated_link = build_absolute_uri(generated_link)
    sended_message = mail.outbox[0].body
    assert absolute_generated_link in sended_message
Пример #11
0
 def get_absolute_url(self) -> str:
     url = reverse('product:digital-product',
                   kwargs={'token': str(self.token)})
     return build_absolute_uri(url)
Пример #12
0
 def get_absolute_url(self) -> str:
     url = reverse(
         'product:digital-product', kwargs={'token': str(self.token)})
     return build_absolute_uri(url)