示例#1
0
    def test_it_works(self):
        _process_message("1.2.3.4", "*****@*****.**", self.email, b"hello world")

        ping = Ping.objects.latest("id")
        self.assertEqual(ping.scheme, "email")
        self.assertEqual(ping.ua, "Email from [email protected]")
        self.assertEqual(ping.body, "hello world")
        self.assertEqual(ping.kind, None)
示例#2
0
    def test_it_handles_multiple_subject_fail_keywords(self):
        self.check.subject_fail = "FAIL, WARNING"
        self.check.save()

        body = PAYLOAD_TMPL % "[WARNING] Backup did not complete"
        _process_message("1.2.3.4", "*****@*****.**", self.email, body.encode("utf8"))

        ping = Ping.objects.latest("id")
        self.assertEqual(ping.scheme, "email")
        self.assertEqual(ping.ua, "Email from [email protected]")
        self.assertEqual(ping.kind, "fail")
示例#3
0
    def test_it_handles_multiple_subject_keywords(self):
        self.check.subject = "SUCCESS, OK"
        self.check.save()

        body = PAYLOAD_TMPL % "[OK] Backup completed"
        _process_message("1.2.3.4", "*****@*****.**", self.email, body.encode("utf8"))

        ping = Ping.objects.latest("id")
        self.assertEqual(ping.scheme, "email")
        self.assertEqual(ping.ua, "Email from [email protected]")
        self.assertEqual(ping.kind, None)
示例#4
0
    def test_it_handles_subject_fail_filter_miss(self):
        self.check.subject_fail = "FAIL"
        self.check.save()

        body = PAYLOAD_TMPL % "[SUCCESS] Backup completed"
        _process_message("1.2.3.4", "*****@*****.**", self.email, body.encode("utf8"))

        ping = Ping.objects.latest("id")
        self.assertEqual(ping.scheme, "email")
        self.assertEqual(ping.ua, "Email from [email protected]")
        self.assertEqual(ping.kind, "ign")
示例#5
0
    def test_it_handles_encoded_subject(self):
        self.check.subject = "SUCCESS"
        self.check.save()

        body = PAYLOAD_TMPL % "=?US-ASCII?B?W1NVQ0NFU1NdIEJhY2t1cCBjb21wbGV0ZWQ=?="
        _process_message("1.2.3.4", "*****@*****.**", self.email,
                         body.encode("utf8"))

        ping = Ping.objects.latest("id")
        self.assertEqual(ping.scheme, "email")
        self.assertEqual(ping.ua, "Email from [email protected]")
        self.assertEqual(ping.kind, None)
示例#6
0
    def test_it_handles_subject_fail_before_success(self):
        self.check.subject = "SUCCESS"
        self.check.subject_fail = "FAIL"
        self.check.save()

        subject = "[SUCCESS] 1 Backup completed, [FAIL] 1 Backup did not complete"
        body = PAYLOAD_TMPL % subject
        _process_message("1.2.3.4", "*****@*****.**", self.email,
                         body.encode("utf8"))

        ping = Ping.objects.latest("id")
        self.assertEqual(ping.scheme, "email")
        self.assertEqual(ping.ua, "Email from [email protected]")
        self.assertEqual(ping.kind, "fail")