Пример #1
0
    def run_check(self, force=False):
        if not self.should_run_check() and not force:
            return

        # Initialize the log instance
        log = CheckLog(check=self)

        status_extra = []

        # Send check
        check_result = monitoring.check_http_header(self.target, self.status_code)

        if check_result['valid']:
            status_extra.append("Received status {}.".format(check_result['status_code']))

            if check_result['status_ok']:
                if self.content_check_string.strip():
                    check_result = monitoring.check_http_content(self.target, self.content_check_string.strip())

                    if check_result['status_ok']:
                        status_extra.append("String found.")
                        log.status = 0
                    else:
                        status_extra.append("String not found.")
                        log.status = 1
                else:
                    log.status = 0
            else:
                log.status = 1
        else:
            status_extra.append(check_result['error'])
            log.status = 2

        log.status_extra = ' '.join(status_extra)
        log.save()
Пример #2
0
 def test_bad_host(self):
     res = monitoring.check_http_header('http://josetomasitotocinito.com')
     self.assertFalse(res['valid'])
Пример #3
0
 def test_code_match(self):
     res = monitoring.check_http_header('http://httpbin.org/status/404', 404)
     self.assertTrue(res['valid'])
     self.assertTrue(res['status_ok'])
     self.assertEqual(res['status_code'], 404)