Example #1
0
    def test_basic_encryption(self):
        e = Factory.rand_str()
        historical_event = HistoricalEvent.objects.create()
        historical_event.event_data = e
        historical_event.save()
        historical_event = None
        historical_event = HistoricalEvent.objects.all()[0]

        self.assertEquals(historical_event.event_data, e)

        e = "😀💌❤️"
        historical_event = HistoricalEvent.objects.create()
        historical_event.event_data = e
        historical_event.save()
        historical_event = None
        historical_event = HistoricalEvent.objects.all()[0]
        self.assertEquals(historical_event.event_data, e)

        e = Factory.rand_text()
        historical_event = HistoricalEvent.objects.create()
        historical_event.event_data = e
        historical_event.save()
        historical_event = None
        historical_event = HistoricalEvent.objects.all()[0]
        self.assertEquals(historical_event.event_data, e)

        e = Factory.rand_email()
        historical_event = HistoricalEvent.objects.create()
        historical_event.event_data = e
        historical_event.save()
        historical_event = None
        historical_event = HistoricalEvent.objects.all()[0]
        self.assertEquals(historical_event.event_data, e)
Example #2
0
    def test_basic_body_override_page_renders(self):
        t = Factory.template(body_override=Factory.rand_text(), )
        self.page = Factory.page(template=t, )
        rendered = self.page.rendered
        self.assertEquals(
            rendered, """<!doctype html >
<html itemscope itemtype="http://schema.org/CreativeWork" class="%(html_extra_classes)s" lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title>%(title)s</title>
    <meta name="description" content="%(description)s">


    <!-- Open Graph data -->
    <meta property="og:title" content="%(title)s" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="" />
    <meta property="og:image" content="" />
    <meta property="og:description" content="%(description)s" />
    <meta property="og:site_name" content="" />
    <link rel="canonical" href="" />
    <meta property="article:published_time" content="" />
    <meta property="article:modified_time" content="" />
    <meta property="article:section" content="Writing" />
    <meta property="article:tag" content="Writing" />

    <!-- Schema.org markup for Google+ -->
    <meta itemprop="name" content="%(title)s">
    <meta itemprop="description" content="%(description)s">
    <meta itemprop="author" content="">
    <meta itemprop="provider" content="">


    %(css)s


    <script>
        window.inkshop = window.inkshop || {};
        window.inkshop.site_data;
    </script>
    %(inkdots)s
</head>

<body >
    %(body_override)s
    %(js)s
</body>
</html>""" % {
                "title": self.page.title,
                "description": self.page.description,
                "css": self.page.template.css,
                "js": self.page.template.js,
                "html_extra_classes": self.page.template.html_extra_classes,
                "body_override": self.page.template.body_override,
                "inkdots": inkdots_template,
            })
Example #3
0
    def test_template_body_override_works(self):
        self.template = Factory.template(body_override=Factory.rand_text())

        t = get_template(self.template.name)
        rendered = t.render({})

        self.assertIn(self.template.body_override, rendered)
        self.assertNotIn(self.template.nav, rendered)
        # self.assertNotIn("{{ content }}", rendered)
        self.assertNotIn(self.template.footer, rendered)
Example #4
0
    def test_hard_bounce_repeated_leaves_hard_bounced(self):
        s = Factory.subscription()
        p = s.person

        self.assertEquals(p.hard_bounced, False)
        self.assertEquals(p.hard_bounced_at, None)
        self.assertEquals(p.hard_bounced_message, None)

        bounce_reason = Factory.rand_text()
        p.hard_bounce(bounce_reason)
        self.assertEquals(p.hard_bounced, True)
        self.assertNotEquals(p.hard_bounced_at, None)
        self.assertEquals(p.hard_bounce_reason, bounce_reason)
        first_ban_at = p.hard_bounced_at

        new_bounce_reason = Factory.rand_text()
        p.hard_bounce(new_bounce_reason)
        self.assertEquals(p.hard_bounced, True)
        self.assertNotEquals(p.hard_bounced_at, first_ban_at)
        self.assertEquals(p.hard_bounce_reason, new_bounce_reason)
Example #5
0
    def test_basic_encryption(self):
        e = Factory.rand_str(include_emoji=False)
        self.assertEquals(e, decrypt(encrypt(e)))

        e = "😀💌❤️"
        self.assertEquals(e, decrypt(encrypt(e)))

        e = Factory.rand_text()
        self.assertEquals(e, decrypt(encrypt(e)))

        e = Factory.rand_email()
        self.assertEquals(e, decrypt(encrypt(e)))
Example #6
0
    def test_hard_bounce_marks_hard_bounced(self):
        s = Factory.subscription()
        p = s.person

        self.assertEquals(p.hard_bounced, False)
        self.assertEquals(p.hard_bounced_at, None)
        self.assertEquals(p.hard_bounced_message, None)

        bounce_reason = Factory.rand_text()
        p.hard_bounce(bounce_reason)

        self.assertEquals(p.hard_bounced, True)
        self.assertEquals(p.hard_bounced_at, None)
        self.assertEquals(p.hard_bounce_reason, bounce_reason)
Example #7
0
    def test_hard_bounce_stores_event_in_archive(self):
        s = Factory.subscription()
        p = s.person
        m = Factory.message()
        bounce_reason = Factory.rand_text()
        p.hard_bounce(reason=bounce_reason, message=m)

        self.assertEquals(HistoricalEvent.objects.count(), 1)
        h = HistoricalEvent.objects.all()[0]
        self.assertEquals(h.event_type, "hard_bounce")
        self.assertEquals(h.event_creator_type, "person")
        self.assertEquals(h.event_creator_pk, p.pk)
        self.assertEquals(h.event_creator_data, {
            "person": p.get_data_dict(),
            "reason": bounce_reason,
            "message": m.get_data_dict(),
        })